From 3b38d171a887fd7eebce95cb51252b27fff99351 Mon Sep 17 00:00:00 2001 From: Jonas Hungershausen Date: Fri, 30 Aug 2024 10:10:54 +0200 Subject: [PATCH 1/7] chore: update test setup --- .../Recovery-Page-recovery-success-1.png | Bin 0 -> 32291 bytes .../Recovery-Page-recovery-success-2.png | Bin 0 -> 57276 bytes ...rification-Page-verification-success-1.png | Bin 0 -> 31753 bytes ...rification-Page-verification-success-2.png | Bin 0 -> 37597 bytes examples/nextjs-spa/global-setup.ts | 2 +- examples/nextjs-spa/package.json | 19 +- examples/nextjs-spa/playwright.config.ts | 11 +- examples/nextjs-spa/tsconfig.json | 4 +- .../Recovery-Page-recovery-success-1.png | Bin 0 -> 17072 bytes .../Recovery-Page-recovery-success-2.png | Bin 0 -> 43454 bytes ...rification-Page-verification-success-1.png | Bin 0 -> 16653 bytes ...rification-Page-verification-success-2.png | Bin 0 -> 22669 bytes examples/preact-spa/package.json | 5 +- examples/preact-spa/playwright.config.ts | 11 +- examples/preact-spa/project.json | 17 + ...age-recovery-success-1-chromium-darwin.png | Bin 0 -> 17020 bytes ...Page-recovery-success-1-firefox-darwin.png | Bin 0 -> 33113 bytes ...-Page-recovery-success-1-webkit-darwin.png | Bin 0 -> 29483 bytes ...age-recovery-success-2-chromium-darwin.png | Bin 0 -> 43487 bytes ...Page-recovery-success-2-firefox-darwin.png | Bin 0 -> 57054 bytes ...-Page-recovery-success-2-webkit-darwin.png | Bin 0 -> 50918 bytes ...verification-success-1-chromium-darwin.png | Bin 0 -> 16576 bytes ...-verification-success-1-firefox-darwin.png | Bin 0 -> 32733 bytes ...e-verification-success-1-webkit-darwin.png | Bin 0 -> 29310 bytes ...verification-success-2-chromium-darwin.png | Bin 0 -> 22553 bytes ...-verification-success-2-firefox-darwin.png | Bin 0 -> 38998 bytes ...e-verification-success-2-webkit-darwin.png | Bin 0 -> 35288 bytes examples/react-spa/package.json | 4 +- package-lock.json | 22118 +++++++++------- package.json | 18 +- packages/test/package.json | 6 +- packages/test/src/error-messages.ts | 604 + packages/test/src/fixtures/index.ts | 18 + packages/test/src/fixtures/login.ts | 1066 + packages/test/src/fixtures/recovery.ts | 185 + packages/test/src/fixtures/registration.ts | 760 + packages/test/src/fixtures/settings.ts | 317 + packages/test/src/fixtures/verification.ts | 214 + packages/test/src/index.ts | 11 + packages/test/src/mock/index.ts | 8 + packages/test/src/mock/login.ts | 109 + packages/test/src/mock/recovery.ts | 101 + packages/test/src/mock/registration.ts | 111 + packages/test/src/mock/utils.ts | 15 + packages/test/src/mock/verification.ts | 111 + packages/test/src/models/AuthPage.ts | 193 + packages/test/src/models/ConsentPage.ts | 37 + packages/test/src/models/LoginPage.ts | 113 + packages/test/src/models/RecoveryPage.ts | 145 + packages/test/src/models/RegistrationPage.ts | 100 + packages/test/src/models/SettingsPage.ts | 27 + packages/test/src/models/VerificationPage.ts | 136 + packages/test/src/models/index.ts | 11 + packages/test/src/playwright-fixture.ts | 38 + packages/test/src/traits/defaults.ts | 27 + packages/test/src/traits/index.ts | 8 + packages/test/src/traits/login.ts | 32 + packages/test/src/traits/recovery.ts | 51 + packages/test/src/traits/registration.ts | 40 + packages/test/src/traits/verification.ts | 55 + packages/test/src/types.ts | 74 + packages/test/src/utils.ts | 106 + packages/test/tsconfig.json | 2 +- packages/test/tsup.config.ts | 16 + packages/test/vite.config.ts | 8 +- 65 files changed, 16965 insertions(+), 10099 deletions(-) create mode 100644 examples/nextjs-spa/e2e/__screenshots__/recovery.spec.ts/Recovery-Page-recovery-success-1.png create mode 100644 examples/nextjs-spa/e2e/__screenshots__/recovery.spec.ts/Recovery-Page-recovery-success-2.png create mode 100644 examples/nextjs-spa/e2e/__screenshots__/verification.spec.ts/Verification-Page-verification-success-1.png create mode 100644 examples/nextjs-spa/e2e/__screenshots__/verification.spec.ts/Verification-Page-verification-success-2.png create mode 100644 examples/preact-spa/e2e/__screenshots__/recovery.spec.ts/Recovery-Page-recovery-success-1.png create mode 100644 examples/preact-spa/e2e/__screenshots__/recovery.spec.ts/Recovery-Page-recovery-success-2.png create mode 100644 examples/preact-spa/e2e/__screenshots__/verification.spec.ts/Verification-Page-verification-success-1.png create mode 100644 examples/preact-spa/e2e/__screenshots__/verification.spec.ts/Verification-Page-verification-success-2.png create mode 100644 examples/preact-spa/project.json create mode 100644 examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-1-chromium-darwin.png create mode 100644 examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-1-firefox-darwin.png create mode 100644 examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-1-webkit-darwin.png create mode 100644 examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-2-chromium-darwin.png create mode 100644 examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-2-firefox-darwin.png create mode 100644 examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-2-webkit-darwin.png create mode 100644 examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-1-chromium-darwin.png create mode 100644 examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-1-firefox-darwin.png create mode 100644 examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-1-webkit-darwin.png create mode 100644 examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-2-chromium-darwin.png create mode 100644 examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-2-firefox-darwin.png create mode 100644 examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-2-webkit-darwin.png create mode 100644 packages/test/src/error-messages.ts create mode 100644 packages/test/src/fixtures/index.ts create mode 100644 packages/test/src/fixtures/login.ts create mode 100644 packages/test/src/fixtures/recovery.ts create mode 100644 packages/test/src/fixtures/registration.ts create mode 100644 packages/test/src/fixtures/settings.ts create mode 100644 packages/test/src/fixtures/verification.ts create mode 100644 packages/test/src/index.ts create mode 100644 packages/test/src/mock/index.ts create mode 100644 packages/test/src/mock/login.ts create mode 100644 packages/test/src/mock/recovery.ts create mode 100644 packages/test/src/mock/registration.ts create mode 100644 packages/test/src/mock/utils.ts create mode 100644 packages/test/src/mock/verification.ts create mode 100644 packages/test/src/models/AuthPage.ts create mode 100644 packages/test/src/models/ConsentPage.ts create mode 100644 packages/test/src/models/LoginPage.ts create mode 100644 packages/test/src/models/RecoveryPage.ts create mode 100644 packages/test/src/models/RegistrationPage.ts create mode 100644 packages/test/src/models/SettingsPage.ts create mode 100644 packages/test/src/models/VerificationPage.ts create mode 100644 packages/test/src/models/index.ts create mode 100644 packages/test/src/playwright-fixture.ts create mode 100644 packages/test/src/traits/defaults.ts create mode 100644 packages/test/src/traits/index.ts create mode 100644 packages/test/src/traits/login.ts create mode 100644 packages/test/src/traits/recovery.ts create mode 100644 packages/test/src/traits/registration.ts create mode 100644 packages/test/src/traits/verification.ts create mode 100644 packages/test/src/types.ts create mode 100644 packages/test/src/utils.ts create mode 100644 packages/test/tsup.config.ts diff --git a/examples/nextjs-spa/e2e/__screenshots__/recovery.spec.ts/Recovery-Page-recovery-success-1.png b/examples/nextjs-spa/e2e/__screenshots__/recovery.spec.ts/Recovery-Page-recovery-success-1.png new file mode 100644 index 0000000000000000000000000000000000000000..baaff9634d8e3f191146671c972f0577522192e4 GIT binary patch literal 32291 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 Te8|ZnQz6aN;=BCq2gCjg6-%O| literal 0 HcmV?d00001 diff --git a/examples/nextjs-spa/e2e/__screenshots__/verification.spec.ts/Verification-Page-verification-success-2.png b/examples/nextjs-spa/e2e/__screenshots__/verification.spec.ts/Verification-Page-verification-success-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c27c7de7713bf755c01c4dfd58ef4befd6c8e239 GIT binary patch literal 37597 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

%B zdm#7G+Mi~dxL$6Y)^F3EfaII7Yey8ih^4zDkyCr>V%(#&w6xlLda9UF+U^A~+hDJp0zPL-=%cc- zvKlx-O-jr6YSW03eZp5dod}fNv5j6g->%~onjcu|V}~UI=OOp?>l;3i)r}34-@l(R zG;G!q*)u+IA)-YOzwL6b^ccJI}dZ0LTvn7HsL09IQ66t5?B$m4rk z@JU7&Co`5v zX~l%%M@2UteXnAZdu3X@7>JRxn8R<3A}C z@xP>C9I8zY5KRj&@PmFuy~5?wUBR><6ZQjm1@->Fqt-ZBE1*_c-+}PheFsE&2Z#pn zGD;nnZHlY3nVxh+F*G60>Q;e$FNZ`T6-9}mQnE-SWeSB7s{4zBv=X@AjC)|lA&BB~ z4x=36;1}_T`t6VhieSBIdZ@JN9}yn!n=&j{?Ru3BIU|Sa&!0ZUa=F|(xpgS_c=+WQ zP}m`3w+e&hcPr{5305I|M;0uXqNr6{?;_6{ zuv1zZT*D67z+EXlU2nxA6d?U#myh; z*`|%)eVfAPi$LQ-PQv7Hx}pTiy*xQN83=%J0CmlR?|=OG@qVH~sO~{j*&ezp8m!_q zFRyd(dQ=#yXv2?|7S=SFLPh{_3jiegrK>B~Muo@ugxdECHjn7&=+g4?+`2kF?dgik zuC52$SKG-WozO?h%frD!ZikLU-c(u&xquuSmE4@1z0kClk9heKR)yM|GVX1VP1sTmZFDS^#aOv!<<6lP8t6}KH+ft FzW}=5 { process.env.APPLICATION_URL = - process.env.APPLICATION_URL || "http://localhost:3100" + process.env.APPLICATION_URL || "http://localhost:3300" process.env.ORY_PROJECT_URL = process.env.ORY_PROJECT_URL || "http://localhost:4000" diff --git a/examples/nextjs-spa/package.json b/examples/nextjs-spa/package.json index f88457280..df5daf286 100644 --- a/examples/nextjs-spa/package.json +++ b/examples/nextjs-spa/package.json @@ -7,25 +7,24 @@ "build": "next build", "start": "next start", "lint": "next lint", + "test": "playwright test", "debug": "playwright test --ui" }, "dependencies": { "@next/font": "13.4.13", - "@types/node": "18.16.19", - "@types/react": "18.3.3", - "@types/react-dom": "18.3.0", - "eslint": "8.32.0", - "eslint-config-next": "13.1.5", "next": "14.2.5", "react": "18.3.1", - "react-dom": "18.3.1", - "typescript": "5.2.2", - "vite": "4.5.2" + "react-dom": "18.3.1" }, "devDependencies": { "@ory/elements": "*", "@ory/elements-test": "*", - "@playwright/test": "1.38.0", - "autoprefixer": "10.4.2" + "autoprefixer": "10.4.2", + "@types/node": "18.16.19", + "@types/react": "18.3.3", + "@types/react-dom": "18.3.0", + "eslint-config-next": "13.1.5", + "typescript": "5.2.2", + "vite": "4.5.2" } } diff --git a/examples/nextjs-spa/playwright.config.ts b/examples/nextjs-spa/playwright.config.ts index 346903b32..8f62b2723 100644 --- a/examples/nextjs-spa/playwright.config.ts +++ b/examples/nextjs-spa/playwright.config.ts @@ -17,6 +17,7 @@ export default defineConfig({ testDir: path.join(__dirname, "e2e"), /* Maximum time one test can run for. */ timeout: 30 * 1000, + snapshotPathTemplate: "{testDir}/__screenshots__/{testFilePath}/{arg}{ext}", expect: { /** * Maximum time expect() should wait for the condition to be met. @@ -36,7 +37,9 @@ export default defineConfig({ /* Opt out of parallel tests on CI. */ workers: process.env.CI ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: process.env.CI ? [["github"], ["html"], ["list"]] : "html", + reporter: process.env.CI + ? [["github"], ["html", { open: "never" }], ["list"]] + : "html", /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { @@ -52,16 +55,16 @@ export default defineConfig({ /* Configure projects for major browsers */ projects: [ { - name: "chromium", + name: "nextjs-spa-chromium", use: { ...devices["Desktop Chrome"] }, }, { - name: "firefox", + name: "nextjs-spa-firefox", use: { ...devices["Desktop Firefox"] }, }, { - name: "webkit", + name: "nextjs-spa-webkit", use: { ...devices["Desktop Safari"] }, }, ], diff --git a/examples/nextjs-spa/tsconfig.json b/examples/nextjs-spa/tsconfig.json index 6cc76c684..9d81385ed 100644 --- a/examples/nextjs-spa/tsconfig.json +++ b/examples/nextjs-spa/tsconfig.json @@ -9,8 +9,8 @@ "forceConsistentCasingInFileNames": true, "noEmit": true, "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", + "module": "NodeNext", + "moduleResolution": "NodeNext", "resolveJsonModule": true, "isolatedModules": true, "jsx": "preserve", diff --git a/examples/preact-spa/e2e/__screenshots__/recovery.spec.ts/Recovery-Page-recovery-success-1.png b/examples/preact-spa/e2e/__screenshots__/recovery.spec.ts/Recovery-Page-recovery-success-1.png new file mode 100644 index 0000000000000000000000000000000000000000..aaa0f0c9307ba740375525b0e5ee1d4849c67ffb GIT binary patch literal 17072 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 literal 0 HcmV?d00001 diff --git a/examples/preact-spa/e2e/__screenshots__/verification.spec.ts/Verification-Page-verification-success-1.png b/examples/preact-spa/e2e/__screenshots__/verification.spec.ts/Verification-Page-verification-success-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1c29686547a8971b30d3f6db552546f9544c2b1f GIT binary patch literal 16653 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 literal 0 HcmV?d00001 diff --git a/examples/preact-spa/e2e/__screenshots__/verification.spec.ts/Verification-Page-verification-success-2.png b/examples/preact-spa/e2e/__screenshots__/verification.spec.ts/Verification-Page-verification-success-2.png new file mode 100644 index 0000000000000000000000000000000000000000..6ad118f567db1638e9cb872268a103c8866d3141 GIT binary patch literal 22669 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 FKLGdO@xA~6 literal 0 HcmV?d00001 diff --git a/examples/preact-spa/package.json b/examples/preact-spa/package.json index f53f5469b..af908c971 100644 --- a/examples/preact-spa/package.json +++ b/examples/preact-spa/package.json @@ -5,9 +5,7 @@ "type": "module", "scripts": { "dev": "vite", - "build": "tsc && vite build", "preview": "vite preview", - "test": "playwright test", "debug": "playwright test --ui" }, "dependencies": { @@ -17,9 +15,8 @@ "devDependencies": { "@ory/elements-preact": "*", "@ory/elements-test": "*", - "@playwright/test": "1.38.0", + "@playwright/test": "1.46.0", "@preact/preset-vite": "2.5.0", - "eslint": "8.32.0", "eslint-config-preact": "1.3.0", "typescript": "5.2.2", "vite": "4.5.2" diff --git a/examples/preact-spa/playwright.config.ts b/examples/preact-spa/playwright.config.ts index d3f0e5de6..3e1a3510e 100644 --- a/examples/preact-spa/playwright.config.ts +++ b/examples/preact-spa/playwright.config.ts @@ -16,6 +16,7 @@ export default defineConfig({ testDir: "./e2e", /* Maximum time one test can run for. */ timeout: 30 * 1000, + snapshotPathTemplate: "{testDir}/__screenshots__/{testFilePath}/{arg}{ext}", expect: { /** * Maximum time expect() should wait for the condition to be met. @@ -35,7 +36,9 @@ export default defineConfig({ /* Opt out of parallel tests on CI. */ workers: process.env.CI ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: process.env.CI ? [["github"], ["html"], ["list"]] : "html", + reporter: process.env.CI + ? [["github"], ["html", { open: "never" }], ["list"]] + : "html", /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { @@ -51,15 +54,15 @@ export default defineConfig({ /* Configure projects for major browsers */ projects: [ { - name: "chromium", + name: "preact-spa-chromium", use: { ...devices["Desktop Chrome"] }, }, { - name: "firefox", + name: "preact-spa-firefox", use: { ...devices["Desktop Firefox"] }, }, { - name: "webkit", + name: "preact-spa-webkit", use: { ...devices["Desktop Safari"] }, }, ], diff --git a/examples/preact-spa/project.json b/examples/preact-spa/project.json new file mode 100644 index 000000000..6dc913969 --- /dev/null +++ b/examples/preact-spa/project.json @@ -0,0 +1,17 @@ +{ + "targets": { + "test": { + "command": "playwright test", + "dependsOn": ["build"], + "options": { + "cwd": "examples/preact-spa" + } + }, + "build": { + "command": "tsc && vite build", + "options": { + "cwd": "examples/preact-spa" + } + } + } +} diff --git a/examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-1-chromium-darwin.png b/examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-1-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..3e93a0107001dd2b49b8e48085e8c1efcdcfacb1 GIT binary patch literal 17020 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 Fe*jJa9~bBUwXH`Pg>B(J7JEFn)G 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 literal 0 HcmV?d00001 diff --git a/examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-1-webkit-darwin.png b/examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-1-webkit-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..ab92a2e6f5e5aacce739a913438bbd9a2ae0da8f GIT binary patch literal 29483 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 literal 0 HcmV?d00001 diff --git a/examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-2-firefox-darwin.png b/examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-2-firefox-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..4e171d76cb1a4fe258c88e5a0fe5ac631864452d GIT binary patch literal 57054 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 XkGn}*-sq$t@Hu+O!KU~C<(q#3#s0mC literal 0 HcmV?d00001 diff --git a/examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-2-webkit-darwin.png b/examples/react-spa/e2e/recovery.spec.ts-snapshots/Recovery-Page-recovery-success-2-webkit-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..379bcfb56b6e564cadeccb2abbee27c0e5e0e090 GIT binary patch literal 50918 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 literal 0 HcmV?d00001 diff --git a/examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-1-webkit-darwin.png b/examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-1-webkit-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..781b96d2409d869b39a278d2f3e72a6a5718ee26 GIT binary patch literal 29310 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 Sc_#$?yL?IIV%m9whyM$w7E09s literal 0 HcmV?d00001 diff --git a/examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-2-chromium-darwin.png b/examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-2-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..c1cfe3c52e252db3f6404d2ba2a2326b39fee886 GIT binary patch literal 22553 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 YeAw}@h^ge-w4K2jlV9?GcK-YS15#dThX4Qo literal 0 HcmV?d00001 diff --git a/examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-2-firefox-darwin.png b/examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-2-firefox-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..7c37dada28551eca3dfd9ab4aeccf8f9f09d760e GIT binary patch literal 38998 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 HFNFUW`@<6F literal 0 HcmV?d00001 diff --git a/examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-2-webkit-darwin.png b/examples/react-spa/e2e/verification.spec.ts-snapshots/Verification-Page-verification-success-2-webkit-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..adb2645c110343b032d6518c4b6ba22ba65e687b GIT binary patch literal 35288 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 p?$vxS@WH?b!=20", @@ -89,38 +90,20 @@ "version": "0.0.0", "dependencies": { "@next/font": "13.4.13", - "@types/node": "18.16.19", - "@types/react": "18.3.3", - "@types/react-dom": "18.3.0", - "eslint": "8.32.0", - "eslint-config-next": "13.1.5", "next": "14.2.5", "react": "18.3.1", - "react-dom": "18.3.1", - "typescript": "5.2.2", - "vite": "4.5.2" + "react-dom": "18.3.1" }, "devDependencies": { "@ory/elements": "*", "@ory/elements-test": "*", - "@playwright/test": "1.38.0", - "autoprefixer": "10.4.2" - } - }, - "examples/nextjs-spa/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "@types/node": "18.16.19", + "@types/react": "18.3.3", + "@types/react-dom": "18.3.0", + "autoprefixer": "10.4.2", + "eslint-config-next": "13.1.5", + "typescript": "5.2.2", + "vite": "4.5.2" } }, "examples/nextjs-spa/node_modules/autoprefixer": { @@ -150,61 +133,6 @@ "postcss": "^8.1.0" } }, - "examples/nextjs-spa/node_modules/eslint": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz", - "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==", - "dependencies": { - "@eslint/eslintrc": "^1.4.1", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "examples/preact-spa": { "version": "0.0.0", "dependencies": { @@ -214,87 +142,13 @@ "devDependencies": { "@ory/elements-preact": "*", "@ory/elements-test": "*", - "@playwright/test": "1.38.0", + "@playwright/test": "1.46.0", "@preact/preset-vite": "2.5.0", - "eslint": "8.32.0", "eslint-config-preact": "1.3.0", "typescript": "5.2.2", "vite": "4.5.2" } }, - "examples/preact-spa/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "examples/preact-spa/node_modules/eslint": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz", - "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.4.1", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "examples/react-spa": { "version": "0.0.0", "dependencies": { @@ -305,17 +159,15 @@ "devDependencies": { "@ory/elements": "*", "@ory/elements-test": "*", - "@playwright/test": "1.38.0", "@types/react": "18.3.3", "@types/react-dom": "18.3.0", "@typescript-eslint/eslint-plugin": "5.49.0", "@vitejs/plugin-react": "4.0.3", - "eslint": "8.33.0", "eslint-config-standard-with-typescript": "33.0.0", "eslint-plugin-import": "2.27.5", "eslint-plugin-n": "15.6.1", "eslint-plugin-promise": "6.1.1", - "eslint-plugin-react": "7.32.2", + "eslint-plugin-react": "7.35.0", "typescript": "5.2.2", "vite": "4.5.2" } @@ -410,79 +262,6 @@ "vite": "^4.2.0" } }, - "examples/react-spa/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "examples/react-spa/node_modules/eslint": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", - "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.4.1", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "examples/react-spa/node_modules/eslint-plugin-import": { "version": "2.27.5", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", @@ -571,6 +350,7 @@ "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -2343,11 +2123,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.22.5", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz", + "integrity": "sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -2357,11 +2139,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.22.5", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz", + "integrity": "sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -2871,6 +2655,7 @@ }, "node_modules/@babel/runtime": { "version": "7.22.6", + "dev": true, "license": "MIT", "dependencies": { "regenerator-runtime": "^0.13.11" @@ -3034,6 +2819,23 @@ "react": ">=16.8.0" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/android-arm": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", @@ -3041,6 +2843,7 @@ "cpu": [ "arm" ], + "dev": true, "optional": true, "os": [ "android" @@ -3056,6 +2859,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "android" @@ -3071,6 +2875,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "android" @@ -3086,6 +2891,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "darwin" @@ -3101,6 +2907,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "darwin" @@ -3116,6 +2923,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "freebsd" @@ -3131,6 +2939,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "freebsd" @@ -3146,6 +2955,7 @@ "cpu": [ "arm" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3161,6 +2971,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3176,6 +2987,7 @@ "cpu": [ "ia32" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3191,6 +3003,7 @@ "cpu": [ "loong64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3206,6 +3019,7 @@ "cpu": [ "mips64el" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3221,6 +3035,7 @@ "cpu": [ "ppc64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3236,6 +3051,7 @@ "cpu": [ "riscv64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3251,6 +3067,7 @@ "cpu": [ "s390x" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3281,6 +3098,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "netbsd" @@ -3289,6 +3107,23 @@ "node": ">=12" } }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", + "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/openbsd-x64": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", @@ -3296,6 +3131,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "openbsd" @@ -3311,6 +3147,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "sunos" @@ -3326,6 +3163,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "win32" @@ -3341,6 +3179,7 @@ "cpu": [ "ia32" ], + "dev": true, "optional": true, "os": [ "win32" @@ -3356,6 +3195,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "win32" @@ -3389,48 +3229,11 @@ "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "1.4.1", - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@eslint/js": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", - "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", - "dev": true, + "node_modules/@eslint/js": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", + "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -3781,6 +3584,7 @@ "version": "0.11.11", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -3792,6 +3596,7 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", + "dev": true, "license": "Apache-2.0", "engines": { "node": ">=12.22" @@ -3803,6 +3608,7 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", + "dev": true, "license": "BSD-3-Clause" }, "node_modules/@isaacs/cliui": { @@ -4733,6 +4539,7 @@ }, "node_modules/@next/eslint-plugin-next": { "version": "13.1.5", + "dev": true, "license": "MIT", "dependencies": { "glob": "7.1.7" @@ -4740,6 +4547,7 @@ }, "node_modules/@next/eslint-plugin-next/node_modules/glob": { "version": "7.1.7", + "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -4934,6 +4742,7 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -4945,6 +4754,7 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -4952,6 +4762,7 @@ }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -5471,6 +5282,32 @@ "semver": "bin/semver.js" } }, + "node_modules/@nx/js/node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@nx/js/node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/@nx/js/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -5604,6 +5441,50 @@ "node": ">=4" } }, + "node_modules/@nx/js/node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, "node_modules/@nx/js/node_modules/tsconfig-paths": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", @@ -5874,6 +5755,7 @@ }, "node_modules/@pkgr/utils": { "version": "2.3.1", + "dev": true, "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", @@ -5891,131 +5773,747 @@ } }, "node_modules/@playwright/experimental-ct-core": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/@playwright/experimental-ct-core/-/experimental-ct-core-1.38.0.tgz", - "integrity": "sha512-jspVRe+D9/gM8aZ6g5TVybSKnYi9OfvUtq67WHo22OfxENXBdDe0hHHlLRQNSdmuKcE5goG8WNVZvOWjolTb/Q==", + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/@playwright/experimental-ct-core/-/experimental-ct-core-1.46.0.tgz", + "integrity": "sha512-4bHw+P0ub0A/B6tbiqLQFwvaR+wsH5fE2yt1rxWg/dtE8uGhqEeAav9TX7j4PmILM86R3Le21h94wdDIHyeJBA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "playwright": "1.38.0", - "playwright-core": "1.38.0", - "vite": "^4.3.9" - }, - "bin": { - "playwright": "cli.js" + "playwright": "1.46.0", + "playwright-core": "1.46.0", + "vite": "^5.2.8" }, "engines": { - "node": ">=16" + "node": ">=18" } }, - "node_modules/@playwright/experimental-ct-core/node_modules/playwright-core": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.38.0.tgz", - "integrity": "sha512-f8z1y8J9zvmHoEhKgspmCvOExF2XdcxMW8jNRuX4vkQFrzV4MlZ55iwb5QeyiFQgOFCUolXiRHgpjSEnqvO48g==", + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], "dev": true, - "bin": { - "playwright-core": "cli.js" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=16" + "node": ">=12" } }, - "node_modules/@playwright/experimental-ct-react": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/@playwright/experimental-ct-react/-/experimental-ct-react-1.38.0.tgz", - "integrity": "sha512-RRQi99dNWDlkdSIUJpva5T0f+Nq6JSb0fR6MatvJDJkgiARaytk57SgquTmFHglyNu4p/Qj4lRxCCIEy0uZDGA==", + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@playwright/experimental-ct-core": "1.38.0", - "@vitejs/plugin-react": "^4.0.0" - }, - "bin": { - "playwright": "cli.js" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=16" + "node": ">=12" } }, - "node_modules/@playwright/test": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.38.0.tgz", - "integrity": "sha512-xis/RXXsLxwThKnlIXouxmIvvT3zvQj1JE39GsNieMUrMpb3/GySHDh2j8itCG22qKVD4MYLBp7xB73cUW/UUw==", + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "playwright": "1.38.0" - }, - "bin": { - "playwright": "cli.js" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=16" + "node": ">=12" } }, - "node_modules/@preact/preset-vite": { - "version": "2.5.0", + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.14.9", - "@babel/plugin-transform-react-jsx-development": "^7.16.7", - "@prefresh/vite": "^2.2.8", - "@rollup/pluginutils": "^4.1.1", - "babel-plugin-transform-hook-names": "^1.0.2", - "debug": "^4.3.1", - "kolorist": "^1.2.10", - "resolve": "^1.20.0" - }, - "peerDependencies": { - "@babel/core": "7.x", - "vite": "2.x || 3.x || 4.x" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@prefresh/babel-plugin": { - "version": "0.4.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@prefresh/core": { - "version": "1.4.1", + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "peerDependencies": { - "preact": "^10.0.0" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@prefresh/utils": { - "version": "1.1.3", + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/@prefresh/vite": { - "version": "2.2.9", + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/core": "^7.9.6", - "@prefresh/babel-plugin": "0.4.4", - "@prefresh/core": "^1.3.3", - "@prefresh/utils": "^1.1.2", - "@rollup/pluginutils": "^4.1.0" - }, - "peerDependencies": { - "preact": "^10.4.0", - "vite": ">=2.0.0-beta.3" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@radix-ui/number": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", - "integrity": "sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==", + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@radix-ui/primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", - "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@playwright/experimental-ct-core/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/postcss": { + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/rollup": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.2.tgz", + "integrity": "sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.21.2", + "@rollup/rollup-android-arm64": "4.21.2", + "@rollup/rollup-darwin-arm64": "4.21.2", + "@rollup/rollup-darwin-x64": "4.21.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.2", + "@rollup/rollup-linux-arm-musleabihf": "4.21.2", + "@rollup/rollup-linux-arm64-gnu": "4.21.2", + "@rollup/rollup-linux-arm64-musl": "4.21.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.2", + "@rollup/rollup-linux-riscv64-gnu": "4.21.2", + "@rollup/rollup-linux-s390x-gnu": "4.21.2", + "@rollup/rollup-linux-x64-gnu": "4.21.2", + "@rollup/rollup-linux-x64-musl": "4.21.2", + "@rollup/rollup-win32-arm64-msvc": "4.21.2", + "@rollup/rollup-win32-ia32-msvc": "4.21.2", + "@rollup/rollup-win32-x64-msvc": "4.21.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/vite": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.2.tgz", + "integrity": "sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.41", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/@playwright/experimental-ct-react": { + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/@playwright/experimental-ct-react/-/experimental-ct-react-1.46.0.tgz", + "integrity": "sha512-BSEfTBes2ljEQZxmtPpEQi8ZJns+B9F5h226Fk4/DdJbvueriEcJa4uls6KRIScSX8gd27Vg3P9T/buxW2BvjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@playwright/experimental-ct-core": "1.46.0", + "@vitejs/plugin-react": "^4.2.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@playwright/experimental-ct-react/node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@playwright/experimental-ct-react/node_modules/@vitejs/plugin-react": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz", + "integrity": "sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.5", + "@babel/plugin-transform-react-jsx-self": "^7.24.5", + "@babel/plugin-transform-react-jsx-source": "^7.24.1", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/@playwright/experimental-ct-react/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@playwright/experimental-ct-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@playwright/test": { + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.46.0.tgz", + "integrity": "sha512-/QYft5VArOrGRP5pgkrfKksqsKA6CEFyGQ/gjNe6q0y4tZ1aaPfq4gIjudr1s3D+pXyrPRdsy4opKDrjBabE5w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.46.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@preact/preset-vite": { + "version": "2.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.14.9", + "@babel/plugin-transform-react-jsx-development": "^7.16.7", + "@prefresh/vite": "^2.2.8", + "@rollup/pluginutils": "^4.1.1", + "babel-plugin-transform-hook-names": "^1.0.2", + "debug": "^4.3.1", + "kolorist": "^1.2.10", + "resolve": "^1.20.0" + }, + "peerDependencies": { + "@babel/core": "7.x", + "vite": "2.x || 3.x || 4.x" + } + }, + "node_modules/@prefresh/babel-plugin": { + "version": "0.4.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@prefresh/core": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "peerDependencies": { + "preact": "^10.0.0" + } + }, + "node_modules/@prefresh/utils": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@prefresh/vite": { + "version": "2.2.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.9.6", + "@prefresh/babel-plugin": "0.4.4", + "@prefresh/core": "^1.3.3", + "@prefresh/utils": "^1.1.2", + "@rollup/pluginutils": "^4.1.0" + }, + "peerDependencies": { + "preact": "^10.4.0", + "vite": ">=2.0.0-beta.3" + } + }, + "node_modules/@radix-ui/number": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", + "integrity": "sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", "dev": true, "dependencies": { "@babel/runtime": "^7.13.10" @@ -6685,8 +7183,233 @@ "node": ">= 8.0.0" } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz", + "integrity": "sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz", + "integrity": "sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz", + "integrity": "sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz", + "integrity": "sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz", + "integrity": "sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz", + "integrity": "sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz", + "integrity": "sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz", + "integrity": "sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz", + "integrity": "sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz", + "integrity": "sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz", + "integrity": "sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz", + "integrity": "sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz", + "integrity": "sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz", + "integrity": "sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz", + "integrity": "sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz", + "integrity": "sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@rushstack/eslint-patch": { "version": "1.2.0", + "dev": true, "license": "MIT" }, "node_modules/@rushstack/node-core-library": { @@ -6893,19 +7616,321 @@ "type-detect": "4.0.8" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@storybook/addon-actions": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.4.0.tgz", + "integrity": "sha512-0lHLLUlrGE7CBFrfmAXrBKu7fUIsiQlnNekuE3cIAjSgVR481bJEzYHUUoMATqpPC4GGErBdP1CZxVDDwWV8jA==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.0", + "@storybook/components": "7.4.0", + "@storybook/core-events": "7.4.0", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.0", + "@storybook/preview-api": "7.4.0", + "@storybook/theming": "7.4.0", + "@storybook/types": "7.4.0", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "polished": "^4.2.2", + "prop-types": "^15.7.2", + "react-inspector": "^6.0.0", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0", + "uuid": "^9.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-actions/node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@storybook/addon-backgrounds": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.4.0.tgz", + "integrity": "sha512-cEO/Tp/eRE+5bf1FGN4wKLqLDBv3EYp9enJyXV7B3cFdciqtoE7VJPZuFZkzjJN1rRcOKSZp8g5agsx+x9uNGQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.0", + "@storybook/components": "7.4.0", + "@storybook/core-events": "7.4.0", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.0", + "@storybook/preview-api": "7.4.0", + "@storybook/theming": "7.4.0", + "@storybook/types": "7.4.0", + "memoizerific": "^1.11.3", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-controls": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.4.0.tgz", + "integrity": "sha512-tYDfqpTR+c9y4kElmr3aWNHPot6kYd+nruYb697LpkCdy4lFErqSo0mhvPyZfMZp2KEajfp6YJAurhQWbvbj/A==", + "dev": true, + "dependencies": { + "@storybook/blocks": "7.4.0", + "@storybook/client-logger": "7.4.0", + "@storybook/components": "7.4.0", + "@storybook/core-common": "7.4.0", + "@storybook/core-events": "7.4.0", + "@storybook/manager-api": "7.4.0", + "@storybook/node-logger": "7.4.0", + "@storybook/preview-api": "7.4.0", + "@storybook/theming": "7.4.0", + "@storybook/types": "7.4.0", + "lodash": "^4.17.21", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-docs": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.4.0.tgz", + "integrity": "sha512-LJE92LUeVTgi8W4tLBEbSvCqF54snmBfTFCr46vhCFov2CE2VBgEvIX1XT3dfUgYUOtPu3RXR2C89fYgU6VYZw==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.3.1", + "@mdx-js/react": "^2.1.5", + "@storybook/blocks": "7.4.0", + "@storybook/client-logger": "7.4.0", + "@storybook/components": "7.4.0", + "@storybook/csf-plugin": "7.4.0", + "@storybook/csf-tools": "7.4.0", + "@storybook/global": "^5.0.0", + "@storybook/mdx2-csf": "^1.0.0", + "@storybook/node-logger": "7.4.0", + "@storybook/postinstall": "7.4.0", + "@storybook/preview-api": "7.4.0", + "@storybook/react-dom-shim": "7.4.0", + "@storybook/theming": "7.4.0", + "@storybook/types": "7.4.0", + "fs-extra": "^11.1.0", + "remark-external-links": "^8.0.0", + "remark-slug": "^6.0.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-essentials": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.4.0.tgz", + "integrity": "sha512-nZmNM9AKw2JXxnYUXyFKLeUF/cL7Z9E1WTeZyOFTDtU2aITRt8+LvaepwjchtPqu2B0GcQxLB5FRDdhy0I19nw==", + "dev": true, + "dependencies": { + "@storybook/addon-actions": "7.4.0", + "@storybook/addon-backgrounds": "7.4.0", + "@storybook/addon-controls": "7.4.0", + "@storybook/addon-docs": "7.4.0", + "@storybook/addon-highlight": "7.4.0", + "@storybook/addon-measure": "7.4.0", + "@storybook/addon-outline": "7.4.0", + "@storybook/addon-toolbars": "7.4.0", + "@storybook/addon-viewport": "7.4.0", + "@storybook/core-common": "7.4.0", + "@storybook/manager-api": "7.4.0", + "@storybook/node-logger": "7.4.0", + "@storybook/preview-api": "7.4.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-highlight": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.4.0.tgz", + "integrity": "sha512-kpYSb3oXI9t/1+aRJhToDZ0/1W4mu+SzTBfv9Bl2d/DogEkFzgJricoy5LtvS5EpcXUmKO1FJsw/DCm9buSL2g==", + "dev": true, + "dependencies": { + "@storybook/core-events": "7.4.0", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.4.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-interactions": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.4.0.tgz", + "integrity": "sha512-nEWP+Ib0Y/ShXfpCm40FBTbBy1/MT8XxTEAhcNN+3ZJ07Vhhkrb8GMlWHTKQv2PyghEVBYEoPFHhElUJQOe00g==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.0", + "@storybook/components": "7.4.0", + "@storybook/core-common": "7.4.0", + "@storybook/core-events": "7.4.0", + "@storybook/global": "^5.0.0", + "@storybook/instrumenter": "7.4.0", + "@storybook/manager-api": "7.4.0", + "@storybook/preview-api": "7.4.0", + "@storybook/theming": "7.4.0", + "@storybook/types": "7.4.0", + "jest-mock": "^27.0.6", + "polished": "^4.2.2", + "ts-dedent": "^2.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-links": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.4.0.tgz", + "integrity": "sha512-lFj8fiokWKk3jx5YUQ4anQo1uCNDMP1y6nJ/92Y85vnOd1vJr3w4GlLy8eOWMABRE33AKLI5Yp6wcpWZDe7hhQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.0", + "@storybook/core-events": "7.4.0", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.0", + "@storybook/preview-api": "7.4.0", + "@storybook/router": "7.4.0", + "@storybook/types": "7.4.0", + "prop-types": "^15.7.2", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-measure": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.4.0.tgz", + "integrity": "sha512-8YjBqm6jPOBgkRn9YnJkLN0+ghgJiukdHOa0VB3qhiT+oww4ZOZ7mc2aQRwXQoFb05UbVVG9UNxE7lhyTyaG2w==", "dev": true, "dependencies": { - "@sinonjs/commons": "^3.0.0" + "@storybook/client-logger": "7.4.0", + "@storybook/components": "7.4.0", + "@storybook/core-events": "7.4.0", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.0", + "@storybook/preview-api": "7.4.0", + "@storybook/types": "7.4.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/addon-actions": { + "node_modules/@storybook/addon-outline": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.4.0.tgz", - "integrity": "sha512-0lHLLUlrGE7CBFrfmAXrBKu7fUIsiQlnNekuE3cIAjSgVR481bJEzYHUUoMATqpPC4GGErBdP1CZxVDDwWV8jA==", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.4.0.tgz", + "integrity": "sha512-CCAWFC3bfkmYPzFjOemfH/kjpqJOHt+SdJgBKmwujDy+zum0DHlUL/7rd+U32cEpezCA8bapd0hlWn59C4agHQ==", "dev": true, "dependencies": { "@storybook/client-logger": "7.4.0", @@ -6914,16 +7939,8 @@ "@storybook/global": "^5.0.0", "@storybook/manager-api": "7.4.0", "@storybook/preview-api": "7.4.0", - "@storybook/theming": "7.4.0", "@storybook/types": "7.4.0", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "polished": "^4.2.2", - "prop-types": "^15.7.2", - "react-inspector": "^6.0.0", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0", - "uuid": "^9.0.0" + "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", @@ -6942,19 +7959,39 @@ } } }, - "node_modules/@storybook/addon-actions/node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "node_modules/@storybook/addon-toolbars": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.4.0.tgz", + "integrity": "sha512-00PDLchlQXI3ZClQHU0YQBfikAAxHOhVNv2QKW54yFKmxPl+P2c/VIeir9LcPhA04smKrJTD1u+Nszd66A9xAA==", "dev": true, - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "@storybook/client-logger": "7.4.0", + "@storybook/components": "7.4.0", + "@storybook/manager-api": "7.4.0", + "@storybook/preview-api": "7.4.0", + "@storybook/theming": "7.4.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/addon-backgrounds": { + "node_modules/@storybook/addon-viewport": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.4.0.tgz", - "integrity": "sha512-cEO/Tp/eRE+5bf1FGN4wKLqLDBv3EYp9enJyXV7B3cFdciqtoE7VJPZuFZkzjJN1rRcOKSZp8g5agsx+x9uNGQ==", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.4.0.tgz", + "integrity": "sha512-Bfoilf9eJV/C7tR8XHDxz3h8JlZ+iggoESp2Tc0bW9tlRvz+PsCqeyHhF/IgHY+gLnPal2PkK/PIM+ruO45HXA==", "dev": true, "dependencies": { "@storybook/client-logger": "7.4.0", @@ -6964,9 +8001,8 @@ "@storybook/manager-api": "7.4.0", "@storybook/preview-api": "7.4.0", "@storybook/theming": "7.4.0", - "@storybook/types": "7.4.0", "memoizerific": "^1.11.3", - "ts-dedent": "^2.0.0" + "prop-types": "^15.7.2" }, "funding": { "type": "opencollective", @@ -6985,175 +8021,438 @@ } } }, - "node_modules/@storybook/addon-controls": { + "node_modules/@storybook/blocks": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.4.0.tgz", - "integrity": "sha512-tYDfqpTR+c9y4kElmr3aWNHPot6kYd+nruYb697LpkCdy4lFErqSo0mhvPyZfMZp2KEajfp6YJAurhQWbvbj/A==", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.4.0.tgz", + "integrity": "sha512-YQznNjJm+l32fCfPxrZso9+MbcyG0pWZSpx3RKI1+pxDMsAs4mbXsIw4//jKfjoDP/6/Cz/FJcSx8LT7i4BJ2w==", "dev": true, "dependencies": { - "@storybook/blocks": "7.4.0", + "@storybook/channels": "7.4.0", "@storybook/client-logger": "7.4.0", "@storybook/components": "7.4.0", - "@storybook/core-common": "7.4.0", "@storybook/core-events": "7.4.0", + "@storybook/csf": "^0.1.0", + "@storybook/docs-tools": "7.4.0", + "@storybook/global": "^5.0.0", "@storybook/manager-api": "7.4.0", - "@storybook/node-logger": "7.4.0", "@storybook/preview-api": "7.4.0", "@storybook/theming": "7.4.0", "@storybook/types": "7.4.0", + "@types/lodash": "^4.14.167", + "color-convert": "^2.0.1", + "dequal": "^2.0.2", "lodash": "^4.17.21", - "ts-dedent": "^2.0.0" + "markdown-to-jsx": "^7.1.8", + "memoizerific": "^1.11.3", + "polished": "^4.2.2", + "react-colorful": "^5.1.2", + "telejson": "^7.2.0", + "tocbot": "^4.20.1", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/builder-manager": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.4.0.tgz", + "integrity": "sha512-4fuxVzBIBbZh2aVBizSOU5EJ8b74IhR6x2TAZjifZZf5Gdxgfgio8sAyrrd/C78vrFOFhFEgmQhMqZRuCLHxvQ==", + "dev": true, + "dependencies": { + "@fal-works/esbuild-plugin-global-externals": "^2.1.2", + "@storybook/core-common": "7.4.0", + "@storybook/manager": "7.4.0", + "@storybook/node-logger": "7.4.0", + "@types/ejs": "^3.1.1", + "@types/find-cache-dir": "^3.2.1", + "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", + "browser-assert": "^1.2.1", + "ejs": "^3.1.8", + "esbuild": "^0.18.0", + "esbuild-plugin-alias": "^0.2.1", + "express": "^4.17.3", + "find-cache-dir": "^3.0.0", + "fs-extra": "^11.1.0", + "process": "^0.11.10", + "util": "^0.12.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/@storybook/builder-vite": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.4.0.tgz", + "integrity": "sha512-2hE+Q5zoSFQvmiPKsRaZWUX5v6vRaSp0+kgZo3EOg0DvAACiC/Cd+sdnv7wxigvSnVRMbWvBVguPyePRjke8KA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.0", + "@storybook/client-logger": "7.4.0", + "@storybook/core-common": "7.4.0", + "@storybook/csf-plugin": "7.4.0", + "@storybook/mdx2-csf": "^1.0.0", + "@storybook/node-logger": "7.4.0", + "@storybook/preview": "7.4.0", + "@storybook/preview-api": "7.4.0", + "@storybook/types": "7.4.0", + "@types/find-cache-dir": "^3.2.1", + "browser-assert": "^1.2.1", + "es-module-lexer": "^0.9.3", + "express": "^4.17.3", + "find-cache-dir": "^3.0.0", + "fs-extra": "^11.1.0", + "magic-string": "^0.30.0", + "remark-external-links": "^8.0.0", + "remark-slug": "^6.0.0", + "rollup": "^2.25.0 || ^3.3.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@preact/preset-vite": "*", + "typescript": ">= 4.3.x", + "vite": "^3.0.0 || ^4.0.0", + "vite-plugin-glimmerx": "*" }, "peerDependenciesMeta": { - "react": { + "@preact/preset-vite": { "optional": true }, - "react-dom": { + "typescript": { + "optional": true + }, + "vite-plugin-glimmerx": { "optional": true } } }, - "node_modules/@storybook/addon-docs": { + "node_modules/@storybook/builder-vite/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@storybook/builder-vite/node_modules/magic-string": { + "version": "0.30.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz", + "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/channels": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.4.0.tgz", - "integrity": "sha512-LJE92LUeVTgi8W4tLBEbSvCqF54snmBfTFCr46vhCFov2CE2VBgEvIX1XT3dfUgYUOtPu3RXR2C89fYgU6VYZw==", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.0.tgz", + "integrity": "sha512-/1CU0s3npFumzVHLGeubSyPs21O3jNqtSppOjSB9iDTyV2GtQrjh5ntVwebfKpCkUSitx3x7TkCb9dylpEZ8+w==", "dev": true, "dependencies": { - "@jest/transform": "^29.3.1", - "@mdx-js/react": "^2.1.5", - "@storybook/blocks": "7.4.0", "@storybook/client-logger": "7.4.0", - "@storybook/components": "7.4.0", - "@storybook/csf-plugin": "7.4.0", - "@storybook/csf-tools": "7.4.0", + "@storybook/core-events": "7.4.0", "@storybook/global": "^5.0.0", - "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.4.0", - "@storybook/postinstall": "7.4.0", - "@storybook/preview-api": "7.4.0", - "@storybook/react-dom-shim": "7.4.0", - "@storybook/theming": "7.4.0", - "@storybook/types": "7.4.0", - "fs-extra": "^11.1.0", - "remark-external-links": "^8.0.0", - "remark-slug": "^6.0.0", - "ts-dedent": "^2.0.0" + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/addon-essentials": { + "node_modules/@storybook/cli": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.4.0.tgz", - "integrity": "sha512-nZmNM9AKw2JXxnYUXyFKLeUF/cL7Z9E1WTeZyOFTDtU2aITRt8+LvaepwjchtPqu2B0GcQxLB5FRDdhy0I19nw==", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.4.0.tgz", + "integrity": "sha512-yn27cn3LzhTqpEVX6CzUz13KTJ3jPLA2eM4bO1t7SYUqpDlzw3lET9DIcYIaUAIiL+0r2Js3jW2BsyN/5KmO5w==", "dev": true, "dependencies": { - "@storybook/addon-actions": "7.4.0", - "@storybook/addon-backgrounds": "7.4.0", - "@storybook/addon-controls": "7.4.0", - "@storybook/addon-docs": "7.4.0", - "@storybook/addon-highlight": "7.4.0", - "@storybook/addon-measure": "7.4.0", - "@storybook/addon-outline": "7.4.0", - "@storybook/addon-toolbars": "7.4.0", - "@storybook/addon-viewport": "7.4.0", + "@babel/core": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/types": "^7.22.5", + "@ndelangen/get-tarball": "^3.0.7", + "@storybook/codemod": "7.4.0", "@storybook/core-common": "7.4.0", - "@storybook/manager-api": "7.4.0", + "@storybook/core-server": "7.4.0", + "@storybook/csf-tools": "7.4.0", "@storybook/node-logger": "7.4.0", - "@storybook/preview-api": "7.4.0", - "ts-dedent": "^2.0.0" + "@storybook/telemetry": "7.4.0", + "@storybook/types": "7.4.0", + "@types/semver": "^7.3.4", + "@yarnpkg/fslib": "2.10.3", + "@yarnpkg/libzip": "2.3.0", + "chalk": "^4.1.0", + "commander": "^6.2.1", + "cross-spawn": "^7.0.3", + "detect-indent": "^6.1.0", + "envinfo": "^7.7.3", + "execa": "^5.0.0", + "express": "^4.17.3", + "find-up": "^5.0.0", + "fs-extra": "^11.1.0", + "get-npm-tarball-url": "^2.0.3", + "get-port": "^5.1.1", + "giget": "^1.0.0", + "globby": "^11.0.2", + "jscodeshift": "^0.14.0", + "leven": "^3.1.0", + "ora": "^5.4.1", + "prettier": "^2.8.0", + "prompts": "^2.4.0", + "puppeteer-core": "^2.1.1", + "read-pkg-up": "^7.0.1", + "semver": "^7.3.7", + "simple-update-notifier": "^2.0.0", + "strip-json-comments": "^3.0.1", + "tempy": "^1.0.1", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "bin": { + "getstorybook": "bin/index.js", + "sb": "bin/index.js" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/cli/node_modules/@babel/core": { + "version": "7.22.17", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.17.tgz", + "integrity": "sha512-2EENLmhpwplDux5PSsZnSbnSkB3tZ6QTksgO25xwEL7pIDcNOMhF5v/s6RzwjMZzZzw9Ofc30gHv5ChCC8pifQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.22.15", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.22.17", + "@babel/helpers": "^7.22.15", + "@babel/parser": "^7.22.16", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.17", + "@babel/types": "^7.22.17", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@storybook/addon-highlight": { + "node_modules/@storybook/cli/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@storybook/cli/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@storybook/cli/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/@storybook/client-logger": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.4.0.tgz", - "integrity": "sha512-kpYSb3oXI9t/1+aRJhToDZ0/1W4mu+SzTBfv9Bl2d/DogEkFzgJricoy5LtvS5EpcXUmKO1FJsw/DCm9buSL2g==", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.0.tgz", + "integrity": "sha512-4pBnf7+df1wXEVcF1civqxbrtccGGHQkfWQkJo49s53RXvF7SRTcif6XTx0V3cQV0v7I1C5mmLm0LNlmjPRP1Q==", "dev": true, "dependencies": { - "@storybook/core-events": "7.4.0", - "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.4.0" + "@storybook/global": "^5.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/addon-interactions": { + "node_modules/@storybook/codemod": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.4.0.tgz", - "integrity": "sha512-nEWP+Ib0Y/ShXfpCm40FBTbBy1/MT8XxTEAhcNN+3ZJ07Vhhkrb8GMlWHTKQv2PyghEVBYEoPFHhElUJQOe00g==", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.4.0.tgz", + "integrity": "sha512-XqNhv5bec+L7TJ5tXdsMalmJazwaFMVVxoNlnb0f9zKhovAEF2F6hl6+Pnd2avRomH9+1q7EM+GwrTCAvzAfzg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.0", - "@storybook/components": "7.4.0", - "@storybook/core-common": "7.4.0", - "@storybook/core-events": "7.4.0", - "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "7.4.0", - "@storybook/manager-api": "7.4.0", - "@storybook/preview-api": "7.4.0", - "@storybook/theming": "7.4.0", + "@babel/core": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/types": "^7.22.5", + "@storybook/csf": "^0.1.0", + "@storybook/csf-tools": "7.4.0", + "@storybook/node-logger": "7.4.0", "@storybook/types": "7.4.0", - "jest-mock": "^27.0.6", - "polished": "^4.2.2", - "ts-dedent": "^2.2.0" + "@types/cross-spawn": "^6.0.2", + "cross-spawn": "^7.0.3", + "globby": "^11.0.2", + "jscodeshift": "^0.14.0", + "lodash": "^4.17.21", + "prettier": "^2.8.0", + "recast": "^0.23.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/codemod/node_modules/@babel/core": { + "version": "7.22.17", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.17.tgz", + "integrity": "sha512-2EENLmhpwplDux5PSsZnSbnSkB3tZ6QTksgO25xwEL7pIDcNOMhF5v/s6RzwjMZzZzw9Ofc30gHv5ChCC8pifQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.22.15", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.22.17", + "@babel/helpers": "^7.22.15", + "@babel/parser": "^7.22.16", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.17", + "@babel/types": "^7.22.17", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@storybook/codemod/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "engines": { + "node": ">=10.13.0" }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/@storybook/addon-links": { + "node_modules/@storybook/codemod/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@storybook/components": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.4.0.tgz", - "integrity": "sha512-lFj8fiokWKk3jx5YUQ4anQo1uCNDMP1y6nJ/92Y85vnOd1vJr3w4GlLy8eOWMABRE33AKLI5Yp6wcpWZDe7hhQ==", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.4.0.tgz", + "integrity": "sha512-GGnQrI4NXwri/PqNjhO1vNv4tC7RBjY87ce9WHBq1ueat3kBakdqV97NzScoldXarkkKK6grBqmhw9jE5PfzhQ==", "dev": true, "dependencies": { + "@radix-ui/react-select": "^1.2.2", + "@radix-ui/react-toolbar": "^1.0.4", "@storybook/client-logger": "7.4.0", - "@storybook/core-events": "7.4.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.0", - "@storybook/preview-api": "7.4.0", - "@storybook/router": "7.4.0", + "@storybook/theming": "7.4.0", "@storybook/types": "7.4.0", - "prop-types": "^15.7.2", - "ts-dedent": "^2.0.0" + "memoizerific": "^1.11.3", + "use-resize-observer": "^9.1.0", + "util-deprecate": "^1.0.2" }, "funding": { "type": "opencollective", @@ -7162,215 +8461,222 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } } }, - "node_modules/@storybook/addon-measure": { + "node_modules/@storybook/core-client": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.4.0.tgz", - "integrity": "sha512-8YjBqm6jPOBgkRn9YnJkLN0+ghgJiukdHOa0VB3qhiT+oww4ZOZ7mc2aQRwXQoFb05UbVVG9UNxE7lhyTyaG2w==", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.4.0.tgz", + "integrity": "sha512-AhysJS2HnydB8Jc+BMVzK5VLHa1liJjxroNsd+ZTgGUhD7R8wvozrswQgY4MLFtcaLwN/wDWlK2YavSBqmc94Q==", "dev": true, "dependencies": { "@storybook/client-logger": "7.4.0", - "@storybook/components": "7.4.0", - "@storybook/core-events": "7.4.0", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.0", - "@storybook/preview-api": "7.4.0", - "@storybook/types": "7.4.0", - "tiny-invariant": "^1.3.1" + "@storybook/preview-api": "7.4.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } } }, - "node_modules/@storybook/addon-outline": { + "node_modules/@storybook/core-common": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.4.0.tgz", - "integrity": "sha512-CCAWFC3bfkmYPzFjOemfH/kjpqJOHt+SdJgBKmwujDy+zum0DHlUL/7rd+U32cEpezCA8bapd0hlWn59C4agHQ==", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.4.0.tgz", + "integrity": "sha512-QKrBL46ZFdfTjlZE3f7b59Q5+frOHWIJ64sC9BZ2PHkZkGjFeYRDdJJ6EHLYBb+nToynl33dYN1GQz+hQn2vww==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.0", - "@storybook/components": "7.4.0", - "@storybook/core-events": "7.4.0", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.0", - "@storybook/preview-api": "7.4.0", + "@storybook/node-logger": "7.4.0", "@storybook/types": "7.4.0", + "@types/find-cache-dir": "^3.2.1", + "@types/node": "^16.0.0", + "@types/node-fetch": "^2.6.4", + "@types/pretty-hrtime": "^1.0.0", + "chalk": "^4.1.0", + "esbuild": "^0.18.0", + "esbuild-register": "^3.4.0", + "file-system-cache": "2.3.0", + "find-cache-dir": "^3.0.0", + "find-up": "^5.0.0", + "fs-extra": "^11.1.0", + "glob": "^10.0.0", + "handlebars": "^4.7.7", + "lazy-universal-dotenv": "^4.0.0", + "node-fetch": "^2.0.0", + "picomatch": "^2.3.0", + "pkg-dir": "^5.0.0", + "pretty-hrtime": "^1.0.3", + "resolve-from": "^5.0.0", "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } } }, - "node_modules/@storybook/addon-toolbars": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.4.0.tgz", - "integrity": "sha512-00PDLchlQXI3ZClQHU0YQBfikAAxHOhVNv2QKW54yFKmxPl+P2c/VIeir9LcPhA04smKrJTD1u+Nszd66A9xAA==", + "node_modules/@storybook/core-common/node_modules/@esbuild/android-arm": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.19.tgz", + "integrity": "sha512-1uOoDurJYh5MNqPqpj3l/TQCI1V25BXgChEldCB7D6iryBYqYKrbZIhYO5AI9fulf66sM8UJpc3UcCly2Tv28w==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.0", - "@storybook/components": "7.4.0", - "@storybook/manager-api": "7.4.0", - "@storybook/preview-api": "7.4.0", - "@storybook/theming": "7.4.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/android-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.19.tgz", + "integrity": "sha512-4+jkUFQxZkQfQOOxfGVZB38YUWHMJX2ihZwF+2nh8m7bHdWXpixiurgGRN3c/KMSwlltbYI0/i929jwBRMFzbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/android-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.19.tgz", + "integrity": "sha512-ae5sHYiP/Ogj2YNrLZbWkBmyHIDOhPgpkGvFnke7XFGQldBDWvc/AyYwSLpNuKw9UNkgnLlB/jPpnBmlF3G9Bg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.19.tgz", + "integrity": "sha512-HIpQvNQWFYROmWDANMRL+jZvvTQGOiTuwWBIuAsMaQrnStedM+nEKJBzKQ6bfT9RFKH2wZ+ej+DY7+9xHBTFPg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/darwin-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.19.tgz", + "integrity": "sha512-m6JdvXJQt0thNLIcWOeG079h2ivhYH4B5sVCgqb/B29zTcFd7EE8/J1nIUHhdtwGeItdUeqKaqqb4towwxvglQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.19.tgz", + "integrity": "sha512-G0p4EFMPZhGn/xVNspUyMQbORH3nlKTV0bFNHPIwLraBuAkTeMyxNviTe0ZXUbIXQrR1lrwniFjNFU4s+x7veQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.19.tgz", + "integrity": "sha512-hBxgRlG42+W+j/1/cvlnSa+3+OBKeDCyO7OG2ICya1YJaSCYfSpuG30KfOnQHI7Ytgu4bRqCgrYXxQEzy0zM5Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@storybook/addon-viewport": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.4.0.tgz", - "integrity": "sha512-Bfoilf9eJV/C7tR8XHDxz3h8JlZ+iggoESp2Tc0bW9tlRvz+PsCqeyHhF/IgHY+gLnPal2PkK/PIM+ruO45HXA==", + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-arm": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.19.tgz", + "integrity": "sha512-qtWyoQskfJlb9MD45mvzCEKeO4uCnDZ7lPFeNqbfaaJHqBiH9qA5Vu2EuckqYZuFMJWy1l4dxTf9NOulCVfUjg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.0", - "@storybook/components": "7.4.0", - "@storybook/core-events": "7.4.0", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.0", - "@storybook/preview-api": "7.4.0", - "@storybook/theming": "7.4.0", - "memoizerific": "^1.11.3", - "prop-types": "^15.7.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@storybook/blocks": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.4.0.tgz", - "integrity": "sha512-YQznNjJm+l32fCfPxrZso9+MbcyG0pWZSpx3RKI1+pxDMsAs4mbXsIw4//jKfjoDP/6/Cz/FJcSx8LT7i4BJ2w==", + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.19.tgz", + "integrity": "sha512-X8g33tczY0GsJq3lhyBrjnFtaKjWVpp1gMq5IlF9BQJ3TUfSK74nQnz9mRIEejmcV+OIYn6bkOJeUaU1Knrljg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@storybook/channels": "7.4.0", - "@storybook/client-logger": "7.4.0", - "@storybook/components": "7.4.0", - "@storybook/core-events": "7.4.0", - "@storybook/csf": "^0.1.0", - "@storybook/docs-tools": "7.4.0", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.0", - "@storybook/preview-api": "7.4.0", - "@storybook/theming": "7.4.0", - "@storybook/types": "7.4.0", - "@types/lodash": "^4.14.167", - "color-convert": "^2.0.1", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "markdown-to-jsx": "^7.1.8", - "memoizerific": "^1.11.3", - "polished": "^4.2.2", - "react-colorful": "^5.1.2", - "telejson": "^7.2.0", - "tocbot": "^4.20.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@storybook/builder-manager": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.4.0.tgz", - "integrity": "sha512-4fuxVzBIBbZh2aVBizSOU5EJ8b74IhR6x2TAZjifZZf5Gdxgfgio8sAyrrd/C78vrFOFhFEgmQhMqZRuCLHxvQ==", + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-ia32": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.19.tgz", + "integrity": "sha512-SAkRWJgb+KN+gOhmbiE6/wu23D6HRcGQi15cB13IVtBZZgXxygTV5GJlUAKLQ5Gcx0gtlmt+XIxEmSqA6sZTOw==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.4.0", - "@storybook/manager": "7.4.0", - "@storybook/node-logger": "7.4.0", - "@types/ejs": "^3.1.1", - "@types/find-cache-dir": "^3.2.1", - "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", - "browser-assert": "^1.2.1", - "ejs": "^3.1.8", - "esbuild": "^0.18.0", - "esbuild-plugin-alias": "^0.2.1", - "express": "^4.17.3", - "find-cache-dir": "^3.0.0", - "fs-extra": "^11.1.0", - "process": "^0.11.10", - "util": "^0.12.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@storybook/builder-manager/node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-loong64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.19.tgz", + "integrity": "sha512-YLAslaO8NsB9UOxBchos82AOMRDbIAWChwDKfjlGrHSzS3v1kxce7dGlSTsrb0PJwo1KYccypN3VNjQVLtz7LA==", "cpu": [ - "x64" + "loong64" ], "dev": true, "optional": true, @@ -7381,1877 +8687,1717 @@ "node": ">=12" } }, - "node_modules/@storybook/builder-manager/node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.19.tgz", + "integrity": "sha512-vSYFtlYds/oTI8aflEP65xo3MXChMwBOG1eWPGGKs/ev9zkTeXVvciU+nifq8J1JYMz+eQ4J9JDN0O2RKF8+1Q==", + "cpu": [ + "mips64el" + ], "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" } }, - "node_modules/@storybook/builder-vite": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.4.0.tgz", - "integrity": "sha512-2hE+Q5zoSFQvmiPKsRaZWUX5v6vRaSp0+kgZo3EOg0DvAACiC/Cd+sdnv7wxigvSnVRMbWvBVguPyePRjke8KA==", + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.19.tgz", + "integrity": "sha512-tgG41lRVwlzqO9tv9l7aXYVw35BxKXLtPam1qALScwSqPivI8hjkZLNH0deaaSCYCFT9cBIdB+hUjWFlFFLL9A==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@storybook/channels": "7.4.0", - "@storybook/client-logger": "7.4.0", - "@storybook/core-common": "7.4.0", - "@storybook/csf-plugin": "7.4.0", - "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.4.0", - "@storybook/preview": "7.4.0", - "@storybook/preview-api": "7.4.0", - "@storybook/types": "7.4.0", - "@types/find-cache-dir": "^3.2.1", - "browser-assert": "^1.2.1", - "es-module-lexer": "^0.9.3", - "express": "^4.17.3", - "find-cache-dir": "^3.0.0", - "fs-extra": "^11.1.0", - "magic-string": "^0.30.0", - "remark-external-links": "^8.0.0", - "remark-slug": "^6.0.0", - "rollup": "^2.25.0 || ^3.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "@preact/preset-vite": "*", - "typescript": ">= 4.3.x", - "vite": "^3.0.0 || ^4.0.0", - "vite-plugin-glimmerx": "*" - }, - "peerDependenciesMeta": { - "@preact/preset-vite": { - "optional": true - }, - "typescript": { - "optional": true - }, - "vite-plugin-glimmerx": { - "optional": true - } + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.19.tgz", + "integrity": "sha512-EgBZFLoN1S5RuB4cCJI31pBPsjE1nZ+3+fHRjguq9Ibrzo29bOLSBcH1KZJvRNh5qtd+fcYIGiIUia8Jw5r1lQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@storybook/builder-vite/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@storybook/builder-vite/node_modules/magic-string": { - "version": "0.30.3", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz", - "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==", + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-s390x": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.19.tgz", + "integrity": "sha512-q1V1rtHRojAzjSigZEqrcLkpfh5K09ShCoIsdTakozVBnM5rgV58PLFticqDp5UJ9uE0HScov9QNbbl8HBo6QQ==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { "node": ">=12" } }, - "node_modules/@storybook/channels": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.0.tgz", - "integrity": "sha512-/1CU0s3npFumzVHLGeubSyPs21O3jNqtSppOjSB9iDTyV2GtQrjh5ntVwebfKpCkUSitx3x7TkCb9dylpEZ8+w==", + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-x64": { + "version": "0.18.19", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.0", - "@storybook/core-events": "7.4.0", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@storybook/cli": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.4.0.tgz", - "integrity": "sha512-yn27cn3LzhTqpEVX6CzUz13KTJ3jPLA2eM4bO1t7SYUqpDlzw3lET9DIcYIaUAIiL+0r2Js3jW2BsyN/5KmO5w==", + "node_modules/@storybook/core-common/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.19.tgz", + "integrity": "sha512-3tt3SOS8L3D54R8oER41UdDshlBIAjYhdWRPiZCTZ1E41+shIZBpTjaW5UaN/jD1ENE/Ok5lkeqhoNMbxstyxw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/core": "^7.22.9", - "@babel/preset-env": "^7.22.9", - "@babel/types": "^7.22.5", - "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.4.0", - "@storybook/core-common": "7.4.0", - "@storybook/core-server": "7.4.0", - "@storybook/csf-tools": "7.4.0", - "@storybook/node-logger": "7.4.0", - "@storybook/telemetry": "7.4.0", - "@storybook/types": "7.4.0", - "@types/semver": "^7.3.4", - "@yarnpkg/fslib": "2.10.3", - "@yarnpkg/libzip": "2.3.0", - "chalk": "^4.1.0", - "commander": "^6.2.1", - "cross-spawn": "^7.0.3", - "detect-indent": "^6.1.0", - "envinfo": "^7.7.3", - "execa": "^5.0.0", - "express": "^4.17.3", - "find-up": "^5.0.0", - "fs-extra": "^11.1.0", - "get-npm-tarball-url": "^2.0.3", - "get-port": "^5.1.1", - "giget": "^1.0.0", - "globby": "^11.0.2", - "jscodeshift": "^0.14.0", - "leven": "^3.1.0", - "ora": "^5.4.1", - "prettier": "^2.8.0", - "prompts": "^2.4.0", - "puppeteer-core": "^2.1.1", - "read-pkg-up": "^7.0.1", - "semver": "^7.3.7", - "simple-update-notifier": "^2.0.0", - "strip-json-comments": "^3.0.1", - "tempy": "^1.0.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "bin": { - "getstorybook": "bin/index.js", - "sb": "bin/index.js" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@storybook/cli/node_modules/@babel/core": { - "version": "7.22.17", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.17.tgz", - "integrity": "sha512-2EENLmhpwplDux5PSsZnSbnSkB3tZ6QTksgO25xwEL7pIDcNOMhF5v/s6RzwjMZzZzw9Ofc30gHv5ChCC8pifQ==", + "node_modules/@storybook/core-common/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.19.tgz", + "integrity": "sha512-MxbhcuAYQPlfln1EMc4T26OUoeg/YQc6wNoEV8xvktDKZhLtBxjkoeESSo9BbPaGKhAPzusXYj5n8n5A8iZSrA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.22.17", - "@babel/helpers": "^7.22.15", - "@babel/parser": "^7.22.16", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.17", - "@babel/types": "^7.22.17", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=12" } }, - "node_modules/@storybook/cli/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/@storybook/core-common/node_modules/@esbuild/sunos-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.19.tgz", + "integrity": "sha512-m0/UOq1wj25JpWqOJxoWBRM9VWc3c32xiNzd+ERlYstUZ6uwx5SZsQUtkiFHaYmcaoj+f6+Tfcl7atuAz3idwQ==", + "cpu": [ + "x64" + ], "dev": true, - "bin": { - "semver": "bin/semver.js" + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@storybook/cli/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "node_modules/@storybook/core-common/node_modules/@esbuild/win32-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.19.tgz", + "integrity": "sha512-L4vb6pcoB1cEcXUHU6EPnUhUc4+/tcz4OqlXTWPcSQWxegfmcOprhmIleKKwmMNQVc4wrx/+jB7tGkjjDmiupg==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 6" + "node": ">=12" } }, - "node_modules/@storybook/cli/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "node_modules/@storybook/core-common/node_modules/@esbuild/win32-ia32": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.19.tgz", + "integrity": "sha512-rQng7LXSKdrDlNDb7/v0fujob6X0GAazoK/IPd9C3oShr642ri8uIBkgM37/l8B3Rd5sBQcqUXoDdEy75XC/jg==", + "cpu": [ + "ia32" + ], "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=12" } }, - "node_modules/@storybook/client-logger": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.0.tgz", - "integrity": "sha512-4pBnf7+df1wXEVcF1civqxbrtccGGHQkfWQkJo49s53RXvF7SRTcif6XTx0V3cQV0v7I1C5mmLm0LNlmjPRP1Q==", + "node_modules/@storybook/core-common/node_modules/@esbuild/win32-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.19.tgz", + "integrity": "sha512-z69jhyG20Gq4QL5JKPLqUT+eREuqnDAFItLbza4JCmpvUnIlY73YNjd5djlO7kBiiZnvTnJuAbOjIoZIOa1GjA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@storybook/codemod": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.4.0.tgz", - "integrity": "sha512-XqNhv5bec+L7TJ5tXdsMalmJazwaFMVVxoNlnb0f9zKhovAEF2F6hl6+Pnd2avRomH9+1q7EM+GwrTCAvzAfzg==", + "node_modules/@storybook/core-common/node_modules/@types/node": { + "version": "16.18.18", + "dev": true, + "license": "MIT" + }, + "node_modules/@storybook/core-common/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.22.9", - "@babel/preset-env": "^7.22.9", - "@babel/types": "^7.22.5", - "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.4.0", - "@storybook/node-logger": "7.4.0", - "@storybook/types": "7.4.0", - "@types/cross-spawn": "^6.0.2", - "cross-spawn": "^7.0.3", - "globby": "^11.0.2", - "jscodeshift": "^0.14.0", - "lodash": "^4.17.21", - "prettier": "^2.8.0", - "recast": "^0.23.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "balanced-match": "^1.0.0" } }, - "node_modules/@storybook/codemod/node_modules/@babel/core": { - "version": "7.22.17", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.17.tgz", - "integrity": "sha512-2EENLmhpwplDux5PSsZnSbnSkB3tZ6QTksgO25xwEL7pIDcNOMhF5v/s6RzwjMZzZzw9Ofc30gHv5ChCC8pifQ==", + "node_modules/@storybook/core-common/node_modules/esbuild": { + "version": "0.18.19", "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.22.17", - "@babel/helpers": "^7.22.15", - "@babel/parser": "^7.22.16", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.17", - "@babel/types": "^7.22.17", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "optionalDependencies": { + "@esbuild/android-arm": "0.18.19", + "@esbuild/android-arm64": "0.18.19", + "@esbuild/android-x64": "0.18.19", + "@esbuild/darwin-arm64": "0.18.19", + "@esbuild/darwin-x64": "0.18.19", + "@esbuild/freebsd-arm64": "0.18.19", + "@esbuild/freebsd-x64": "0.18.19", + "@esbuild/linux-arm": "0.18.19", + "@esbuild/linux-arm64": "0.18.19", + "@esbuild/linux-ia32": "0.18.19", + "@esbuild/linux-loong64": "0.18.19", + "@esbuild/linux-mips64el": "0.18.19", + "@esbuild/linux-ppc64": "0.18.19", + "@esbuild/linux-riscv64": "0.18.19", + "@esbuild/linux-s390x": "0.18.19", + "@esbuild/linux-x64": "0.18.19", + "@esbuild/netbsd-x64": "0.18.19", + "@esbuild/openbsd-x64": "0.18.19", + "@esbuild/sunos-x64": "0.18.19", + "@esbuild/win32-arm64": "0.18.19", + "@esbuild/win32-ia32": "0.18.19", + "@esbuild/win32-x64": "0.18.19" } }, - "node_modules/@storybook/codemod/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "node_modules/@storybook/core-common/node_modules/glob": { + "version": "10.3.3", "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, "bin": { - "prettier": "bin-prettier.js" + "glob": "dist/cjs/src/bin.js" }, "engines": { - "node": ">=10.13.0" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/@storybook/codemod/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@storybook/components": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.4.0.tgz", - "integrity": "sha512-GGnQrI4NXwri/PqNjhO1vNv4tC7RBjY87ce9WHBq1ueat3kBakdqV97NzScoldXarkkKK6grBqmhw9jE5PfzhQ==", + "node_modules/@storybook/core-common/node_modules/minimatch": { + "version": "9.0.3", "dev": true, + "license": "ISC", "dependencies": { - "@radix-ui/react-select": "^1.2.2", - "@radix-ui/react-toolbar": "^1.0.4", - "@storybook/client-logger": "7.4.0", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/theming": "7.4.0", - "@storybook/types": "7.4.0", - "memoizerific": "^1.11.3", - "use-resize-observer": "^9.1.0", - "util-deprecate": "^1.0.2" + "brace-expansion": "^2.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "engines": { + "node": ">=16 || 14 >=14.17" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@storybook/core-client": { + "node_modules/@storybook/core-common/node_modules/minipass": { + "version": "7.0.2", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/@storybook/core-events": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.4.0.tgz", - "integrity": "sha512-AhysJS2HnydB8Jc+BMVzK5VLHa1liJjxroNsd+ZTgGUhD7R8wvozrswQgY4MLFtcaLwN/wDWlK2YavSBqmc94Q==", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.0.tgz", + "integrity": "sha512-JavEo4dw7TQdF5pSKjk4RtqLgsG2R/eWRI8vZ3ANKa0ploGAnQR/eMTfSxf6TUH3ElBWLJhi+lvUCkKXPQD+dw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.0", - "@storybook/preview-api": "7.4.0" + "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common": { + "node_modules/@storybook/core-server": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.4.0.tgz", - "integrity": "sha512-QKrBL46ZFdfTjlZE3f7b59Q5+frOHWIJ64sC9BZ2PHkZkGjFeYRDdJJ6EHLYBb+nToynl33dYN1GQz+hQn2vww==", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.4.0.tgz", + "integrity": "sha512-AcbfXatHVx1by4R2CiPIMgjQlOL3sUbVarkhmgUcL0AWT0zC0SCQWUZdo22en+jZhAraazgXyLGNCVP7A+6Tqg==", "dev": true, "dependencies": { + "@aw-web-design/x-default-browser": "1.4.126", + "@discoveryjs/json-ext": "^0.5.3", + "@storybook/builder-manager": "7.4.0", + "@storybook/channels": "7.4.0", + "@storybook/core-common": "7.4.0", + "@storybook/core-events": "7.4.0", + "@storybook/csf": "^0.1.0", + "@storybook/csf-tools": "7.4.0", + "@storybook/docs-mdx": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/manager": "7.4.0", "@storybook/node-logger": "7.4.0", + "@storybook/preview-api": "7.4.0", + "@storybook/telemetry": "7.4.0", "@storybook/types": "7.4.0", - "@types/find-cache-dir": "^3.2.1", + "@types/detect-port": "^1.3.0", "@types/node": "^16.0.0", - "@types/node-fetch": "^2.6.4", "@types/pretty-hrtime": "^1.0.0", + "@types/semver": "^7.3.4", + "better-opn": "^3.0.2", "chalk": "^4.1.0", - "esbuild": "^0.18.0", - "esbuild-register": "^3.4.0", - "file-system-cache": "2.3.0", - "find-cache-dir": "^3.0.0", - "find-up": "^5.0.0", + "cli-table3": "^0.6.1", + "compression": "^1.7.4", + "detect-port": "^1.3.0", + "express": "^4.17.3", "fs-extra": "^11.1.0", - "glob": "^10.0.0", - "handlebars": "^4.7.7", - "lazy-universal-dotenv": "^4.0.0", - "node-fetch": "^2.0.0", - "picomatch": "^2.3.0", - "pkg-dir": "^5.0.0", + "globby": "^11.0.2", + "ip": "^2.0.0", + "lodash": "^4.17.21", + "open": "^8.4.0", "pretty-hrtime": "^1.0.3", - "resolve-from": "^5.0.0", - "ts-dedent": "^2.0.0" + "prompts": "^2.4.0", + "read-pkg-up": "^7.0.1", + "semver": "^7.3.7", + "serve-favicon": "^2.5.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1", + "ts-dedent": "^2.0.0", + "util": "^0.12.4", + "util-deprecate": "^1.0.2", + "watchpack": "^2.2.0", + "ws": "^8.2.3" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/android-arm": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.19.tgz", - "integrity": "sha512-1uOoDurJYh5MNqPqpj3l/TQCI1V25BXgChEldCB7D6iryBYqYKrbZIhYO5AI9fulf66sM8UJpc3UcCly2Tv28w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@storybook/core-common/node_modules/@esbuild/android-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.19.tgz", - "integrity": "sha512-4+jkUFQxZkQfQOOxfGVZB38YUWHMJX2ihZwF+2nh8m7bHdWXpixiurgGRN3c/KMSwlltbYI0/i929jwBRMFzbA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@storybook/core-common/node_modules/@esbuild/android-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.19.tgz", - "integrity": "sha512-ae5sHYiP/Ogj2YNrLZbWkBmyHIDOhPgpkGvFnke7XFGQldBDWvc/AyYwSLpNuKw9UNkgnLlB/jPpnBmlF3G9Bg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@storybook/core-common/node_modules/@esbuild/darwin-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.19.tgz", - "integrity": "sha512-HIpQvNQWFYROmWDANMRL+jZvvTQGOiTuwWBIuAsMaQrnStedM+nEKJBzKQ6bfT9RFKH2wZ+ej+DY7+9xHBTFPg==", - "cpu": [ - "arm64" - ], + "node_modules/@storybook/core-server/node_modules/@types/node": { + "version": "16.18.50", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.50.tgz", + "integrity": "sha512-OiDU5xRgYTJ203v4cprTs0RwOCd5c5Zjv+K5P8KSqfiCsB1W3LcamTUMcnQarpq5kOYbhHfSOgIEJvdPyb5xyw==", + "dev": true + }, + "node_modules/@storybook/csf": { + "version": "0.1.1", "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" + "license": "MIT", + "dependencies": { + "type-fest": "^2.19.0" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/darwin-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.19.tgz", - "integrity": "sha512-m6JdvXJQt0thNLIcWOeG079h2ivhYH4B5sVCgqb/B29zTcFd7EE8/J1nIUHhdtwGeItdUeqKaqqb4towwxvglQ==", - "cpu": [ - "x64" - ], + "node_modules/@storybook/csf-plugin": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.4.0.tgz", + "integrity": "sha512-X1L3l/dpz2UYjCEQlFLkW7w1A13pmzDZpJ0lotkV79PALlakMXBeoX3I2E0VMjJATV8wC9RSj56COBAs6HsPeg==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@storybook/csf-tools": "7.4.0", + "unplugin": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.19.tgz", - "integrity": "sha512-G0p4EFMPZhGn/xVNspUyMQbORH3nlKTV0bFNHPIwLraBuAkTeMyxNviTe0ZXUbIXQrR1lrwniFjNFU4s+x7veQ==", - "cpu": [ - "arm64" - ], + "node_modules/@storybook/csf-tools": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.4.0.tgz", + "integrity": "sha512-bKyOmWPyvT50Neq2wCRr2PmVGLVVm6pOw8WL5t5jueD8sRRzo9QdfhEkqmuSyqdsBdt3SiJKL5oA6dqY5Vl9ww==", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@babel/generator": "^7.22.9", + "@babel/parser": "^7.22.7", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "@storybook/csf": "^0.1.0", + "@storybook/types": "7.4.0", + "fs-extra": "^11.1.0", + "recast": "^0.23.1", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/freebsd-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.19.tgz", - "integrity": "sha512-hBxgRlG42+W+j/1/cvlnSa+3+OBKeDCyO7OG2ICya1YJaSCYfSpuG30KfOnQHI7Ytgu4bRqCgrYXxQEzy0zM5Q==", - "cpu": [ - "x64" - ], + "node_modules/@storybook/csf/node_modules/type-fest": { + "version": "2.19.0", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=12" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/linux-arm": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.19.tgz", - "integrity": "sha512-qtWyoQskfJlb9MD45mvzCEKeO4uCnDZ7lPFeNqbfaaJHqBiH9qA5Vu2EuckqYZuFMJWy1l4dxTf9NOulCVfUjg==", - "cpu": [ - "arm" - ], + "node_modules/@storybook/docs-mdx": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz", + "integrity": "sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==", + "dev": true + }, + "node_modules/@storybook/docs-tools": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.4.0.tgz", + "integrity": "sha512-DzXmt4JorAOePoS+sjQznf8jLPI9D5mdB1eSXjfvmGBQyyehKTZv5+TXuxYvT3iPN4rW4OPrIrQCSIrbULFdwA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@storybook/core-common": "7.4.0", + "@storybook/preview-api": "7.4.0", + "@storybook/types": "7.4.0", + "@types/doctrine": "^0.0.3", + "doctrine": "^3.0.0", + "lodash": "^4.17.21" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/linux-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.19.tgz", - "integrity": "sha512-X8g33tczY0GsJq3lhyBrjnFtaKjWVpp1gMq5IlF9BQJ3TUfSK74nQnz9mRIEejmcV+OIYn6bkOJeUaU1Knrljg==", - "cpu": [ - "arm64" - ], + "node_modules/@storybook/global": { + "version": "5.0.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/@storybook/core-common/node_modules/@esbuild/linux-ia32": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.19.tgz", - "integrity": "sha512-SAkRWJgb+KN+gOhmbiE6/wu23D6HRcGQi15cB13IVtBZZgXxygTV5GJlUAKLQ5Gcx0gtlmt+XIxEmSqA6sZTOw==", - "cpu": [ - "ia32" - ], + "node_modules/@storybook/instrumenter": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-7.4.0.tgz", + "integrity": "sha512-jZKxLK0lGKxY8LEul6GP7s+PDlNuXT4JU6MnPY9+SVSo23lP0pAOxo/ojV8WTLf48tcoyL3ztSfbYhxnaJvBfw==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@storybook/channels": "7.4.0", + "@storybook/client-logger": "7.4.0", + "@storybook/core-events": "7.4.0", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.4.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/linux-loong64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.19.tgz", - "integrity": "sha512-YLAslaO8NsB9UOxBchos82AOMRDbIAWChwDKfjlGrHSzS3v1kxce7dGlSTsrb0PJwo1KYccypN3VNjQVLtz7LA==", - "cpu": [ - "loong64" - ], + "node_modules/@storybook/manager": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.4.0.tgz", + "integrity": "sha512-uOSdPBEBKg8WORUZ5HKHb4KnKcTyA5j5Q8MWy/NBaRd22JR3fQkZiKuHer9WJIOQTU+fb6KDmzhZbCTKg5Euog==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/linux-mips64el": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.19.tgz", - "integrity": "sha512-vSYFtlYds/oTI8aflEP65xo3MXChMwBOG1eWPGGKs/ev9zkTeXVvciU+nifq8J1JYMz+eQ4J9JDN0O2RKF8+1Q==", - "cpu": [ - "mips64el" - ], + "node_modules/@storybook/manager-api": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.0.tgz", + "integrity": "sha512-sBfkkt0eZGTozeKrbzMtWLEOQrgqdk24OUJlkc2IDaucR1CBNjoCMjNeYg7cLDw0rXE8W3W3AdWtJnfsUbLMAQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@storybook/channels": "7.4.0", + "@storybook/client-logger": "7.4.0", + "@storybook/core-events": "7.4.0", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.0", + "@storybook/theming": "7.4.0", + "@storybook/types": "7.4.0", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/linux-ppc64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.19.tgz", - "integrity": "sha512-tgG41lRVwlzqO9tv9l7aXYVw35BxKXLtPam1qALScwSqPivI8hjkZLNH0deaaSCYCFT9cBIdB+hUjWFlFFLL9A==", - "cpu": [ - "ppc64" - ], + "node_modules/@storybook/mdx2-csf": { + "version": "1.1.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "license": "MIT" + }, + "node_modules/@storybook/node-logger": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.4.0.tgz", + "integrity": "sha512-tWSWkYyAvp6SxjIBaTklg29avzv/3Lv4c0dOG2o5tz79PyZkq9v6sQtwLLoI8EJA9Mo8Z08vaJp8NZyDQ9RCuA==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/linux-riscv64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.19.tgz", - "integrity": "sha512-EgBZFLoN1S5RuB4cCJI31pBPsjE1nZ+3+fHRjguq9Ibrzo29bOLSBcH1KZJvRNh5qtd+fcYIGiIUia8Jw5r1lQ==", - "cpu": [ - "riscv64" - ], + "node_modules/@storybook/postinstall": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.4.0.tgz", + "integrity": "sha512-ZVBZggqkuj7ysfuHSCd/J7ovWV06zY9uWf+VU+Zw7ZeojDT8QHFrCurPsN7D9679j9vRU1/kSzqvAiStALS33g==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/linux-s390x": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.19.tgz", - "integrity": "sha512-q1V1rtHRojAzjSigZEqrcLkpfh5K09ShCoIsdTakozVBnM5rgV58PLFticqDp5UJ9uE0HScov9QNbbl8HBo6QQ==", - "cpu": [ - "s390x" - ], + "node_modules/@storybook/preview": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.4.0.tgz", + "integrity": "sha512-R4LMTvUrVAbcUetRbAXpY3frkwD0eysqHrByiR73040+ngzDwtZOBAy0JfO3jw3WrWv2dn3kWlao5aEwVc9Exw==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/linux-x64": { - "version": "0.18.19", - "cpu": [ - "x64" - ], + "node_modules/@storybook/preview-api": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.0.tgz", + "integrity": "sha512-ndXO0Nx+eE7ktVE4EqHpQZ0guX7yYBdruDdJ7B739C0+OoPWsJN7jAzUqq0NXaBcYrdaU5gTy+KnWJUt8R+OyA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@storybook/channels": "7.4.0", + "@storybook/client-logger": "7.4.0", + "@storybook/core-events": "7.4.0", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.0", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/netbsd-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.19.tgz", - "integrity": "sha512-3tt3SOS8L3D54R8oER41UdDshlBIAjYhdWRPiZCTZ1E41+shIZBpTjaW5UaN/jD1ENE/Ok5lkeqhoNMbxstyxw==", - "cpu": [ - "x64" - ], + "node_modules/@storybook/react": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-7.4.0.tgz", + "integrity": "sha512-QWsFw/twsNkcWI6brW06sugQQ5dV+fJm4IrEeI28cA4cBHK9G9HKOwCHoXDUWikzZx48XYMpNfs/WyIkuGmEqg==", "dev": true, - "optional": true, - "os": [ - "netbsd" - ], + "dependencies": { + "@storybook/client-logger": "7.4.0", + "@storybook/core-client": "7.4.0", + "@storybook/docs-tools": "7.4.0", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.4.0", + "@storybook/react-dom-shim": "7.4.0", + "@storybook/types": "7.4.0", + "@types/escodegen": "^0.0.6", + "@types/estree": "^0.0.51", + "@types/node": "^16.0.0", + "acorn": "^7.4.1", + "acorn-jsx": "^5.3.1", + "acorn-walk": "^7.2.0", + "escodegen": "^2.1.0", + "html-tags": "^3.1.0", + "lodash": "^4.17.21", + "prop-types": "^15.7.2", + "react-element-to-jsx-string": "^15.0.0", + "ts-dedent": "^2.0.0", + "type-fest": "~2.19", + "util-deprecate": "^1.0.2" + }, "engines": { - "node": ">=12" + "node": ">=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/openbsd-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.19.tgz", - "integrity": "sha512-MxbhcuAYQPlfln1EMc4T26OUoeg/YQc6wNoEV8xvktDKZhLtBxjkoeESSo9BbPaGKhAPzusXYj5n8n5A8iZSrA==", - "cpu": [ - "x64" - ], + "node_modules/@storybook/react-dom-shim": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.4.0.tgz", + "integrity": "sha512-TLpb8a2hnWJoRLqoXpMADh82BFfRZll6JI2Waf1FjnvJ4SF9eS0zBbxybrjW3lFAHWy2XJi+rwcK8FiPj0iBoQ==", "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/sunos-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.19.tgz", - "integrity": "sha512-m0/UOq1wj25JpWqOJxoWBRM9VWc3c32xiNzd+ERlYstUZ6uwx5SZsQUtkiFHaYmcaoj+f6+Tfcl7atuAz3idwQ==", - "cpu": [ - "x64" - ], + "node_modules/@storybook/react-vite": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-7.4.0.tgz", + "integrity": "sha512-ps1FUyD2j0plCSprBI8z6RvavMvcDarIMFNofV48vSjVFzenRmgJfSbYywTnw7NusplJyZlYqldHreDzwVX1dQ==", "dev": true, - "optional": true, - "os": [ - "sunos" - ], + "dependencies": { + "@joshwooding/vite-plugin-react-docgen-typescript": "0.2.1", + "@rollup/pluginutils": "^5.0.2", + "@storybook/builder-vite": "7.4.0", + "@storybook/react": "7.4.0", + "@vitejs/plugin-react": "^3.0.1", + "ast-types": "^0.14.2", + "magic-string": "^0.30.0", + "react-docgen": "6.0.0-alpha.3" + }, "engines": { - "node": ">=12" + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "vite": "^3.0.0 || ^4.0.0" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/win32-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.19.tgz", - "integrity": "sha512-L4vb6pcoB1cEcXUHU6EPnUhUc4+/tcz4OqlXTWPcSQWxegfmcOprhmIleKKwmMNQVc4wrx/+jB7tGkjjDmiupg==", - "cpu": [ - "arm64" - ], + "node_modules/@storybook/react-vite/node_modules/@babel/core": { + "version": "7.22.9", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@storybook/core-common/node_modules/@esbuild/win32-ia32": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.19.tgz", - "integrity": "sha512-rQng7LXSKdrDlNDb7/v0fujob6X0GAazoK/IPd9C3oShr642ri8uIBkgM37/l8B3Rd5sBQcqUXoDdEy75XC/jg==", - "cpu": [ - "ia32" - ], + "node_modules/@storybook/react-vite/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/@storybook/core-common/node_modules/@esbuild/win32-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.19.tgz", - "integrity": "sha512-z69jhyG20Gq4QL5JKPLqUT+eREuqnDAFItLbza4JCmpvUnIlY73YNjd5djlO7kBiiZnvTnJuAbOjIoZIOa1GjA==", - "cpu": [ - "x64" - ], + "node_modules/@storybook/react-vite/node_modules/@rollup/pluginutils": { + "version": "5.0.2", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, "engines": { - "node": ">=12" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "16.18.18", + "node_modules/@storybook/react-vite/node_modules/@types/estree": { + "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/@storybook/core-common/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/@storybook/react-vite/node_modules/@vitejs/plugin-react": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "@babel/core": "^7.20.12", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.27.0", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.1.0-beta.0" } }, - "node_modules/@storybook/core-common/node_modules/esbuild": { - "version": "0.18.19", + "node_modules/@storybook/react-vite/node_modules/@vitejs/plugin-react/node_modules/magic-string": { + "version": "0.27.0", "dev": true, - "hasInstallScript": true, "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" }, "engines": { "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.19", - "@esbuild/android-arm64": "0.18.19", - "@esbuild/android-x64": "0.18.19", - "@esbuild/darwin-arm64": "0.18.19", - "@esbuild/darwin-x64": "0.18.19", - "@esbuild/freebsd-arm64": "0.18.19", - "@esbuild/freebsd-x64": "0.18.19", - "@esbuild/linux-arm": "0.18.19", - "@esbuild/linux-arm64": "0.18.19", - "@esbuild/linux-ia32": "0.18.19", - "@esbuild/linux-loong64": "0.18.19", - "@esbuild/linux-mips64el": "0.18.19", - "@esbuild/linux-ppc64": "0.18.19", - "@esbuild/linux-riscv64": "0.18.19", - "@esbuild/linux-s390x": "0.18.19", - "@esbuild/linux-x64": "0.18.19", - "@esbuild/netbsd-x64": "0.18.19", - "@esbuild/openbsd-x64": "0.18.19", - "@esbuild/sunos-x64": "0.18.19", - "@esbuild/win32-arm64": "0.18.19", - "@esbuild/win32-ia32": "0.18.19", - "@esbuild/win32-x64": "0.18.19" } }, - "node_modules/@storybook/core-common/node_modules/glob": { - "version": "10.3.3", + "node_modules/@storybook/react-vite/node_modules/ast-types": { + "version": "0.14.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/cjs/src/bin.js" + "tslib": "^2.0.1" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=4" } }, - "node_modules/@storybook/core-common/node_modules/minimatch": { - "version": "9.0.3", + "node_modules/@storybook/react-vite/node_modules/magic-string": { + "version": "0.30.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "@jridgewell/sourcemap-codec": "^1.4.15" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=12" } }, - "node_modules/@storybook/core-common/node_modules/minipass": { - "version": "7.0.2", + "node_modules/@storybook/react-vite/node_modules/semver": { + "version": "6.3.1", "dev": true, "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@storybook/react/node_modules/@types/node": { + "version": "16.18.18", + "dev": true, + "license": "MIT" + }, + "node_modules/@storybook/react/node_modules/type-fest": { + "version": "2.19.0", + "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/core-events": { + "node_modules/@storybook/router": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.0.tgz", - "integrity": "sha512-JavEo4dw7TQdF5pSKjk4RtqLgsG2R/eWRI8vZ3ANKa0ploGAnQR/eMTfSxf6TUH3ElBWLJhi+lvUCkKXPQD+dw==", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.0.tgz", + "integrity": "sha512-IATdtFL5C3ryjNQSwaQfrmiOZiVFoVNMevMoBGDC++g0laSW40TGiNK6fUjUDBKuOgbuDt4Svfbl29k21GefEg==", "dev": true, "dependencies": { - "ts-dedent": "^2.0.0" + "@storybook/client-logger": "7.4.0", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/core-server": { + "node_modules/@storybook/telemetry": { "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.4.0.tgz", - "integrity": "sha512-AcbfXatHVx1by4R2CiPIMgjQlOL3sUbVarkhmgUcL0AWT0zC0SCQWUZdo22en+jZhAraazgXyLGNCVP7A+6Tqg==", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.4.0.tgz", + "integrity": "sha512-oxCB3kIbpiDWuXEtQhk/j6t1/h0KKWAuvxmcwGPxwhEvj/uNtoM+f1qhoDID9waxNo4AccU9Px+1ZJQ+2ejcDg==", "dev": true, "dependencies": { - "@aw-web-design/x-default-browser": "1.4.126", - "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.4.0", - "@storybook/channels": "7.4.0", + "@storybook/client-logger": "7.4.0", "@storybook/core-common": "7.4.0", - "@storybook/core-events": "7.4.0", - "@storybook/csf": "^0.1.0", "@storybook/csf-tools": "7.4.0", - "@storybook/docs-mdx": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/manager": "7.4.0", - "@storybook/node-logger": "7.4.0", - "@storybook/preview-api": "7.4.0", - "@storybook/telemetry": "7.4.0", - "@storybook/types": "7.4.0", - "@types/detect-port": "^1.3.0", - "@types/node": "^16.0.0", - "@types/pretty-hrtime": "^1.0.0", - "@types/semver": "^7.3.4", - "better-opn": "^3.0.2", "chalk": "^4.1.0", - "cli-table3": "^0.6.1", - "compression": "^1.7.4", - "detect-port": "^1.3.0", - "express": "^4.17.3", + "detect-package-manager": "^2.0.1", + "fetch-retry": "^5.0.2", "fs-extra": "^11.1.0", - "globby": "^11.0.2", - "ip": "^2.0.0", - "lodash": "^4.17.21", - "open": "^8.4.0", - "pretty-hrtime": "^1.0.3", - "prompts": "^2.4.0", - "read-pkg-up": "^7.0.1", - "semver": "^7.3.7", - "serve-favicon": "^2.5.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1", - "ts-dedent": "^2.0.0", - "util": "^0.12.4", - "util-deprecate": "^1.0.2", - "watchpack": "^2.2.0", - "ws": "^8.2.3" + "read-pkg-up": "^7.0.1" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "16.18.50", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.50.tgz", - "integrity": "sha512-OiDU5xRgYTJ203v4cprTs0RwOCd5c5Zjv+K5P8KSqfiCsB1W3LcamTUMcnQarpq5kOYbhHfSOgIEJvdPyb5xyw==", - "dev": true + "node_modules/@storybook/theming": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.0.tgz", + "integrity": "sha512-eLjEf6G3cqlegfutF/iUrec9LrUjKDj7K4ZhGdACWrf7bQcODs99EK62e9/d8GNKr4b+QMSEuM6XNGaqdPnuzQ==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.0", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/types": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.0.tgz", + "integrity": "sha512-XyzYkmeklywxvElPrIWLczi/PWtEdgTL6ToT3++FVxptsC2LZKS3Ue+sBcQ9xRZhkRemw4HQHwed5EW3dO8yUg==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.0", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "@types/react": "^16.14.34", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/types/node_modules/@types/react": { + "version": "16.14.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.46.tgz", + "integrity": "sha512-Am4pyXMrr6cWWw/TN3oqHtEZl0j+G6Up/O8m65+xF/3ZaUgkv1GAtTPWw4yNRmH0HJXmur6xKCKoMo3rBGynuw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true, + "license": "MIT" }, - "node_modules/@storybook/csf": { - "version": "0.1.1", + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^2.19.0" + "tslib": "^2.4.0" } }, - "node_modules/@storybook/csf-plugin": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.4.0.tgz", - "integrity": "sha512-X1L3l/dpz2UYjCEQlFLkW7w1A13pmzDZpJ0lotkV79PALlakMXBeoX3I2E0VMjJATV8wC9RSj56COBAs6HsPeg==", + "node_modules/@types/argparse": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", + "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", "dev": true, - "dependencies": { - "@storybook/csf-tools": "7.4.0", - "unplugin": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } + "license": "MIT" }, - "node_modules/@storybook/csf-tools": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.4.0.tgz", - "integrity": "sha512-bKyOmWPyvT50Neq2wCRr2PmVGLVVm6pOw8WL5t5jueD8sRRzo9QdfhEkqmuSyqdsBdt3SiJKL5oA6dqY5Vl9ww==", + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/generator": "^7.22.9", - "@babel/parser": "^7.22.7", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "@storybook/csf": "^0.1.0", - "@storybook/types": "7.4.0", - "fs-extra": "^11.1.0", - "recast": "^0.23.1", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@storybook/csf/node_modules/type-fest": { - "version": "2.19.0", + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@babel/types": "^7.0.0" } }, - "node_modules/@storybook/docs-mdx": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz", - "integrity": "sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==", - "dev": true - }, - "node_modules/@storybook/docs-tools": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.4.0.tgz", - "integrity": "sha512-DzXmt4JorAOePoS+sjQznf8jLPI9D5mdB1eSXjfvmGBQyyehKTZv5+TXuxYvT3iPN4rW4OPrIrQCSIrbULFdwA==", + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, "dependencies": { - "@storybook/core-common": "7.4.0", - "@storybook/preview-api": "7.4.0", - "@storybook/types": "7.4.0", - "@types/doctrine": "^0.0.3", - "doctrine": "^3.0.0", - "lodash": "^4.17.21" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@storybook/global": { - "version": "5.0.0", + "node_modules/@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", "dev": true, - "license": "MIT" + "dependencies": { + "@babel/types": "^7.20.7" + } }, - "node_modules/@storybook/instrumenter": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-7.4.0.tgz", - "integrity": "sha512-jZKxLK0lGKxY8LEul6GP7s+PDlNuXT4JU6MnPY9+SVSo23lP0pAOxo/ojV8WTLf48tcoyL3ztSfbYhxnaJvBfw==", + "node_modules/@types/body-parser": { + "version": "1.19.2", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/channels": "7.4.0", - "@storybook/client-logger": "7.4.0", - "@storybook/core-events": "7.4.0", - "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.4.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "@types/connect": "*", + "@types/node": "*" } }, - "node_modules/@storybook/manager": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.4.0.tgz", - "integrity": "sha512-uOSdPBEBKg8WORUZ5HKHb4KnKcTyA5j5Q8MWy/NBaRd22JR3fQkZiKuHer9WJIOQTU+fb6KDmzhZbCTKg5Euog==", + "node_modules/@types/connect": { + "version": "3.4.35", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "license": "MIT", + "dependencies": { + "@types/node": "*" } }, - "node_modules/@storybook/manager-api": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.0.tgz", - "integrity": "sha512-sBfkkt0eZGTozeKrbzMtWLEOQrgqdk24OUJlkc2IDaucR1CBNjoCMjNeYg7cLDw0rXE8W3W3AdWtJnfsUbLMAQ==", + "node_modules/@types/cross-spawn": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.3.tgz", + "integrity": "sha512-BDAkU7WHHRHnvBf5z89lcvACsvkz/n7Tv+HyD/uW76O29HoH1Tk/W6iQrepaZVbisvlEek4ygwT8IW7ow9XLAA==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.0", - "@storybook/client-logger": "7.4.0", - "@storybook/core-events": "7.4.0", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.0", - "@storybook/theming": "7.4.0", - "@storybook/types": "7.4.0", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/node": "*" } }, - "node_modules/@storybook/mdx2-csf": { - "version": "1.1.0", + "node_modules/@types/detect-port": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/detect-port/-/detect-port-1.3.3.tgz", + "integrity": "sha512-bV/jQlAJ/nPY3XqSatkGpu+nGzou+uSwrH1cROhn+jBFg47yaNH+blW4C7p9KhopC7QxCv/6M86s37k8dMk0Yg==", + "dev": true + }, + "node_modules/@types/doctrine": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.3.tgz", + "integrity": "sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==", + "dev": true + }, + "node_modules/@types/ejs": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.2.tgz", + "integrity": "sha512-ZmiaE3wglXVWBM9fyVC17aGPkLo/UgaOjEiI2FXQfyczrCefORPxIe+2dVmnmk3zkVIbizjrlQzmPGhSYGXG5g==", + "dev": true + }, + "node_modules/@types/emscripten": { + "version": "1.39.7", + "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.7.tgz", + "integrity": "sha512-tLqYV94vuqDrXh515F/FOGtBcRMTPGvVV1LzLbtYDcQmmhtpf/gLYf+hikBbQk8MzOHNz37wpFfJbYAuSn8HqA==", + "dev": true + }, + "node_modules/@types/escodegen": { + "version": "0.0.6", "dev": true, "license": "MIT" }, - "node_modules/@storybook/node-logger": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.4.0.tgz", - "integrity": "sha512-tWSWkYyAvp6SxjIBaTklg29avzv/3Lv4c0dOG2o5tz79PyZkq9v6sQtwLLoI8EJA9Mo8Z08vaJp8NZyDQ9RCuA==", + "node_modules/@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/@storybook/postinstall": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.4.0.tgz", - "integrity": "sha512-ZVBZggqkuj7ysfuHSCd/J7ovWV06zY9uWf+VU+Zw7ZeojDT8QHFrCurPsN7D9679j9vRU1/kSzqvAiStALS33g==", + "node_modules/@types/estree": { + "version": "0.0.51", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } + "license": "MIT" }, - "node_modules/@storybook/preview": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.4.0.tgz", - "integrity": "sha512-R4LMTvUrVAbcUetRbAXpY3frkwD0eysqHrByiR73040+ngzDwtZOBAy0JfO3jw3WrWv2dn3kWlao5aEwVc9Exw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "node_modules/@types/express": { + "version": "4.17.17", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" } }, - "node_modules/@storybook/preview-api": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.0.tgz", - "integrity": "sha512-ndXO0Nx+eE7ktVE4EqHpQZ0guX7yYBdruDdJ7B739C0+OoPWsJN7jAzUqq0NXaBcYrdaU5gTy+KnWJUt8R+OyA==", + "node_modules/@types/express-serve-static-core": { + "version": "4.17.33", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/channels": "7.4.0", - "@storybook/client-logger": "7.4.0", - "@storybook/core-events": "7.4.0", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.0", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" } }, - "node_modules/@storybook/react": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-7.4.0.tgz", - "integrity": "sha512-QWsFw/twsNkcWI6brW06sugQQ5dV+fJm4IrEeI28cA4cBHK9G9HKOwCHoXDUWikzZx48XYMpNfs/WyIkuGmEqg==", + "node_modules/@types/find-cache-dir": { + "version": "3.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.0", - "@storybook/core-client": "7.4.0", - "@storybook/docs-tools": "7.4.0", - "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.4.0", - "@storybook/react-dom-shim": "7.4.0", - "@storybook/types": "7.4.0", - "@types/escodegen": "^0.0.6", - "@types/estree": "^0.0.51", - "@types/node": "^16.0.0", - "acorn": "^7.4.1", - "acorn-jsx": "^5.3.1", - "acorn-walk": "^7.2.0", - "escodegen": "^2.1.0", - "html-tags": "^3.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2", - "react-element-to-jsx-string": "^15.0.0", - "ts-dedent": "^2.0.0", - "type-fest": "~2.19", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@types/node": "*" } }, - "node_modules/@storybook/react-dom-shim": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.4.0.tgz", - "integrity": "sha512-TLpb8a2hnWJoRLqoXpMADh82BFfRZll6JI2Waf1FjnvJ4SF9eS0zBbxybrjW3lFAHWy2XJi+rwcK8FiPj0iBoQ==", + "node_modules/@types/glob": { + "version": "7.2.0", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "license": "MIT", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" } }, - "node_modules/@storybook/react-vite": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-7.4.0.tgz", - "integrity": "sha512-ps1FUyD2j0plCSprBI8z6RvavMvcDarIMFNofV48vSjVFzenRmgJfSbYywTnw7NusplJyZlYqldHreDzwVX1dQ==", + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, "dependencies": { - "@joshwooding/vite-plugin-react-docgen-typescript": "0.2.1", - "@rollup/pluginutils": "^5.0.2", - "@storybook/builder-vite": "7.4.0", - "@storybook/react": "7.4.0", - "@vitejs/plugin-react": "^3.0.1", - "ast-types": "^0.14.2", - "magic-string": "^0.30.0", - "react-docgen": "6.0.0-alpha.3" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "vite": "^3.0.0 || ^4.0.0" + "@types/node": "*" } }, - "node_modules/@storybook/react-vite/node_modules/@babel/core": { - "version": "7.22.9", + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", "dev": true, - "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" } }, - "node_modules/@storybook/react-vite/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", "dev": true, "license": "MIT" }, - "node_modules/@storybook/react-vite/node_modules/@rollup/pluginutils": { - "version": "5.0.2", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@storybook/react-vite/node_modules/@types/estree": { - "version": "1.0.1", + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } }, - "node_modules/@storybook/react-vite/node_modules/@vitejs/plugin-react": { - "version": "3.1.0", + "node_modules/@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.20.12", - "@babel/plugin-transform-react-jsx-self": "^7.18.6", - "@babel/plugin-transform-react-jsx-source": "^7.19.6", - "magic-string": "^0.27.0", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.1.0-beta.0" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/@storybook/react-vite/node_modules/@vitejs/plugin-react/node_modules/magic-string": { - "version": "0.27.0", + "node_modules/@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "dev": true + }, + "node_modules/@types/json-stable-stringify": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz", + "integrity": "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.14.198", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.198.tgz", + "integrity": "sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==", + "dev": true + }, + "node_modules/@types/mdx": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime-types": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz", + "integrity": "sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "18.16.19", "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/@storybook/react-vite/node_modules/ast-types": { - "version": "0.14.2", + "node_modules/@types/node-fetch": { + "version": "2.6.4", "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" + "@types/node": "*", + "form-data": "^3.0.0" } }, - "node_modules/@storybook/react-vite/node_modules/magic-string": { - "version": "0.30.2", + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/@storybook/react-vite/node_modules/semver": { - "version": "6.3.1", + "node_modules/@types/parse-json": { + "version": "4.0.0", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } + "license": "MIT" }, - "node_modules/@storybook/react/node_modules/@types/node": { - "version": "16.18.18", + "node_modules/@types/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-O397rnSS9iQI4OirieAtsDqvCj4+3eY1J+EPdNTKuHuRWIfUoGyzX294o8C4KJYaLqgSrd2o60c5EqCU8Zv02g==", + "dev": true + }, + "node_modules/@types/pretty-hrtime": { + "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/@storybook/react/node_modules/type-fest": { - "version": "2.19.0", + "node_modules/@types/prop-types": { + "version": "15.7.5", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, - "node_modules/@storybook/router": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.0.tgz", - "integrity": "sha512-IATdtFL5C3ryjNQSwaQfrmiOZiVFoVNMevMoBGDC++g0laSW40TGiNK6fUjUDBKuOgbuDt4Svfbl29k21GefEg==", + "node_modules/@types/qs": { + "version": "6.9.7", "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.0", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } + "license": "MIT" }, - "node_modules/@storybook/telemetry": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.4.0.tgz", - "integrity": "sha512-oxCB3kIbpiDWuXEtQhk/j6t1/h0KKWAuvxmcwGPxwhEvj/uNtoM+f1qhoDID9waxNo4AccU9Px+1ZJQ+2ejcDg==", + "node_modules/@types/range-parser": { + "version": "1.2.4", "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.0", - "@storybook/core-common": "7.4.0", - "@storybook/csf-tools": "7.4.0", - "chalk": "^4.1.0", - "detect-package-manager": "^2.0.1", - "fetch-retry": "^5.0.2", - "fs-extra": "^11.1.0", - "read-pkg-up": "^7.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } + "license": "MIT" }, - "node_modules/@storybook/theming": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.0.tgz", - "integrity": "sha512-eLjEf6G3cqlegfutF/iUrec9LrUjKDj7K4ZhGdACWrf7bQcODs99EK62e9/d8GNKr4b+QMSEuM6XNGaqdPnuzQ==", + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", "dev": true, + "license": "MIT", "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.0", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/prop-types": "*", + "csstype": "^3.0.2" } }, - "node_modules/@storybook/types": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.0.tgz", - "integrity": "sha512-XyzYkmeklywxvElPrIWLczi/PWtEdgTL6ToT3++FVxptsC2LZKS3Ue+sBcQ9xRZhkRemw4HQHwed5EW3dO8yUg==", + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/channels": "7.4.0", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "@types/react": "^16.14.34", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "@types/react": "*" } }, - "node_modules/@storybook/types/node_modules/@types/react": { - "version": "16.14.46", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.46.tgz", - "integrity": "sha512-Am4pyXMrr6cWWw/TN3oqHtEZl0j+G6Up/O8m65+xF/3ZaUgkv1GAtTPWw4yNRmH0HJXmur6xKCKoMo3rBGynuw==", + "node_modules/@types/scheduler": { + "version": "0.16.2", "dev": true, - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } + "license": "MIT" }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "license": "Apache-2.0" + "node_modules/@types/semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==", + "dev": true }, - "node_modules/@swc/helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", - "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", - "license": "Apache-2.0", + "node_modules/@types/serve-static": { + "version": "1.15.1", + "dev": true, + "license": "MIT", "dependencies": { - "@swc/counter": "^0.1.3", - "tslib": "^2.4.0" + "@types/mime": "*", + "@types/node": "*" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true, - "license": "MIT" + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "node_modules/@types/unist": { + "version": "2.0.6", "dev": true, "license": "MIT" }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "node_modules/@types/yargs": { + "version": "17.0.24", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "node_modules/@types/yargs-parser": { + "version": "21.0.0", "dev": true, "license": "MIT" }, - "node_modules/@tybys/wasm-util": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", - "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.2.tgz", + "integrity": "sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==", "dev": true, - "license": "MIT", "dependencies": { - "tslib": "^2.4.0" + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.7.2", + "@typescript-eslint/type-utils": "6.7.2", + "@typescript-eslint/utils": "6.7.2", + "@typescript-eslint/visitor-keys": "6.7.2", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@types/argparse": { - "version": "1.0.38", - "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", - "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.2.tgz", + "integrity": "sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==", "dev": true, "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "@typescript-eslint/types": "6.7.2", + "@typescript-eslint/visitor-keys": "6.7.2" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.2.tgz", + "integrity": "sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==", "dev": true, "dependencies": { - "@babel/types": "^7.0.0" + "@typescript-eslint/typescript-estree": "6.7.2", + "@typescript-eslint/utils": "6.7.2", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.2.tgz", + "integrity": "sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==", "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.7.2", + "@typescript-eslint/types": "6.7.2", + "@typescript-eslint/typescript-estree": "6.7.2", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz", + "integrity": "sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==", "dev": true, "dependencies": { - "@babel/types": "^7.20.7" + "@typescript-eslint/types": "6.7.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/body-parser": { - "version": "1.19.2", + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.56.0", "dev": true, "license": "MIT", "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "@typescript-eslint/utils": "5.56.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@types/connect": { - "version": "3.4.35", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.56.0", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/cross-spawn": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.3.tgz", - "integrity": "sha512-BDAkU7WHHRHnvBf5z89lcvACsvkz/n7Tv+HyD/uW76O29HoH1Tk/W6iQrepaZVbisvlEek4ygwT8IW7ow9XLAA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/detect-port": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@types/detect-port/-/detect-port-1.3.3.tgz", - "integrity": "sha512-bV/jQlAJ/nPY3XqSatkGpu+nGzou+uSwrH1cROhn+jBFg47yaNH+blW4C7p9KhopC7QxCv/6M86s37k8dMk0Yg==", - "dev": true - }, - "node_modules/@types/doctrine": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.3.tgz", - "integrity": "sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==", - "dev": true - }, - "node_modules/@types/ejs": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.2.tgz", - "integrity": "sha512-ZmiaE3wglXVWBM9fyVC17aGPkLo/UgaOjEiI2FXQfyczrCefORPxIe+2dVmnmk3zkVIbizjrlQzmPGhSYGXG5g==", - "dev": true - }, - "node_modules/@types/emscripten": { - "version": "1.39.7", - "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.7.tgz", - "integrity": "sha512-tLqYV94vuqDrXh515F/FOGtBcRMTPGvVV1LzLbtYDcQmmhtpf/gLYf+hikBbQk8MzOHNz37wpFfJbYAuSn8HqA==", - "dev": true - }, - "node_modules/@types/escodegen": { - "version": "0.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/eslint": { - "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@typescript-eslint/types": "5.56.0", + "@typescript-eslint/visitor-keys": "5.56.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/estree": { - "version": "0.0.51", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/express": { - "version": "4.17.17", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { + "version": "5.56.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.33", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.56.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" + "@typescript-eslint/types": "5.56.0", + "@typescript-eslint/visitor-keys": "5.56.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@types/find-cache-dir": { - "version": "3.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/fs-extra": { - "version": "9.0.13", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", - "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": { + "version": "5.56.0", "dev": true, + "license": "MIT", "dependencies": { - "@types/node": "*" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.56.0", + "@typescript-eslint/types": "5.56.0", + "@typescript-eslint/typescript-estree": "5.56.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@types/glob": { - "version": "7.2.0", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.56.0", "dev": true, "license": "MIT", "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "@typescript-eslint/types": "5.56.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-scope": { + "version": "5.1.1", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@types/node": "*" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/estraverse": { + "version": "4.3.0", "dev": true, - "dependencies": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", + "node_modules/@typescript-eslint/parser": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.2.tgz", + "integrity": "sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "@typescript-eslint/scope-manager": "6.7.2", + "@typescript-eslint/types": "6.7.2", + "@typescript-eslint/typescript-estree": "6.7.2", + "@typescript-eslint/visitor-keys": "6.7.2", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.2.tgz", + "integrity": "sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/istanbul-lib-report": "*" + "@typescript-eslint/types": "6.7.2", + "@typescript-eslint/visitor-keys": "6.7.2" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/jest": { - "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz", + "integrity": "sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==", "dev": true, - "license": "MIT", "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "@typescript-eslint/types": "6.7.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/json-schema": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", - "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", - "dev": true - }, - "node_modules/@types/json-stable-stringify": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz", - "integrity": "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "license": "MIT" - }, - "node_modules/@types/lodash": { - "version": "4.14.198", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.198.tgz", - "integrity": "sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==", - "dev": true - }, - "node_modules/@types/mdx": { - "version": "2.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mime": { - "version": "3.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mime-types": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz", - "integrity": "sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "18.16.19", - "license": "MIT" - }, - "node_modules/@types/node-fetch": { - "version": "2.6.4", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.49.0", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/visitor-keys": "5.49.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-O397rnSS9iQI4OirieAtsDqvCj4+3eY1J+EPdNTKuHuRWIfUoGyzX294o8C4KJYaLqgSrd2o60c5EqCU8Zv02g==", - "dev": true - }, - "node_modules/@types/pretty-hrtime": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "license": "MIT" - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", + "node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types": { + "version": "5.49.0", "dev": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", - "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/react-dom": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", - "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.49.0", + "dev": true, "license": "MIT", "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/semver": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz", - "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==", - "dev": true + "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/utils": "5.49.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } }, - "node_modules/@types/serve-static": { - "version": "1.15.1", + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "5.49.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/mime": "*", - "@types/node": "*" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true - }, - "node_modules/@types/unist": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/yargs": { - "version": "17.0.24", + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.49.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "@types/yargs-parser": "*" + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/visitor-keys": "5.49.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", + "node_modules/@typescript-eslint/types": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.2.tgz", + "integrity": "sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==", "dev": true, - "license": "MIT" + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } }, - "node_modules/@typescript-eslint/eslint-plugin": { + "node_modules/@typescript-eslint/typescript-estree": { "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.2.tgz", - "integrity": "sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.2.tgz", + "integrity": "sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==", "dev": true, "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.7.2", - "@typescript-eslint/type-utils": "6.7.2", - "@typescript-eslint/utils": "6.7.2", + "@typescript-eslint/types": "6.7.2", "@typescript-eslint/visitor-keys": "6.7.2", "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", + "globby": "^11.1.0", + "is-glob": "^4.0.3", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" }, @@ -9262,24 +10408,20 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, "peerDependenciesMeta": { "typescript": { "optional": true } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys": { "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.2.tgz", - "integrity": "sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz", + "integrity": "sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==", "dev": true, "dependencies": { "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/visitor-keys": "6.7.2" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -9289,26 +10431,62 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.2.tgz", - "integrity": "sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==", + "node_modules/@typescript-eslint/utils": { + "version": "5.49.0", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "6.7.2", - "@typescript-eslint/utils": "6.7.2", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.49.0", + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/typescript-estree": "5.49.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "5.49.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.49.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/visitor-keys": "5.49.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependenciesMeta": { "typescript": { @@ -9316,290 +10494,363 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.2.tgz", - "integrity": "sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==", + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.7.2", - "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/typescript-estree": "6.7.2", - "semver": "^7.5.4" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.49.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.49.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/@typescript-eslint/types": { + "version": "5.49.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vanilla-extract/babel-plugin-debug-ids": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.7" + } + }, + "node_modules/@vanilla-extract/babel-plugin-debug-ids/node_modules/@babel/core": { + "version": "7.22.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@vanilla-extract/babel-plugin-debug-ids/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@vanilla-extract/css": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.13.0.tgz", + "integrity": "sha512-JFFBXhnJrPlGqHBabagXqo5ghXw9mtV270ycIGyLDZG8NAK5eRwAYkMowAxuzK7wZSm67GnETWYB7b0AUmyttg==", + "dev": true, + "dependencies": { + "@emotion/hash": "^0.9.0", + "@vanilla-extract/private": "^1.0.3", + "ahocorasick": "1.0.2", + "chalk": "^4.1.1", + "css-what": "^6.1.0", + "cssesc": "^3.0.0", + "csstype": "^3.0.7", + "deep-object-diff": "^1.1.9", + "deepmerge": "^4.2.2", + "media-query-parser": "^2.0.2", + "outdent": "^0.8.0" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz", - "integrity": "sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==", + "node_modules/@vanilla-extract/dynamic": { + "version": "2.0.3", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "6.7.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@vanilla-extract/private": "^1.0.3" } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.56.0", + "node_modules/@vanilla-extract/integration": { + "version": "6.2.1", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "5.56.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@babel/core": "^7.20.7", + "@babel/plugin-syntax-typescript": "^7.20.0", + "@vanilla-extract/babel-plugin-debug-ids": "^1.0.2", + "@vanilla-extract/css": "^1.10.0", + "esbuild": "0.17.6", + "eval": "0.1.6", + "find-up": "^5.0.0", + "javascript-stringify": "^2.0.1", + "lodash": "^4.17.21", + "mlly": "^1.1.0", + "outdent": "^0.8.0", + "vite": "^4.1.4", + "vite-node": "^0.28.5" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "5.56.0", + "node_modules/@vanilla-extract/integration/node_modules/@babel/core": { + "version": "7.22.9", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.56.0", - "@typescript-eslint/visitor-keys": "5.56.0" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/babel" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { - "version": "5.56.0", + "node_modules/@vanilla-extract/integration/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@vanilla-extract/private": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@vanilla-extract/recipes": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@vanilla-extract/recipes/-/recipes-0.5.0.tgz", + "integrity": "sha512-NfdZ8XyqCDG2RsO3FmYPALDMKg5045dRD97NbBb0Fog3LMDVXZxYgDOct5FAWob8U6W4GbhVpRZt1X9hNnH6fA==", + "dev": true, + "peerDependencies": { + "@vanilla-extract/css": "^1.0.0" + } + }, + "node_modules/@vanilla-extract/sprinkles": { + "version": "1.6.1", "dev": true, "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "@vanilla-extract/css": "^1.0.0" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.56.0", + "node_modules/@vanilla-extract/vite-plugin": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@vanilla-extract/vite-plugin/-/vite-plugin-3.9.0.tgz", + "integrity": "sha512-Q2HYAyEJ93Uy7GHQPPiP8SXwPMHGpd4d0YnrIQqB0YZccYbGJR/WFIln9Dmbzx2pdngQUoOfhwEg6kJF8sQrog==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.56.0", - "@typescript-eslint/visitor-keys": "5.56.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@vanilla-extract/integration": "^6.0.2", + "outdent": "^0.8.0", + "postcss": "^8.3.6", + "postcss-load-config": "^3.1.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "vite": "^2.2.3 || ^3.0.0 || ^4.0.3" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": { - "version": "5.56.0", + "node_modules/@vitejs/plugin-react": { + "version": "4.0.4", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.56.0", - "@typescript-eslint/types": "5.56.0", - "@typescript-eslint/typescript-estree": "5.56.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@babel/core": "^7.22.9", + "@babel/plugin-transform-react-jsx-self": "^7.22.5", + "@babel/plugin-transform-react-jsx-source": "^7.22.5", + "react-refresh": "^0.14.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "^14.18.0 || >=16.0.0" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "vite": "^4.2.0" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.56.0", + "node_modules/@vitejs/plugin-react/node_modules/@babel/core": { + "version": "7.22.9", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.56.0", - "eslint-visitor-keys": "^3.3.0" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" + "url": "https://opencollective.com/babel" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/estraverse": { - "version": "4.3.0", + "node_modules/@vitejs/plugin-react/node_modules/semver": { + "version": "6.3.1", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@typescript-eslint/parser": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.2.tgz", - "integrity": "sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==", + "node_modules/@volar/language-core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", + "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "6.7.2", - "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/typescript-estree": "6.7.2", - "@typescript-eslint/visitor-keys": "6.7.2", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@volar/source-map": "1.11.1" } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.2.tgz", - "integrity": "sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==", + }, + "node_modules/@volar/source-map": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", + "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/visitor-keys": "6.7.2" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "muggle-string": "^0.3.1" } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz", - "integrity": "sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==", + "node_modules/@volar/typescript": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", + "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "6.7.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@volar/language-core": "1.11.1", + "path-browserify": "^1.0.1" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.49.0", + "node_modules/@vue/compiler-core": { + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.34.tgz", + "integrity": "sha512-Z0izUf32+wAnQewjHu+pQf1yw00EGOmevl1kE+ljjjMe7oEfpQ+BI3/JNK7yMB4IrUsqLDmPecUrpj3mCP+yJQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@babel/parser": "^7.24.7", + "@vue/shared": "3.4.34", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" } }, - "node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types": { - "version": "5.49.0", + "node_modules/@vue/compiler-core/node_modules/@vue/shared": { + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.34.tgz", + "integrity": "sha512-x5LmiRLpRsd9KTjAB8MPKf0CDPMcuItjP0gbNqFCIgL1I8iYp4zglhj9w9FPCdIbHG2M91RVeIbArFfFTz9I3A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.34.tgz", + "integrity": "sha512-3PUOTS1h5cskdOJMExCu2TInXuM0j60DRPpSCJDqOCupCfUZCJoyQmKtRmA8EgDNZ5kcEE7vketamRZfrEuVDw==", "dev": true, "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "dependencies": { + "@vue/compiler-core": "3.4.34", + "@vue/shared": "3.4.34" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.49.0", + "node_modules/@vue/compiler-dom/node_modules/@vue/shared": { + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.34.tgz", + "integrity": "sha512-x5LmiRLpRsd9KTjAB8MPKf0CDPMcuItjP0gbNqFCIgL1I8iYp4zglhj9w9FPCdIbHG2M91RVeIbArFfFTz9I3A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/language-core": { + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz", + "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.49.0", - "@typescript-eslint/utils": "5.49.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@volar/language-core": "~1.11.1", + "@volar/source-map": "~1.11.1", + "@vue/compiler-dom": "^3.3.0", + "@vue/shared": "^3.3.0", + "computeds": "^0.0.1", + "minimatch": "^9.0.3", + "muggle-string": "^0.3.1", + "path-browserify": "^1.0.1", + "vue-template-compiler": "^2.7.14" }, "peerDependencies": { - "eslint": "*" + "typescript": "*" }, "peerDependenciesMeta": { "typescript": { @@ -9607,1624 +10858,1705 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { - "version": "5.49.0", + "node_modules/@vue/language-core/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.49.0", + "node_modules/@vue/language-core/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16 || 14 >=14.17" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/types": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.2.tgz", - "integrity": "sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==", + "node_modules/@vue/shared": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", + "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==", + "dev": true + }, + "node_modules/@yarnpkg/esbuild-plugin-pnp": { + "version": "3.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz", + "integrity": "sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==", "dev": true, + "dependencies": { + "tslib": "^2.4.0" + }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">=14.15.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "esbuild": ">=0.10.0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.2.tgz", - "integrity": "sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==", + "node_modules/@yarnpkg/fslib": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.10.3.tgz", + "integrity": "sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.2", - "@typescript-eslint/visitor-keys": "6.7.2", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "@yarnpkg/libzip": "^2.3.0", + "tslib": "^1.13.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz", - "integrity": "sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==", + "node_modules/@yarnpkg/fslib/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@yarnpkg/libzip": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.3.0.tgz", + "integrity": "sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.2", - "eslint-visitor-keys": "^3.4.1" + "@types/emscripten": "^1.39.6", + "tslib": "^1.13.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.49.0", + "node_modules/@yarnpkg/libzip/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/@yarnpkg/parsers": { + "version": "3.0.0-rc.46", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", + "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", "dev": true, - "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/typescript-estree": "5.49.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">=14.15.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { - "version": "5.49.0", + "node_modules/@yarnpkg/parsers/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.49.0", + "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", + "node_modules/@zkochan/js-yaml": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz", + "integrity": "sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "argparse": "^2.0.1" }, - "engines": { - "node": ">=8.0.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", + "node_modules/abbrev": { + "version": "1.1.1", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } + "license": "ISC" }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.49.0", + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.49.0", - "eslint-visitor-keys": "^3.3.0" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">= 0.6" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/@typescript-eslint/types": { - "version": "5.49.0", + "node_modules/acorn": { + "version": "7.4.1", "dev": true, "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "bin": { + "acorn": "bin/acorn" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@vanilla-extract/babel-plugin-debug-ids": { - "version": "1.0.2", + "node_modules/acorn-jsx": { + "version": "5.3.2", "dev": true, "license": "MIT", - "dependencies": { - "@babel/core": "^7.20.7" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@vanilla-extract/babel-plugin-debug-ids/node_modules/@babel/core": { - "version": "7.22.9", + "node_modules/acorn-walk": { + "version": "7.2.0", "dev": true, "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - }, "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=0.4.0" } }, - "node_modules/@vanilla-extract/babel-plugin-debug-ids/node_modules/semver": { - "version": "6.3.1", + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@vanilla-extract/css": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.13.0.tgz", - "integrity": "sha512-JFFBXhnJrPlGqHBabagXqo5ghXw9mtV270ycIGyLDZG8NAK5eRwAYkMowAxuzK7wZSm67GnETWYB7b0AUmyttg==", + "node_modules/agent-base": { + "version": "6.0.2", "dev": true, + "license": "MIT", "dependencies": { - "@emotion/hash": "^0.9.0", - "@vanilla-extract/private": "^1.0.3", - "ahocorasick": "1.0.2", - "chalk": "^4.1.1", - "css-what": "^6.1.0", - "cssesc": "^3.0.0", - "csstype": "^3.0.7", - "deep-object-diff": "^1.1.9", - "deepmerge": "^4.2.2", - "media-query-parser": "^2.0.2", - "outdent": "^0.8.0" + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "node_modules/@vanilla-extract/dynamic": { - "version": "2.0.3", + "node_modules/aggregate-error": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "@vanilla-extract/private": "^1.0.3" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@vanilla-extract/integration": { - "version": "6.2.1", + "node_modules/ahocorasick": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.20.7", - "@babel/plugin-syntax-typescript": "^7.20.0", - "@vanilla-extract/babel-plugin-debug-ids": "^1.0.2", - "@vanilla-extract/css": "^1.10.0", - "esbuild": "0.17.6", - "eval": "0.1.6", - "find-up": "^5.0.0", - "javascript-stringify": "^2.0.1", - "lodash": "^4.17.21", - "mlly": "^1.1.0", - "outdent": "^0.8.0", - "vite": "^4.1.4", - "vite-node": "^0.28.5" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@vanilla-extract/integration/node_modules/@babel/core": { - "version": "7.22.9", + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", "dev": true, "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "ajv": "^8.5.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@vanilla-extract/integration/node_modules/semver": { - "version": "6.3.1", + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@vanilla-extract/private": { - "version": "1.0.3", + "node_modules/ajv/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, "license": "MIT" }, - "node_modules/@vanilla-extract/recipes": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@vanilla-extract/recipes/-/recipes-0.5.0.tgz", - "integrity": "sha512-NfdZ8XyqCDG2RsO3FmYPALDMKg5045dRD97NbBb0Fog3LMDVXZxYgDOct5FAWob8U6W4GbhVpRZt1X9hNnH6fA==", + "node_modules/ansi-colors": { + "version": "4.1.3", "dev": true, - "peerDependencies": { - "@vanilla-extract/css": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/@vanilla-extract/sprinkles": { - "version": "1.6.1", + "node_modules/ansi-escapes": { + "version": "4.3.2", "dev": true, "license": "MIT", - "peerDependencies": { - "@vanilla-extract/css": "^1.0.0" + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vanilla-extract/vite-plugin": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@vanilla-extract/vite-plugin/-/vite-plugin-3.9.0.tgz", - "integrity": "sha512-Q2HYAyEJ93Uy7GHQPPiP8SXwPMHGpd4d0YnrIQqB0YZccYbGJR/WFIln9Dmbzx2pdngQUoOfhwEg6kJF8sQrog==", + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", "dev": true, - "dependencies": { - "@vanilla-extract/integration": "^6.0.2", - "outdent": "^0.8.0", - "postcss": "^8.3.6", - "postcss-load-config": "^3.1.0" + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" }, - "peerDependencies": { - "vite": "^2.2.3 || ^3.0.0 || ^4.0.3" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vitejs/plugin-react": { - "version": "4.0.4", + "node_modules/ansi-regex": { + "version": "5.0.1", "dev": true, "license": "MIT", - "dependencies": { - "@babel/core": "^7.22.9", - "@babel/plugin-transform-react-jsx-self": "^7.22.5", - "@babel/plugin-transform-react-jsx-source": "^7.22.5", - "react-refresh": "^0.14.0" - }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0" + "node": ">=8" } }, - "node_modules/@vitejs/plugin-react/node_modules/@babel/core": { - "version": "7.22.9", + "node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@vitejs/plugin-react/node_modules/semver": { - "version": "6.3.1", + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@volar/language-core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", - "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "node_modules/app-root-dir": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", "dev": true, - "license": "MIT", "dependencies": { - "@volar/source-map": "1.11.1" + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@volar/source-map": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", - "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "node_modules/aria-query": { + "version": "5.1.3", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "muggle-string": "^0.3.1" + "deep-equal": "^2.0.5" } }, - "node_modules/@volar/typescript": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", - "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, "license": "MIT", "dependencies": { - "@volar/language-core": "1.11.1", - "path-browserify": "^1.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vue/compiler-core": { - "version": "3.4.34", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.34.tgz", - "integrity": "sha512-Z0izUf32+wAnQewjHu+pQf1yw00EGOmevl1kE+ljjjMe7oEfpQ+BI3/JNK7yMB4IrUsqLDmPecUrpj3mCP+yJQ==", + "node_modules/array-find-index": { + "version": "1.0.2", "dev": true, "license": "MIT", - "dependencies": { - "@babel/parser": "^7.24.7", - "@vue/shared": "3.4.34", - "entities": "^4.5.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@vue/compiler-core/node_modules/@vue/shared": { - "version": "3.4.34", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.34.tgz", - "integrity": "sha512-x5LmiRLpRsd9KTjAB8MPKf0CDPMcuItjP0gbNqFCIgL1I8iYp4zglhj9w9FPCdIbHG2M91RVeIbArFfFTz9I3A==", - "dev": true, - "license": "MIT" + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true }, - "node_modules/@vue/compiler-dom": { - "version": "3.4.34", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.34.tgz", - "integrity": "sha512-3PUOTS1h5cskdOJMExCu2TInXuM0j60DRPpSCJDqOCupCfUZCJoyQmKtRmA8EgDNZ5kcEE7vketamRZfrEuVDw==", + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.4.34", - "@vue/shared": "3.4.34" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vue/compiler-dom/node_modules/@vue/shared": { - "version": "3.4.34", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.34.tgz", - "integrity": "sha512-x5LmiRLpRsd9KTjAB8MPKf0CDPMcuItjP0gbNqFCIgL1I8iYp4zglhj9w9FPCdIbHG2M91RVeIbArFfFTz9I3A==", + "node_modules/array-union": { + "version": "2.1.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/@vue/language-core": { - "version": "1.8.27", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz", - "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", "dev": true, "license": "MIT", "dependencies": { - "@volar/language-core": "~1.11.1", - "@volar/source-map": "~1.11.1", - "@vue/compiler-dom": "^3.3.0", - "@vue/shared": "^3.3.0", - "computeds": "^0.0.1", - "minimatch": "^9.0.3", - "muggle-string": "^0.3.1", - "path-browserify": "^1.0.1", - "vue-template-compiler": "^2.7.14" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" }, - "peerDependencies": { - "typescript": "*" + "engines": { + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vue/language-core/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vue/language-core/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/array.prototype.flat": { + "version": "1.3.1", "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vue/shared": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", - "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==", - "dev": true - }, - "node_modules/@yarnpkg/esbuild-plugin-pnp": { - "version": "3.0.0-rc.15", - "resolved": "https://registry.npmjs.org/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz", - "integrity": "sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.4.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=14.15.0" + "node": ">= 0.4" }, - "peerDependencies": { - "esbuild": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@yarnpkg/fslib": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.10.3.tgz", - "integrity": "sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==", + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, + "license": "MIT", "dependencies": { - "@yarnpkg/libzip": "^2.3.0", - "tslib": "^1.13.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" }, "engines": { - "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" + "node": ">= 0.4" } }, - "node_modules/@yarnpkg/fslib/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@yarnpkg/libzip": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.3.0.tgz", - "integrity": "sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, + "license": "MIT", "dependencies": { - "@types/emscripten": "^1.39.6", - "tslib": "^1.13.0" + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" }, "engines": { - "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@yarnpkg/libzip/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", + "node_modules/asap": { + "version": "2.0.6", "dev": true, - "license": "BSD-2-Clause" + "license": "MIT" }, - "node_modules/@yarnpkg/parsers": { - "version": "3.0.0-rc.46", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", - "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", + "node_modules/assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", "dev": true, "dependencies": { - "js-yaml": "^3.10.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=14.15.0" + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" } }, - "node_modules/@yarnpkg/parsers/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/ast-metadata-inferer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.0.tgz", + "integrity": "sha512-jOMKcHht9LxYIEQu+RVd22vtgrPaVCtDRQ/16IGmurdzxvYbDd5ynxjnyrzLnieG96eTcAyaoj/wN/4/1FyyeA==", "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "@mdn/browser-compat-data": "^5.2.34" } }, - "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/ast-types": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", + "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "tslib": "^2.0.1" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=4" } }, - "node_modules/@zkochan/js-yaml": { + "node_modules/ast-types-flow": { "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz", - "integrity": "sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==", "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } + "license": "ISC" }, - "node_modules/abbrev": { - "version": "1.1.1", + "node_modules/async": { + "version": "3.2.4", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } + "license": "MIT" }, - "node_modules/acorn": { - "version": "7.4.1", + "node_modules/autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", "dev": true, - "license": "MIT", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, "bin": { - "acorn": "bin/acorn" + "autoprefixer": "bin/autoprefixer" }, "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "license": "MIT", + "node": "^10 || ^12 || >=14" + }, "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "postcss": "^8.1.0" } }, - "node_modules/acorn-walk": { - "version": "7.2.0", + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "node_modules/axe-core": { + "version": "4.6.3", "dev": true, + "license": "MPL-2.0", "engines": { - "node": ">= 10.0.0" + "node": ">=4" } }, - "node_modules/agent-base": { - "version": "6.0.2", + "node_modules/axios": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "dev": true, "license": "MIT", "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, - "license": "MIT", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/ahocorasick": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "node_modules/axobject-query": { + "version": "3.1.1", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "deep-equal": "^2.0.5" } }, - "node_modules/ajv-draft-04": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", - "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", "dev": true, - "license": "MIT", "peerDependencies": { - "ajv": "^8.5.0" + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "node_modules/babel-plugin-const-enum": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz", + "integrity": "sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^8.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.3.3", + "@babel/traverse": "^7.16.0" }, "peerDependencies": { - "ajv": "^8.0.0" + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "engines": { + "node": ">=8" } }, - "node_modules/ajv/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, - "license": "MIT" + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/ansi-colors": { - "version": "4.1.3", + "node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.21.3" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/anymatch": { - "version": "3.1.3", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@babel/helper-define-polyfill-provider": "^0.6.2" }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/app-root-dir": { + "node_modules/babel-plugin-transform-hook-names": { "version": "1.0.2", "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "license": "Python-2.0" + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.12.10" + } }, - "node_modules/aria-hidden": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", - "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "node_modules/babel-plugin-transform-typescript-metadata": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz", + "integrity": "sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==", "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "node_modules/aria-query": { - "version": "5.1.3", - "license": "Apache-2.0", + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, "dependencies": { - "deep-equal": "^2.0.5" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "license": "MIT", + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/array-find-index": { + "node_modules/balanced-match": { "version": "1.0.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true + "node_modules/base64-js": { + "version": "1.5.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "license": "MIT", + "node_modules/better-opn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", + "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", + "dev": true, "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "open": "^8.0.4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12.0.0" } }, - "node_modules/array-union": { - "version": "2.1.0", - "license": "MIT", + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.6" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" - }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", + "node_modules/bl": { + "version": "4.1.0", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "license": "MIT", + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "license": "MIT", + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" + "ms": "2.0.0" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "license": "MIT", + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "side-channel": "^1.0.4" }, "engines": { - "node": ">= 0.4" + "node": ">=0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/asap": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/assert": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", - "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "is-nan": "^1.3.2", - "object-is": "^1.1.5", - "object.assign": "^4.1.4", - "util": "^0.12.5" + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "dependencies": { + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" } }, - "node_modules/ast-metadata-inferer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.0.tgz", - "integrity": "sha512-jOMKcHht9LxYIEQu+RVd22vtgrPaVCtDRQ/16IGmurdzxvYbDd5ynxjnyrzLnieG96eTcAyaoj/wN/4/1FyyeA==", + "node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, + "license": "MIT", "dependencies": { - "@mdn/browser-compat-data": "^5.2.34" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/ast-types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", - "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", + "node_modules/braces": { + "version": "3.0.2", "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.0.1" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "license": "ISC" - }, - "node_modules/async": { - "version": "3.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "node_modules/browser-assert": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", + "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", "dev": true }, - "node_modules/asynckit": { - "version": "0.4.0", + "node_modules/browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==", "dev": true, - "license": "MIT" + "dependencies": { + "pako": "~0.2.0" + } }, - "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "node_modules/browserslist": { + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", "dev": true, "funding": [ { "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://opencollective.com/browserslist" }, { "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" + "url": "https://tidelift.com/funding/github/npm/browserslist" }, { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.1.0" }, "bin": { - "autoprefixer": "bin/autoprefixer" + "browserslist": "cli.js" }, "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, "license": "MIT", "dependencies": { - "possible-typed-array-names": "^1.0.0" + "fast-json-stable-stringify": "2.x" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6" } }, - "node_modules/axe-core": { - "version": "4.6.3", - "license": "MPL-2.0", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/axios": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", - "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "node_modules/buffer-from": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/builtins": { + "version": "5.0.1", "dev": true, "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "semver": "^7.0.0" } }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/bundle-require": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-5.0.0.tgz", + "integrity": "sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==", "dev": true, + "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "load-tsconfig": "^0.2.3" }, "engines": { - "node": ">= 6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "esbuild": ">=0.18" } }, - "node_modules/axobject-query": { - "version": "3.1.1", - "license": "Apache-2.0", + "node_modules/busboy": { + "version": "1.6.0", "dependencies": { - "deep-equal": "^2.0.5" + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" } }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 0.8" } }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "node_modules/c8": { + "version": "7.14.0", "dev": true, + "license": "ISC", "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "@bcoe/v8-coverage": "^0.2.3", + "@istanbuljs/schema": "^0.1.3", + "find-up": "^5.0.0", + "foreground-child": "^2.0.0", + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-reports": "^3.1.4", + "rimraf": "^3.0.2", + "test-exclude": "^6.0.0", + "v8-to-istanbul": "^9.0.0", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9" + }, + "bin": { + "c8": "bin/c8.js" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/c8/node_modules/foreground-child": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/c8/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-plugin-const-enum": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz", - "integrity": "sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==", + "node_modules/callsites": { + "version": "3.1.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-typescript": "^7.3.3", - "@babel/traverse": "^7.16.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", + "node_modules/camelcase": { + "version": "5.3.1", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "node_modules/caniuse-lite": { + "version": "1.0.30001644", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001644.tgz", + "integrity": "sha512-YGvlOZB4QhZuiis+ETS0VXR+MExbFf4fZYYeMTEE0aTQd/RdIjkTyZjLrbYVKnHzppDvnOhritRVv+i7Go6mHw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" + "engines": { + "node": ">=10" } }, - "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "license": "MIT", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=8" + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", - "semver": "^6.3.1" + "is-glob": "^4.0.1" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": ">= 6" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/chownr": { + "version": "2.0.0", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=10" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "node_modules/chromatic": { + "version": "6.21.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "bin": { + "chroma": "dist/bin.js", + "chromatic": "dist/bin.js", + "chromatic-cli": "dist/bin.js" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/babel-plugin-transform-hook-names": { - "version": "1.0.2", + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/classnames": { + "version": "2.3.2", + "dev": true, + "license": "MIT" + }, + "node_modules/clean-stack": { + "version": "2.2.0", "dev": true, "license": "MIT", - "peerDependencies": { - "@babel/core": "^7.12.10" + "engines": { + "node": ">=6" } }, - "node_modules/babel-plugin-transform-typescript-metadata": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz", - "integrity": "sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==", + "node_modules/cli-cursor": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0" + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "node_modules/cli-spinners": { + "version": "2.6.1", "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "license": "MIT", + "engines": { + "node": ">=6" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" + "string-width": "^4.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "10.* || >= 12.*" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "optionalDependencies": { + "@colors/colors": "1.5.0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/client-only": { + "version": "0.0.1", "license": "MIT" }, - "node_modules/better-opn": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", - "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", + "node_modules/cliui": { + "version": "7.0.4", "dev": true, + "license": "ISC", "dependencies": { - "open": "^8.0.4" - }, - "engines": { - "node": ">=12.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "node_modules/clone": { + "version": "1.0.4", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.6" + "node": ">=0.8" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", + "node_modules/clone-deep": { + "version": "4.0.1", "dev": true, "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/bl": { - "version": "4.1.0", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", "dev": true, + "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=7.0.0" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/color-name": { + "version": "1.1.4", "dev": true, - "dependencies": { - "ms": "2.0.0" - } + "license": "MIT" }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/columnify": { + "version": "1.6.0", "dev": true, + "license": "MIT", "dependencies": { - "side-channel": "^1.0.4" + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" }, "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8.0.0" } }, - "node_modules/bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "node_modules/combined-stream": { + "version": "1.0.8", "dev": true, + "license": "MIT", "dependencies": { - "big-integer": "^1.6.44" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">= 5.10.0" + "node": ">= 0.8" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "license": "MIT", + "node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "node_modules/commondir": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/braces": { - "version": "3.0.2", - "license": "MIT", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/browser-assert": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", - "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", - "dev": true - }, - "node_modules/browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==", + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "dev": true, - "dependencies": { - "pako": "~0.2.0" + "engines": { + "node": ">= 0.8" } }, - "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.1.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "ms": "2.0.0" } }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/computeds": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", + "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "dev": true, + "license": "MIT" + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true, + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", "dev": true, "license": "MIT", - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, "engines": { - "node": ">= 6" + "node": "^14.18.0 || >=16.10.0" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "dependencies": { - "node-int64": "^0.4.0" + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/buffer": { - "version": "5.7.1", + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -11239,672 +12571,776 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } + ] }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, "engines": { - "node": "*" + "node": ">= 0.6" } }, - "node_modules/buffer-from": { - "version": "1.1.2", + "node_modules/convert-source-map": { + "version": "1.9.0", "dev": true, "license": "MIT" }, - "node_modules/builtins": { - "version": "5.0.1", + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/busboy": { - "version": "1.6.0", + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/core-js-compat": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", + "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "dev": true, + "license": "MIT", "dependencies": { - "streamsearch": "^1.1.0" + "browserslist": "^4.23.0" }, - "engines": { - "node": ">=10.16.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/core-util-is": { + "version": "1.0.2", "dev": true, - "engines": { - "node": ">= 0.8" - } + "license": "MIT" }, - "node_modules/c8": { - "version": "7.14.0", + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, - "license": "ISC", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@istanbuljs/schema": "^0.1.3", - "find-up": "^5.0.0", - "foreground-child": "^2.0.0", - "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-reports": "^3.1.4", - "rimraf": "^3.0.2", - "test-exclude": "^6.0.0", - "v8-to-istanbul": "^9.0.0", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" }, "bin": { - "c8": "bin/c8.js" + "create-jest": "bin/create-jest.js" }, "engines": { - "node": ">=10.12.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/c8/node_modules/foreground-child": { - "version": "2.0.0", + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8.0.0" - } + "license": "MIT" }, - "node_modules/c8/node_modules/yargs-parser": { - "version": "20.2.9", + "node_modules/cross-spawn": { + "version": "7.0.3", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">= 8" } }, - "node_modules/cac": { - "version": "6.7.14", + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, + "node_modules/css-what": { + "version": "6.1.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">= 0.4" + "node": ">= 6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/callsites": { - "version": "3.1.0", + "node_modules/cssesc": { + "version": "3.0.0", + "dev": true, "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/camelcase": { - "version": "5.3.1", + "node_modules/csstype": { + "version": "3.1.1", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "dev": true, + "dependencies": { + "array-find-index": "^1.0.1" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001644", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001644.tgz", - "integrity": "sha512-YGvlOZB4QhZuiis+ETS0VXR+MExbFf4fZYYeMTEE0aTQd/RdIjkTyZjLrbYVKnHzppDvnOhritRVv+i7Go6mHw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "dev": true, + "license": "BSD-2-Clause" }, - "node_modules/chalk": { - "version": "4.1.2", + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dev": true, "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 0.4" }, "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "ms": "2.1.2" }, "engines": { - "node": ">= 6" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/chownr": { - "version": "2.0.0", + "node_modules/debuglog": { + "version": "1.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": ">=10" + "node": "*" } }, - "node_modules/chromatic": { - "version": "6.21.0", + "node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", "dev": true, "license": "MIT", - "bin": { - "chroma": "dist/bin.js", - "chromatic": "dist/bin.js", - "chromatic-cli": "dist/bin.js" + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "node_modules/deep-equal": { + "version": "2.2.0", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" }, - "node_modules/classnames": { - "version": "2.3.2", + "node_modules/deep-object-diff": { + "version": "1.1.9", "dev": true, "license": "MIT" }, - "node_modules/clean-stack": { - "version": "2.2.0", + "node_modules/deepmerge": { + "version": "4.3.1", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", "dev": true, - "license": "MIT", "dependencies": { - "restore-cursor": "^3.1.0" + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-spinners": { - "version": "2.6.1", + "node_modules/defaults": { + "version": "1.0.4", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "clone": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^4.2.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { - "node": "10.* || >= 12.*" + "node": ">= 0.4" }, - "optionalDependencies": { - "@colors/colors": "1.5.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/client-only": { - "version": "0.0.1", - "license": "MIT" + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/cliui": { - "version": "7.0.4", + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defu": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.2.tgz", + "integrity": "sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==", + "dev": true + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "dev": true, + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" } }, - "node_modules/clone": { - "version": "1.0.4", + "node_modules/depd": { + "version": "2.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.8" + "node": ">= 0.8" } }, - "node_modules/clone-deep": { - "version": "4.0.1", + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, "engines": { "node": ">=6" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "node_modules/color-convert": { - "version": "2.0.1", + "node_modules/detect-indent": { + "version": "6.1.0", + "dev": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", "dev": true }, - "node_modules/columnify": { - "version": "1.6.0", + "node_modules/detect-package-manager": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-2.0.1.tgz", + "integrity": "sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==", "dev": true, - "license": "MIT", "dependencies": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" + "execa": "^5.1.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=12" } }, - "node_modules/combined-stream": { - "version": "1.0.8", + "node_modules/detect-port": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", "dev": true, - "license": "MIT", "dependencies": { - "delayed-stream": "~1.0.0" + "address": "^1.0.1", + "debug": "4" }, - "engines": { - "node": ">= 0.8" + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" } }, - "node_modules/commander": { - "version": "2.20.3", + "node_modules/dezalgo": { + "version": "1.0.4", "dev": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } }, - "node_modules/commondir": { - "version": "1.0.1", + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, "engines": { - "node": ">= 0.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "node_modules/dir-glob": { + "version": "3.0.1", "dev": true, + "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "path-type": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/compression/node_modules/bytes": { + "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, "engines": { - "node": ">= 0.8" + "node": ">=6.0.0" } }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", "dev": true, - "dependencies": { - "ms": "2.0.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/computeds": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", - "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/confbox": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", - "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "node_modules/dotenv-expand": { + "version": "10.0.0", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "node_modules/duplexer": { + "version": "0.1.2", "dev": true, "license": "MIT" }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "engines": { - "node": ">= 0.6" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/convert-source-map": { - "version": "1.9.0", + "node_modules/eastasianwidth": { + "version": "0.2.0", "dev": true, "license": "MIT" }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true + "node_modules/electron-to-chromium": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.3.tgz", + "integrity": "sha512-QNdYSS5i8D9axWp/6XIezRObRHqaav/ur9z1VzCDUCH1XIFOr9WQk5xmgunhsTpjjgDy3oLxO/WMOVZlpUQrlA==", + "dev": true, + "license": "ISC" }, - "node_modules/core-js-compat": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", - "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0" + "engines": { + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/core-util-is": { - "version": "1.0.2", + "node_modules/emoji-regex": { + "version": "9.2.2", "dev": true, "license": "MIT" }, - "node_modules/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8" } }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, - "license": "MIT" + "dependencies": { + "once": "^1.4.0" + } }, - "node_modules/cross-spawn": { - "version": "7.0.3", + "node_modules/enhanced-resolve": { + "version": "5.12.0", + "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">= 8" + "node": ">=10.13.0" } }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "node_modules/enquirer": { + "version": "2.3.6", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, "engines": { - "node": ">=8" + "node": ">=8.6" } }, - "node_modules/css-what": { - "version": "6.1.0", + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, "license": "BSD-2-Clause", "engines": { - "node": ">= 6" + "node": ">=0.12" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/cssesc": { - "version": "3.0.0", + "node_modules/envinfo": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", "dev": true, "license": "MIT", "bin": { - "cssesc": "bin/cssesc" + "envinfo": "dist/cli.js" }, "engines": { "node": ">=4" } }, - "node_modules/csstype": { - "version": "3.1.1", - "license": "MIT" - }, - "node_modules/currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "node_modules/error-ex": { + "version": "1.3.2", "dev": true, + "license": "MIT", "dependencies": { - "array-find-index": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "is-arrayish": "^0.2.1" } }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "license": "BSD-2-Clause" - }, - "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -11913,2832 +13349,2822 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "node_modules/es-iterator-helpers": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, - "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "es-errors": "^1.3.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">= 0.4" } }, - "node_modules/debuglog": { - "version": "1.0.1", + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, "engines": { - "node": "*" + "node": ">= 0.4" } }, - "node_modules/dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, "license": "MIT", - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } + "dependencies": { + "hasown": "^2.0.0" } }, - "node_modules/deep-equal": { - "version": "2.2.0", + "node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.2", - "get-intrinsic": "^1.1.3", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "license": "MIT" - }, - "node_modules/deep-object-diff": { - "version": "1.1.9", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", + "node_modules/esbuild": { + "version": "0.17.6", "dev": true, + "hasInstallScript": true, "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.6", + "@esbuild/android-arm64": "0.17.6", + "@esbuild/android-x64": "0.17.6", + "@esbuild/darwin-arm64": "0.17.6", + "@esbuild/darwin-x64": "0.17.6", + "@esbuild/freebsd-arm64": "0.17.6", + "@esbuild/freebsd-x64": "0.17.6", + "@esbuild/linux-arm": "0.17.6", + "@esbuild/linux-arm64": "0.17.6", + "@esbuild/linux-ia32": "0.17.6", + "@esbuild/linux-loong64": "0.17.6", + "@esbuild/linux-mips64el": "0.17.6", + "@esbuild/linux-ppc64": "0.17.6", + "@esbuild/linux-riscv64": "0.17.6", + "@esbuild/linux-s390x": "0.17.6", + "@esbuild/linux-x64": "0.17.6", + "@esbuild/netbsd-x64": "0.17.6", + "@esbuild/openbsd-x64": "0.17.6", + "@esbuild/sunos-x64": "0.17.6", + "@esbuild/win32-arm64": "0.17.6", + "@esbuild/win32-ia32": "0.17.6", + "@esbuild/win32-x64": "0.17.6" } }, - "node_modules/default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "node_modules/esbuild-plugin-alias": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz", + "integrity": "sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==", + "dev": true + }, + "node_modules/esbuild-register": { + "version": "3.4.2", "dev": true, + "license": "MIT", "dependencies": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" + "debug": "^4.3.4" }, + "peerDependencies": { + "esbuild": ">=0.12 <1" + } + }, + "node_modules/esbuild/node_modules/@esbuild/android-arm": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.6.tgz", + "integrity": "sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/defaults": { - "version": "1.0.4", + "node_modules/esbuild/node_modules/@esbuild/android-arm64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.6.tgz", + "integrity": "sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, + "node_modules/esbuild/node_modules/@esbuild/android-x64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.6.tgz", + "integrity": "sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "license": "MIT", + "node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.6.tgz", + "integrity": "sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, + "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.6.tgz", + "integrity": "sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/defu": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.2.tgz", - "integrity": "sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==", - "dev": true - }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.6.tgz", + "integrity": "sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", + "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.6.tgz", + "integrity": "sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=0.4.0" + "node": ">=12" } }, - "node_modules/depd": { - "version": "2.0.0", + "node_modules/esbuild/node_modules/@esbuild/linux-arm": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.6.tgz", + "integrity": "sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.8" + "node": ">=12" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.6.tgz", + "integrity": "sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.6.tgz", + "integrity": "sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ==", + "cpu": [ + "ia32" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=12" } }, - "node_modules/detect-indent": { - "version": "6.1.0", + "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.6.tgz", + "integrity": "sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==", + "cpu": [ + "loong64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.6.tgz", + "integrity": "sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==", + "cpu": [ + "mips64el" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/detect-node-es": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", - "dev": true + "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.6.tgz", + "integrity": "sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/detect-package-manager": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-2.0.1.tgz", - "integrity": "sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==", + "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.6.tgz", + "integrity": "sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "execa": "^5.1.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { "node": ">=12" } }, - "node_modules/detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.6.tgz", + "integrity": "sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "address": "^1.0.1", - "debug": "4" - }, - "bin": { - "detect": "bin/detect-port.js", - "detect-port": "bin/detect-port.js" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/dezalgo": { - "version": "1.0.4", + "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.6.tgz", + "integrity": "sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.6.tgz", + "integrity": "sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BSD-3-Clause", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=0.3.1" + "node": ">=12" } }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.6.tgz", + "integrity": "sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, + "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.6.tgz", + "integrity": "sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, + "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.6.tgz", + "integrity": "sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "node_modules/esbuild/node_modules/@esbuild/win32-x64": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.6.tgz", + "integrity": "sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BSD-2-Clause", + "optional": true, + "os": [ + "win32" + ], "engines": { "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" } }, - "node_modules/dotenv-expand": { - "version": "10.0.0", + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/duplexer": { - "version": "0.1.2", - "dev": true, - "license": "MIT" + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "node_modules/escape-string-regexp": { + "version": "4.0.0", "dev": true, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/duplexify/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/eslint": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", + "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.49.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", + "node_modules/eslint-config-next": { + "version": "13.1.5", "dev": true, - "license": "MIT" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "13.1.5", + "@rushstack/eslint-patch": "^1.1.3", + "@typescript-eslint/parser": "^5.42.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.31.7", + "eslint-plugin-react-hooks": "^4.5.0" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } }, - "node_modules/ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "node_modules/eslint-config-next/node_modules/@typescript-eslint/parser": { + "version": "5.56.0", "dev": true, - "license": "Apache-2.0", + "license": "BSD-2-Clause", "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" + "@typescript-eslint/scope-manager": "5.56.0", + "@typescript-eslint/types": "5.56.0", + "@typescript-eslint/typescript-estree": "5.56.0", + "debug": "^4.3.4" }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/electron-to-chromium": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.3.tgz", - "integrity": "sha512-QNdYSS5i8D9axWp/6XIezRObRHqaav/ur9z1VzCDUCH1XIFOr9WQk5xmgunhsTpjjgDy3oLxO/WMOVZlpUQrlA==", - "dev": true, - "license": "ISC" - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "node_modules/eslint-config-next/node_modules/@typescript-eslint/scope-manager": { + "version": "5.56.0", "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.56.0", + "@typescript-eslint/visitor-keys": "5.56.0" + }, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/eslint-config-next/node_modules/@typescript-eslint/types": { + "version": "5.56.0", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/eslint-config-next/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.56.0", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "once": "^1.4.0" + "@typescript-eslint/types": "5.56.0", + "@typescript-eslint/visitor-keys": "5.56.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/enhanced-resolve": { - "version": "5.12.0", + "node_modules/eslint-config-next/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.56.0", + "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "@typescript-eslint/types": "5.56.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=10.13.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/enquirer": { - "version": "2.3.6", + "node_modules/eslint-config-preact": { + "version": "1.3.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.1" + "@babel/core": "^7.13.16", + "@babel/eslint-parser": "^7.13.14", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-decorators": "^7.12.13", + "@babel/plugin-syntax-jsx": "^7.12.13", + "eslint-plugin-compat": "^4.0.0", + "eslint-plugin-jest": "^25.2.4", + "eslint-plugin-react": "^7.27.0", + "eslint-plugin-react-hooks": "^4.3.0" }, - "engines": { - "node": ">=8.6" + "peerDependencies": { + "eslint": "6.x || 7.x || 8.x" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "node_modules/eslint-config-semistandard": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-semistandard/-/eslint-config-semistandard-17.0.0.tgz", + "integrity": "sha512-tLi0JYmfiiJgtmRhoES55tENatR7y/5aXOh6cBeW+qjzl1+WwyV0arDqR65XN3/xrPZt+/1EG+xNLknV/0jWsQ==", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "peerDependencies": { + "eslint": "^8.13.0", + "eslint-config-standard": "^17.0.0", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0" } }, - "node_modules/envinfo": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", - "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", + "node_modules/eslint-config-standard": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", + "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", "dev": true, - "license": "MIT", - "bin": { - "envinfo": "dist/cli.js" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "engines": { - "node": ">=4" + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", + "eslint-plugin-promise": "^6.0.0" } }, - "node_modules/error-ex": { - "version": "1.3.2", + "node_modules/eslint-config-standard-with-typescript": { + "version": "33.0.0", "dev": true, "license": "MIT", "dependencies": { - "is-arrayish": "^0.2.1" + "@typescript-eslint/parser": "^5.0.0", + "eslint-config-standard": "17.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0", + "typescript": "*" } }, - "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", - "license": "MIT", + "node_modules/eslint-config-standard-with-typescript/node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "license": "MIT", + "node_modules/eslint-config-standard-with-typescript/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, "dependencies": { - "get-intrinsic": "^1.2.4" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", + "node_modules/eslint-config-standard-with-typescript/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "license": "MIT", + "node_modules/eslint-config-standard-with-typescript/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, "dependencies": { - "es-errors": "^1.3.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "license": "MIT", + "node_modules/eslint-config-standard-with-typescript/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "node_modules/eslint-config-standard-with-typescript/node_modules/eslint-config-standard": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", + "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peerDependencies": { + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "ms": "^2.1.1" } }, - "node_modules/esbuild": { - "version": "0.17.6", + "node_modules/eslint-import-resolver-typescript": { + "version": "3.5.3", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" + "license": "ISC", + "dependencies": { + "debug": "^4.3.4", + "enhanced-resolve": "^5.10.0", + "get-tsconfig": "^4.2.0", + "globby": "^13.1.2", + "is-core-module": "^2.10.0", + "is-glob": "^4.0.3", + "synckit": "^0.8.4" }, "engines": { - "node": ">=12" + "node": "^14.18.0 || >=16.0.0" }, - "optionalDependencies": { - "@esbuild/android-arm": "0.17.6", - "@esbuild/android-arm64": "0.17.6", - "@esbuild/android-x64": "0.17.6", - "@esbuild/darwin-arm64": "0.17.6", - "@esbuild/darwin-x64": "0.17.6", - "@esbuild/freebsd-arm64": "0.17.6", - "@esbuild/freebsd-x64": "0.17.6", - "@esbuild/linux-arm": "0.17.6", - "@esbuild/linux-arm64": "0.17.6", - "@esbuild/linux-ia32": "0.17.6", - "@esbuild/linux-loong64": "0.17.6", - "@esbuild/linux-mips64el": "0.17.6", - "@esbuild/linux-ppc64": "0.17.6", - "@esbuild/linux-riscv64": "0.17.6", - "@esbuild/linux-s390x": "0.17.6", - "@esbuild/linux-x64": "0.17.6", - "@esbuild/netbsd-x64": "0.17.6", - "@esbuild/openbsd-x64": "0.17.6", - "@esbuild/sunos-x64": "0.17.6", - "@esbuild/win32-arm64": "0.17.6", - "@esbuild/win32-ia32": "0.17.6", - "@esbuild/win32-x64": "0.17.6" + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" } }, - "node_modules/esbuild-plugin-alias": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz", - "integrity": "sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==", - "dev": true - }, - "node_modules/esbuild-register": { - "version": "3.4.2", + "node_modules/eslint-import-resolver-typescript/node_modules/globby": { + "version": "13.1.3", "dev": true, "license": "MIT", "dependencies": { - "debug": "^4.3.4" + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" }, - "peerDependencies": { - "esbuild": ">=0.12 <1" - } - }, - "node_modules/esbuild/node_modules/@esbuild/android-arm": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.6.tgz", - "integrity": "sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/android-arm64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.6.tgz", - "integrity": "sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esbuild/node_modules/@esbuild/android-x64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.6.tgz", - "integrity": "sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==", - "cpu": [ - "x64" - ], + "node_modules/eslint-import-resolver-typescript/node_modules/slash": { + "version": "4.0.0", "dev": true, - "optional": true, - "os": [ - "android" - ], + "license": "MIT", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.6.tgz", - "integrity": "sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==", - "cpu": [ - "arm64" - ], + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "debug": "^3.2.7" + }, "engines": { - "node": ">=12" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.6.tgz", - "integrity": "sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==", - "cpu": [ - "x64" - ], + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.6.tgz", - "integrity": "sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==", - "cpu": [ - "arm64" - ], + "node_modules/eslint-plugin-compat": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.2.0.tgz", + "integrity": "sha512-RDKSYD0maWy5r7zb5cWQS+uSPc26mgOzdORJ8hxILmWM7S/Ncwky7BcAtXVY5iRbKjBdHsWU8Yg7hfoZjtkv7w==", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "@mdn/browser-compat-data": "^5.3.13", + "ast-metadata-inferer": "^0.8.0", + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001524", + "find-up": "^5.0.0", + "lodash.memoize": "^4.1.2", + "semver": "^7.5.4" + }, "engines": { - "node": ">=12" + "node": ">=14.x" + }, + "peerDependencies": { + "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.6.tgz", - "integrity": "sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==", - "cpu": [ - "x64" - ], + "node_modules/eslint-plugin-es": { + "version": "4.1.0", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "license": "MIT", + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.6.tgz", - "integrity": "sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==", - "cpu": [ - "arm" - ], + "node_modules/eslint-plugin-es-x": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.2.0.tgz", + "integrity": "sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@eslint-community/eslint-utils": "^4.1.2", + "@eslint-community/regexpp": "^4.6.0" + }, "engines": { - "node": ">=12" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": ">=8" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.6.tgz", - "integrity": "sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==", - "cpu": [ - "arm64" - ], + "node_modules/eslint-plugin-es/node_modules/eslint-utils": { + "version": "2.1.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, "engines": { - "node": ">=12" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.6.tgz", - "integrity": "sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ==", - "cpu": [ - "ia32" - ], + "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { + "version": "1.3.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.6.tgz", - "integrity": "sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==", - "cpu": [ - "loong64" - ], + "node_modules/eslint-plugin-formatjs": { + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.10.5.tgz", + "integrity": "sha512-pBPA4idiYHXPQMrIb9/Le+D0snlNa7MFQsw12yIzyva/z9uz0u/4NOK3NkfyENMBNMeTX2tZXtugk9FyqM5SRw==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@formatjs/icu-messageformat-parser": "2.6.2", + "@formatjs/ts-transformer": "3.13.5", + "@types/eslint": "7 || 8", + "@types/picomatch": "^2.3.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "emoji-regex": "^10.2.1", + "magic-string": "^0.30.0", + "picomatch": "^2.3.1", + "tslib": "2.6.0", + "typescript": "^4.7 || 5", + "unicode-emoji-utils": "^1.1.1" + }, + "peerDependencies": { + "eslint": "7 || 8" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.6.tgz", - "integrity": "sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==", - "cpu": [ - "mips64el" - ], + "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/ecma402-abstract": { + "version": "1.17.2", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.2.tgz", + "integrity": "sha512-k2mTh0m+IV1HRdU0xXM617tSQTi53tVR2muvYOsBeYcUgEAyxV1FOC7Qj279th3fBVQ+Dj6muvNJZcHSPNdbKg==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@formatjs/intl-localematcher": "0.4.2", + "tslib": "^2.4.0" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.6.tgz", - "integrity": "sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==", - "cpu": [ - "ppc64" - ], + "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.2.tgz", + "integrity": "sha512-nF/Iww7sc5h+1MBCDRm68qpHTCG4xvGzYs/x9HFcDETSGScaJ1Fcadk5U/NXjXeCtzD+DhN4BAwKFVclHfKMdA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.2", + "@formatjs/icu-skeleton-parser": "1.6.2", + "tslib": "^2.4.0" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.6.tgz", - "integrity": "sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==", - "cpu": [ - "riscv64" - ], + "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-skeleton-parser": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.2.tgz", + "integrity": "sha512-VtB9Slo4ZL6QgtDFJ8Injvscf0xiDd4bIV93SOJTBjUF4xe2nAWOoSjLEtqIG+hlIs1sNrVKAaFo3nuTI4r5ZA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.2", + "tslib": "^2.4.0" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.6.tgz", - "integrity": "sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==", - "cpu": [ - "s390x" - ], + "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/intl-localematcher": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.2.tgz", + "integrity": "sha512-BGdtJFmaNJy5An/Zan4OId/yR9Ih1OojFjcduX/xOvq798OgWSyDtd6Qd5jqJXwJs1ipe4Fxu9+cshic5Ox2tA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "tslib": "^2.4.0" } }, - "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.6.tgz", - "integrity": "sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==", - "cpu": [ - "x64" - ], + "node_modules/eslint-plugin-formatjs/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, - "optional": true, - "os": [ - "netbsd" - ], "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.6.tgz", - "integrity": "sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==", - "cpu": [ - "x64" - ], + "node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, - "optional": true, - "os": [ - "openbsd" - ], + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.6.tgz", - "integrity": "sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==", - "cpu": [ - "x64" - ], + "node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, - "optional": true, - "os": [ - "sunos" - ], + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.6.tgz", - "integrity": "sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==", - "cpu": [ - "arm64" - ], + "node_modules/eslint-plugin-formatjs/node_modules/emoji-regex": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.2.1.tgz", + "integrity": "sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==", + "dev": true + }, + "node_modules/eslint-plugin-formatjs/node_modules/magic-string": { + "version": "0.30.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz", + "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, "engines": { "node": ">=12" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.6.tgz", - "integrity": "sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==", - "cpu": [ - "ia32" - ], + "node_modules/eslint-plugin-import": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.13.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, "engines": { - "node": ">=12" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-x64": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.6.tgz", - "integrity": "sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA==", - "cpu": [ - "x64" - ], + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "dev": true, "license": "MIT", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } } }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", "dev": true, + "license": "MIT", "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" }, "engines": { - "node": ">=6.0" + "node": ">=4.0" }, - "optionalDependencies": { - "source-map": "~0.6.1" + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/eslint": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", - "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", + "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-n": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.1.0.tgz", + "integrity": "sha512-3wv/TooBst0N4ND+pnvffHuz9gNPmk/NkLwAxOt2JykTl/hcuECe6yhTtLJcZjIxtZwN+GX92ACp/QTLpHA3Hg==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.49.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", + "@eslint-community/eslint-utils": "^4.4.0", + "builtins": "^5.0.1", + "eslint-plugin-es-x": "^7.1.0", + "get-tsconfig": "^4.7.0", + "ignore": "^5.2.4", + "is-core-module": "^2.12.1", "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "resolve": "^1.22.2", + "semver": "^7.5.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16.0.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/eslint-config-next": { - "version": "13.1.5", + "node_modules/eslint-plugin-playwright": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-1.6.2.tgz", + "integrity": "sha512-mraN4Em3b5jLt01q7qWPyLg0Q5v3KAWfJSlEWwldyUXoa7DSPrBR4k6B6LROLqipsG8ndkwWMdjl1Ffdh15tag==", + "dev": true, "license": "MIT", + "workspaces": [ + "examples" + ], "dependencies": { - "@next/eslint-plugin-next": "13.1.5", - "@rushstack/eslint-patch": "^1.1.3", - "@typescript-eslint/parser": "^5.42.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.31.7", - "eslint-plugin-react-hooks": "^4.5.0" + "globals": "^13.23.0" + }, + "engines": { + "node": ">=16.6.0" }, "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0", - "typescript": ">=3.3.1" + "eslint": ">=8.40.0", + "eslint-plugin-jest": ">=25" }, "peerDependenciesMeta": { - "typescript": { + "eslint-plugin-jest": { "optional": true } } }, - "node_modules/eslint-config-next/node_modules/@typescript-eslint/parser": { - "version": "5.56.0", - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "5.56.0", - "@typescript-eslint/types": "5.56.0", - "@typescript-eslint/typescript-estree": "5.56.0", - "debug": "^4.3.4" - }, + "node_modules/eslint-plugin-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/eslint-config-next/node_modules/@typescript-eslint/scope-manager": { - "version": "5.56.0", + "node_modules/eslint-plugin-react": { + "version": "7.35.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", + "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", + "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.56.0", - "@typescript-eslint/visitor-keys": "5.56.0" + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.19", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=4" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, - "node_modules/eslint-config-next/node_modules/@typescript-eslint/types": { - "version": "5.56.0", + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "dev": true, "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/eslint-config-next/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.56.0", - "license": "BSD-2-Clause", + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@typescript-eslint/types": "5.56.0", - "@typescript-eslint/visitor-keys": "5.56.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "esutils": "^2.0.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/eslint-config-next/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.56.0", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.56.0", - "eslint-visitor-keys": "^3.3.0" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "bin": { + "resolve": "bin/resolve" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-config-preact": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.13.16", - "@babel/eslint-parser": "^7.13.14", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-decorators": "^7.12.13", - "@babel/plugin-syntax-jsx": "^7.12.13", - "eslint-plugin-compat": "^4.0.0", - "eslint-plugin-jest": "^25.2.4", - "eslint-plugin-react": "^7.27.0", - "eslint-plugin-react-hooks": "^4.3.0" - }, - "peerDependencies": { - "eslint": "6.x || 7.x || 8.x" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-config-semistandard": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-semistandard/-/eslint-config-semistandard-17.0.0.tgz", - "integrity": "sha512-tLi0JYmfiiJgtmRhoES55tENatR7y/5aXOh6cBeW+qjzl1+WwyV0arDqR65XN3/xrPZt+/1EG+xNLknV/0jWsQ==", + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "peerDependencies": { - "eslint": "^8.13.0", - "eslint-config-standard": "^17.0.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-n": "^15.0.0", - "eslint-plugin-promise": "^6.0.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/eslint-config-standard": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", - "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", + "node_modules/eslint-plugin-storybook": { + "version": "0.6.14", + "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.6.14.tgz", + "integrity": "sha512-IeYigPur/MvESNDo43Z+Z5UvlcEVnt0dDZmnw1odi9X2Th1R3bpGyOZsHXb9bp1pFecOpRUuoMG5xdID2TwwOg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "dependencies": { + "@storybook/csf": "^0.0.1", + "@typescript-eslint/utils": "^5.45.0", + "requireindex": "^1.1.0", + "ts-dedent": "^2.2.0" + }, "engines": { - "node": ">=12.0.0" + "node": "12.x || 14.x || >= 16" }, "peerDependencies": { - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", - "eslint-plugin-promise": "^6.0.0" + "eslint": ">=6" } }, - "node_modules/eslint-config-standard-with-typescript": { - "version": "33.0.0", + "node_modules/eslint-plugin-storybook/node_modules/@storybook/csf": { + "version": "0.0.1", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint-config-standard": "17.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0", - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0", - "eslint-plugin-promise": "^6.0.0", - "typescript": "*" + "lodash": "^4.17.15" } }, - "node_modules/eslint-config-standard-with-typescript/node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "node_modules/eslint-plugin-tsdoc": { + "version": "0.2.17", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" + "@microsoft/tsdoc": "0.14.2", + "@microsoft/tsdoc-config": "0.16.2" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-config-standard-with-typescript/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/eslint-utils": { + "version": "3.0.0", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" } }, - "node_modules/eslint-config-standard-with-typescript/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", "dev": true, + "license": "Apache-2.0", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=10" } }, - "node_modules/eslint-config-standard-with-typescript/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-config-standard-with-typescript/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/eslint/node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-config-standard-with-typescript/node_modules/eslint-config-standard": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", - "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peerDependencies": { - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0", - "eslint-plugin-promise": "^6.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", "license": "MIT", "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.5.3", - "license": "ISC", - "dependencies": { - "debug": "^4.3.4", - "enhanced-resolve": "^5.10.0", - "get-tsconfig": "^4.2.0", - "globby": "^13.1.2", - "is-core-module": "^2.10.0", - "is-glob": "^4.0.3", - "synckit": "^0.8.4" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/eslint-import-resolver-typescript/node_modules/globby": { - "version": "13.1.3", - "license": "MIT", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-import-resolver-typescript/node_modules/slash": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=12" + "node_modules/espree/node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dependencies": { - "debug": "^3.2.7" + "node_modules/esprima": { + "version": "4.0.1", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-compat": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.2.0.tgz", - "integrity": "sha512-RDKSYD0maWy5r7zb5cWQS+uSPc26mgOzdORJ8hxILmWM7S/Ncwky7BcAtXVY5iRbKjBdHsWU8Yg7hfoZjtkv7w==", + "node_modules/esquery": { + "version": "1.5.0", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@mdn/browser-compat-data": "^5.3.13", - "ast-metadata-inferer": "^0.8.0", - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001524", - "find-up": "^5.0.0", - "lodash.memoize": "^4.1.2", - "semver": "^7.5.4" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=14.x" - }, - "peerDependencies": { - "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">=0.10" } }, - "node_modules/eslint-plugin-es": { - "version": "4.1.0", + "node_modules/esrecurse": { + "version": "4.3.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" + "node": ">=4.0" } }, - "node_modules/eslint-plugin-es-x": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.2.0.tgz", - "integrity": "sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==", + "node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.1.2", - "@eslint-community/regexpp": "^4.6.0" - }, + "license": "BSD-2-Clause", "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ota-meshi" - }, - "peerDependencies": { - "eslint": ">=8" + "node": ">=4.0" } }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", + "node_modules/estree-to-babel": { + "version": "3.2.1", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "@babel/traverse": "^7.1.6", + "@babel/types": "^7.2.0", + "c8": "^7.6.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" + "node": ">=8.3.0" } }, - "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { - "version": "1.3.0", + "node_modules/estree-walker": { + "version": "2.0.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-formatjs": { - "version": "4.10.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.10.5.tgz", - "integrity": "sha512-pBPA4idiYHXPQMrIb9/Le+D0snlNa7MFQsw12yIzyva/z9uz0u/4NOK3NkfyENMBNMeTX2tZXtugk9FyqM5SRw==", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, - "dependencies": { - "@formatjs/icu-messageformat-parser": "2.6.2", - "@formatjs/ts-transformer": "3.13.5", - "@types/eslint": "7 || 8", - "@types/picomatch": "^2.3.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "emoji-regex": "^10.2.1", - "magic-string": "^0.30.0", - "picomatch": "^2.3.1", - "tslib": "2.6.0", - "typescript": "^4.7 || 5", - "unicode-emoji-utils": "^1.1.1" - }, - "peerDependencies": { - "eslint": "7 || 8" + "engines": { + "node": ">= 0.6" } }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/ecma402-abstract": { - "version": "1.17.2", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.2.tgz", - "integrity": "sha512-k2mTh0m+IV1HRdU0xXM617tSQTi53tVR2muvYOsBeYcUgEAyxV1FOC7Qj279th3fBVQ+Dj6muvNJZcHSPNdbKg==", + "node_modules/eval": { + "version": "0.1.6", "dev": true, "dependencies": { - "@formatjs/intl-localematcher": "0.4.2", - "tslib": "^2.4.0" + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.2.tgz", - "integrity": "sha512-nF/Iww7sc5h+1MBCDRm68qpHTCG4xvGzYs/x9HFcDETSGScaJ1Fcadk5U/NXjXeCtzD+DhN4BAwKFVclHfKMdA==", + "node_modules/execa": { + "version": "5.1.1", "dev": true, + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "1.17.2", - "@formatjs/icu-skeleton-parser": "1.6.2", - "tslib": "^2.4.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.2.tgz", - "integrity": "sha512-VtB9Slo4ZL6QgtDFJ8Injvscf0xiDd4bIV93SOJTBjUF4xe2nAWOoSjLEtqIG+hlIs1sNrVKAaFo3nuTI4r5ZA==", + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.17.2", - "tslib": "^2.4.0" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/intl-localematcher": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.2.tgz", - "integrity": "sha512-BGdtJFmaNJy5An/Zan4OId/yR9Ih1OojFjcduX/xOvq798OgWSyDtd6Qd5jqJXwJs1ipe4Fxu9+cshic5Ox2tA==", + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, "dependencies": { - "tslib": "^2.4.0" + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/eslint-plugin-formatjs/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">= 0.10.0" } }, - "node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "ms": "2.0.0" } }, - "node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "side-channel": "^1.0.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=0.6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-formatjs/node_modules/emoji-regex": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.2.1.tgz", - "integrity": "sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==", - "dev": true + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/eslint-plugin-formatjs/node_modules/magic-string": { - "version": "0.30.3", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz", - "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==", + "node_modules/extend": { + "version": "3.0.2", "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/eslint-plugin-import": { - "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", + "node_modules/extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.13.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" - }, - "engines": { - "node": ">=4" + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "bin": { + "extract-zip": "cli.js" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "license": "MIT", + "node_modules/extract-zip/node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], "dependencies": { - "ms": "^2.1.1" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "license": "Apache-2.0", + "node_modules/extract-zip/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" + "ms": "2.0.0" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } + "node_modules/extract-zip/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "node_modules/eslint-plugin-jest": { - "version": "25.7.0", + "node_modules/extract-zip/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "minimist": "^1.2.6" }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } + "node_modules/extract-zip/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "node_modules/extract-zip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/eslint-plugin-n": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.1.0.tgz", - "integrity": "sha512-3wv/TooBst0N4ND+pnvffHuz9gNPmk/NkLwAxOt2JykTl/hcuECe6yhTtLJcZjIxtZwN+GX92ACp/QTLpHA3Hg==", + "node_modules/extract-zip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "builtins": "^5.0.1", - "eslint-plugin-es-x": "^7.1.0", - "get-tsconfig": "^4.7.0", - "ignore": "^5.2.4", - "is-core-module": "^2.12.1", - "minimatch": "^3.1.2", - "resolve": "^1.22.2", - "semver": "^7.5.3" - }, - "engines": { - "node": ">=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/eslint-plugin-playwright": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-0.16.0.tgz", - "integrity": "sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", "dev": true, - "peerDependencies": { - "eslint": ">=7", - "eslint-plugin-jest": ">=25" - }, - "peerDependenciesMeta": { - "eslint-plugin-jest": { - "optional": true - } - } + "license": "MIT" }, - "node_modules/eslint-plugin-promise": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", - "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.32.2", "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.8" - }, - "engines": { - "node": ">=4" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "license": "MIT", "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "node": ">=8.6.0" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "license": "Apache-2.0", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", "dependencies": { - "esutils": "^2.0.2" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" }, - "node_modules/eslint-plugin-storybook": { - "version": "0.6.14", - "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.6.14.tgz", - "integrity": "sha512-IeYigPur/MvESNDo43Z+Z5UvlcEVnt0dDZmnw1odi9X2Th1R3bpGyOZsHXb9bp1pFecOpRUuoMG5xdID2TwwOg==", + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", "dev": true, - "dependencies": { - "@storybook/csf": "^0.0.1", - "@typescript-eslint/utils": "^5.45.0", - "requireindex": "^1.1.0", - "ts-dedent": "^2.2.0" - }, - "engines": { - "node": "12.x || 14.x || >= 16" - }, - "peerDependencies": { - "eslint": ">=6" - } + "license": "MIT" }, - "node_modules/eslint-plugin-storybook/node_modules/@storybook/csf": { - "version": "0.0.1", + "node_modules/fastq": { + "version": "1.15.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "lodash": "^4.17.15" + "reusify": "^1.0.4" } }, - "node_modules/eslint-plugin-tsdoc": { - "version": "0.2.17", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, - "license": "MIT", "dependencies": { - "@microsoft/tsdoc": "0.14.2", - "@microsoft/tsdoc-config": "0.16.2" + "bser": "2.1.1" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "pend": "~1.2.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", + "node_modules/fetch-retry": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.6.tgz", + "integrity": "sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==", + "dev": true + }, + "node_modules/figures": { + "version": "3.2.0", + "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^2.0.0" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "license": "Apache-2.0", - "engines": { - "node": ">=10" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=0.8.0" } }, - "node_modules/eslint/node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "node_modules/file-entry-cache": { + "version": "6.0.1", "dev": true, + "license": "MIT", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "flat-cache": "^3.0.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/file-system-cache": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fs-extra": "11.1.1", + "ramda": "0.29.0" + } + }, + "node_modules/file-system-cache/node_modules/fs-extra": { + "version": "11.1.1", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=14.14" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/filelist": { + "version": "1.0.4", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "minimatch": "^5.0.1" } }, - "node_modules/espree/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/esprima": { - "version": "4.0.1", + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/esquery": { - "version": "1.5.0", - "license": "BSD-3-Clause", + "node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "estraverse": "^5.1.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=0.10" + "node": ">=8" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "license": "BSD-2-Clause", + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, "dependencies": { - "estraverse": "^5.2.0" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, "engines": { - "node": ">=4.0" + "node": ">= 0.8" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/estree-to-babel": { - "version": "3.2.1", + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.1.6", - "@babel/types": "^7.2.0", - "c8": "^7.6.0" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, "engines": { - "node": ">=8.3.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/estree-walker": { - "version": "2.0.2", + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "4.1.0", "dev": true, - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "license": "BSD-2-Clause", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "5.0.0", "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/eval": { - "version": "0.1.6", + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "3.1.0", "dev": true, + "license": "MIT", "dependencies": { - "require-like": ">= 0.1.1" + "semver": "^6.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/execa": { - "version": "5.1.1", + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", "dev": true, "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "4.1.0", "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "4.2.0", "dev": true, + "license": "MIT", "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" + "find-up": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "node_modules/find-cache-dir/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/find-up": { + "version": "5.0.0", "dev": true, + "license": "MIT", "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/flat": { + "version": "5.0.2", "dev": true, - "dependencies": { - "ms": "2.0.0" + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/express/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/flat-cache": { + "version": "3.0.4", "dev": true, + "license": "MIT", "dependencies": { - "side-channel": "^1.0.4" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" + }, + "node_modules/flow-parser": { + "version": "0.216.1", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.216.1.tgz", + "integrity": "sha512-wstw46/C/8bRv/8RySCl15lK376j8DHxm41xFjD9eVL+jSS1UmVpbdLdA0LzGuS2v5uGgQiBLEj6mgSJQwW+MA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true, "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" } - ] + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } }, - "node_modules/extend": { - "version": "3.0.2", + "node_modules/for-each": { + "version": "0.3.3", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } }, - "node_modules/extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "node_modules/foreground-child": { + "version": "3.1.1", "dev": true, + "license": "ISC", "dependencies": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, - "bin": { - "extract-zip": "cli.js" + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/extract-zip/node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/extract-zip/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/form-data": { + "version": "3.0.1", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/extract-zip/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "node_modules/extract-zip/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/fraction.js": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz", + "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==", "dev": true, - "dependencies": { - "minimist": "^1.2.6" + "engines": { + "node": "*" }, - "bin": { - "mkdirp": "bin/cmd.js" + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" } }, - "node_modules/extract-zip/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "node_modules/extract-zip/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/front-matter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz", + "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==", "dev": true, + "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "js-yaml": "^3.13.1" } }, - "node_modules/extract-zip/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/front-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "sprintf-js": "~1.0.2" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "node_modules/front-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=8.6.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "license": "ISC", + "node_modules/fs-constants": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 6" + "node": ">=14.14" } }, - "node_modules/fast-json-stable-stringify": { + "node_modules/fs-minipass": { "version": "2.1.0", - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", - "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.15.0", "license": "ISC", "dependencies": { - "reusify": "^1.0.4" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "node_modules/fs.realpath": { + "version": "1.0.0", "dev": true, - "dependencies": { - "bser": "2.1.1" - } + "license": "ISC" }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "dependencies": { - "pend": "~1.2.0" + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/fetch-retry": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.6.tgz", - "integrity": "sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==", - "dev": true - }, - "node_modules/figures": { - "version": "3.2.0", + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, "dependencies": { - "escape-string-regexp": "^1.0.5" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", + "node_modules/functions-have-names": { + "version": "1.2.3", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.8.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "dev": true, "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=6.9.0" } }, - "node_modules/file-system-cache": { - "version": "2.3.0", + "node_modules/get-caller-file": { + "version": "2.0.5", "dev": true, - "license": "MIT", - "dependencies": { - "fs-extra": "11.1.1", - "ramda": "0.29.0" + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/file-system-cache/node_modules/fs-extra": { - "version": "11.1.1", + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "engines": { - "node": ">=14.14" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/filelist": { - "version": "1.0.4", + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.0.1" + "engines": { + "node": ">=6" } }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/get-npm-tarball-url": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/get-npm-tarball-url/-/get-npm-tarball-url-2.0.3.tgz", + "integrity": "sha512-R/PW6RqyaBQNWYaSyfrh54/qtcnOp22FHCCiRhSSZj0FP3KQWCsxxt0DzIdVTbwTqe9CtQfvl/FPD4UIPt4pqw==", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=12.17" } }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", + "node_modules/get-package-type": { + "version": "0.1.0", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8.0.0" } }, - "node_modules/fill-range": { - "version": "7.0.1", + "node_modules/get-port": { + "version": "5.1.1", + "dev": true, "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "node_modules/get-stream": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, + "license": "MIT", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/get-tsconfig": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.0.tgz", + "integrity": "sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==", "dev": true, "dependencies": { - "ms": "2.0.0" + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", + "node_modules/giget": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", + "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", "dev": true, - "license": "MIT", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" + "colorette": "^2.0.19", + "defu": "^6.1.2", + "https-proxy-agent": "^5.0.1", + "mri": "^1.2.0", + "node-fetch-native": "^1.0.2", + "pathe": "^1.1.0", + "tar": "^6.1.13" }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "bin": { + "giget": "dist/cli.mjs" } }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "4.1.0", + "node_modules/github-slugger": { + "version": "1.5.0", + "dev": true, + "license": "ISC" + }, + "node_modules/glob": { + "version": "7.2.3", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/glob-parent": { + "version": "6.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "p-locate": "^4.1.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "3.1.0", + "node_modules/glob-promise": { + "version": "4.2.2", "dev": true, "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "@types/glob": "^7.1.3" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "individual", + "url": "https://github.com/sponsors/ahmadnassri" + }, + "peerDependencies": { + "glob": "^7.1.6" } }, - "node_modules/find-cache-dir/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=6" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/globalthis": { + "version": "1.0.3", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "define-properties": "^1.1.3" }, "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" + "node": ">= 0.4" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "6.3.1", + "node_modules/globalyzer": { + "version": "0.1.0", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } + "license": "MIT" }, - "node_modules/find-up": { - "version": "5.0.0", + "node_modules/globby": { + "version": "11.1.0", + "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { "node": ">=10" @@ -14747,598 +16173,602 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat": { - "version": "5.0.2", + "node_modules/globrex": { + "version": "0.1.2", "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } + "license": "MIT" }, - "node_modules/flat-cache": { - "version": "3.0.4", + "node_modules/gopd": { + "version": "1.0.1", + "dev": true, "license": "MIT", "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "get-intrinsic": "^1.1.3" }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "node_modules/graceful-fs": { + "version": "4.2.11", "license": "ISC" }, - "node_modules/flow-parser": { - "version": "0.216.1", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.216.1.tgz", - "integrity": "sha512-wstw46/C/8bRv/8RySCl15lK376j8DHxm41xFjD9eVL+jSS1UmVpbdLdA0LzGuS2v5uGgQiBLEj6mgSJQwW+MA==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/gunzip-maybe": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz", + "integrity": "sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==", "dev": true, - "engines": { - "node": ">=0.4.0" + "dependencies": { + "browserify-zlib": "^0.1.4", + "is-deflate": "^1.0.0", + "is-gzip": "^1.0.0", + "peek-stream": "^1.1.0", + "pumpify": "^1.3.3", + "through2": "^2.0.3" + }, + "bin": { + "gunzip-maybe": "bin.js" } }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "node_modules/handlebars": { + "version": "4.7.7", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, "engines": { - "node": ">=4.0" + "node": ">=0.4.7" }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "optionalDependencies": { + "uglify-js": "^3.1.4" } }, - "node_modules/for-each": { - "version": "0.3.3", - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "dev": true, + "license": "(Apache-2.0 OR MPL-1.1)" }, - "node_modules/foreground-child": { - "version": "3.1.1", + "node_modules/has": { + "version": "1.0.3", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "function-bind": "^1.1.1" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.4.0" } }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", + "node_modules/has-bigints": { + "version": "1.0.2", "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/form-data": { - "version": "3.0.1", + "node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, - "engines": { - "node": ">= 0.6" + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fraction.js": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz", - "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==", + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, + "license": "MIT", "engines": { - "node": "*" + "node": ">= 0.4" }, "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "node_modules/has-symbols": { + "version": "1.0.3", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/front-matter": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz", - "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "license": "MIT", "dependencies": { - "js-yaml": "^3.13.1" + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/front-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/front-matter/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, "bin": { - "js-yaml": "bin/js-yaml.js" + "he": "bin/he" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", "dev": true, - "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" + "react-is": "^16.7.0" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "lru-cache": "^10.0.1" }, "engines": { - "node": ">= 8" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, "license": "ISC" }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } + "node_modules/html-escaper": { + "version": "2.0.2", + "dev": true, + "license": "MIT" }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "node_modules/html-tags": { + "version": "3.2.0", + "dev": true, "license": "MIT", + "engines": { + "node": ">=8" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", + "node_modules/https-proxy-agent": { + "version": "5.0.1", "dev": true, "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, "engines": { - "node": ">=6.9.0" + "node": ">= 6" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", + "node_modules/human-signals": { + "version": "2.1.0", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=10.17.0" } }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "node_modules/iconv-lite": { + "version": "0.4.24", + "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/get-nonce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", - "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", "dev": true, + "license": "MIT", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/get-npm-tarball-url": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/get-npm-tarball-url/-/get-npm-tarball-url-2.0.3.tgz", - "integrity": "sha512-R/PW6RqyaBQNWYaSyfrh54/qtcnOp22FHCCiRhSSZj0FP3KQWCsxxt0DzIdVTbwTqe9CtQfvl/FPD4UIPt4pqw==", + "node_modules/ieee754": { + "version": "1.2.1", "dev": true, - "engines": { - "node": ">=12.17" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" }, - "node_modules/get-package-type": { - "version": "0.1.0", + "node_modules/ignore": { + "version": "5.2.4", "dev": true, "license": "MIT", "engines": { - "node": ">=8.0.0" + "node": ">= 4" } }, - "node_modules/get-port": { - "version": "5.1.1", + "node_modules/import-fresh": { + "version": "3.3.0", "dev": true, "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, "engines": { - "node": ">=8" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-stream": { - "version": "6.0.1", + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "node_modules/import-local": { + "version": "3.1.0", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-tsconfig": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.0.tgz", - "integrity": "sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==", + "node_modules/import-local/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "resolve-pkg-maps": "^1.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/giget": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", - "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", + "node_modules/import-local/node_modules/locate-path": { + "version": "5.0.0", "dev": true, + "license": "MIT", "dependencies": { - "colorette": "^2.0.19", - "defu": "^6.1.2", - "https-proxy-agent": "^5.0.1", - "mri": "^1.2.0", - "node-fetch-native": "^1.0.2", - "pathe": "^1.1.0", - "tar": "^6.1.13" + "p-locate": "^4.1.0" }, - "bin": { - "giget": "dist/cli.mjs" + "engines": { + "node": ">=8" } }, - "node_modules/github-slugger": { - "version": "1.5.0", + "node_modules/import-local/node_modules/p-limit": { + "version": "2.3.0", "dev": true, - "license": "ISC" - }, - "node_modules/glob": { - "version": "7.2.3", - "license": "ISC", + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": "*" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "license": "ISC", + "node_modules/import-local/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" } }, - "node_modules/glob-promise": { - "version": "4.2.2", + "node_modules/import-local/node_modules/pkg-dir": { + "version": "4.2.0", "dev": true, "license": "MIT", "dependencies": { - "@types/glob": "^7.1.3" + "find-up": "^4.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/ahmadnassri" - }, - "peerDependencies": { - "glob": "^7.1.6" + "node": ">=8" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", + "node_modules/imurmurhash": { + "version": "0.1.4", "dev": true, - "license": "BSD-2-Clause" + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } }, - "node_modules/globals": { - "version": "13.20.0", + "node_modules/indent-string": { + "version": "4.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globalthis": { - "version": "1.0.3", - "license": "MIT", + "node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/globalyzer": { - "version": "0.1.0", - "license": "MIT" + "node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC" }, - "node_modules/globby": { - "version": "11.1.0", + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, "license": "MIT", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4" } }, - "node_modules/globrex": { - "version": "0.1.2", - "license": "MIT" + "node_modules/intl-messageformat": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.0.tgz", + "integrity": "sha512-AvojYuOaRb6r2veOKfTVpxH9TrmjSdc5iR9R5RgBwrDZYSmAAFVT+QLbW3C4V7Qsg0OguMp67Q/EoUkxZzXRGw==", + "dev": true, + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.6.0", + "tslib": "^2.4.0" + } }, - "node_modules/gopd": { - "version": "1.0.1", - "license": "MIT", + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "loose-envify": "^1.0.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "license": "ISC" + "node_modules/ip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", + "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==", + "dev": true }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "license": "MIT" + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "node_modules/is-absolute-url": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/gunzip-maybe": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz", - "integrity": "sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==", + "node_modules/is-arguments": { + "version": "1.1.1", "dev": true, + "license": "MIT", "dependencies": { - "browserify-zlib": "^0.1.4", - "is-deflate": "^1.0.0", - "is-gzip": "^1.0.0", - "peek-stream": "^1.1.0", - "pumpify": "^1.3.3", - "through2": "^2.0.3" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, - "bin": { - "gunzip-maybe": "bin.js" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/handlebars": { - "version": "4.7.7", + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, "license": "MIT", "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" }, "engines": { - "node": ">=0.4.7" + "node": ">= 0.4" }, - "optionalDependencies": { - "uglify-js": "^3.1.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "node_modules/is-arrayish": { + "version": "0.2.1", "dev": true, - "license": "(Apache-2.0 OR MPL-1.1)" + "license": "MIT" }, - "node_modules/has": { - "version": "1.0.3", + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, "license": "MIT", "dependencies": { - "function-bind": "^1.1.1" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 0.4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-bigints": { - "version": "1.0.2", + "node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-flag": { - "version": "4.0.0", + "node_modules/is-binary-path": { + "version": "2.1.0", + "dev": true, "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "dev": true, "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "node_modules/is-callable": { + "version": "1.2.7", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -15347,23 +16777,26 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "license": "MIT", - "engines": { - "node": ">= 0.4" + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, "license": "MIT", "dependencies": { - "has-symbols": "^1.0.3" + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -15372,861 +16805,1130 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "node_modules/is-date-object": { + "version": "1.0.5", + "dev": true, "license": "MIT", "dependencies": { - "function-bind": "^1.1.2" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "node_modules/is-deflate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz", + "integrity": "sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==", + "dev": true + }, + "node_modules/is-docker": { + "version": "2.2.1", "dev": true, + "license": "MIT", "bin": { - "he": "bin/he" + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "node_modules/is-extglob": { + "version": "2.1.1", "dev": true, - "dependencies": { - "react-is": "^16.7.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "lru-cache": "^10.0.1" + "call-bind": "^1.0.2" }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "dev": true, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/html-escaper": { - "version": "2.0.2", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=6" + } }, - "node_modules/html-tags": { - "version": "3.2.0", + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, - "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/is-glob": { + "version": "4.0.3", "dev": true, + "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", + "node_modules/is-gzip": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", + "integrity": "sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==", "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/human-signals": { - "version": "2.1.0", + "node_modules/is-interactive": { + "version": "1.0.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=10.17.0" + "node": ">=8" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, "license": "MIT", - "dependencies": { - "harmony-reflect": "^1.4.6" - }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ieee754": { - "version": "1.2.1", + "node_modules/is-number": { + "version": "7.0.0", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.2.4", "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=0.12.0" } }, - "node_modules/import-fresh": { - "version": "3.3.0", + "node_modules/is-number-object": { + "version": "1.0.7", + "dev": true, "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "license": "MIT", + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "node_modules/is-path-inside": { + "version": "3.0.3", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/import-local": { - "version": "3.1.0", + "node_modules/is-plain-object": { + "version": "2.0.4", "dev": true, "license": "MIT", "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "isobject": "^3.0.1" }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-local/node_modules/find-up": { - "version": "4.1.0", + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-local/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-local/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/is-string": { + "version": "1.0.7", "dev": true, "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-local/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/is-symbol": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "4.2.0", + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^4.0.0" + "which-typed-array": "^1.1.14" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=0.8.19" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/indent-string": { - "version": "4.0.0", + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", + "node_modules/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/intl-messageformat": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.0.tgz", - "integrity": "sha512-AvojYuOaRb6r2veOKfTVpxH9TrmjSdc5iR9R5RgBwrDZYSmAAFVT+QLbW3C4V7Qsg0OguMp67Q/EoUkxZzXRGw==", + "node_modules/is-wsl": { + "version": "2.2.0", "dev": true, + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "1.17.0", - "@formatjs/fast-memoize": "2.2.0", - "@formatjs/icu-messageformat-parser": "2.6.0", - "tslib": "^2.4.0" + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "node_modules/isarray": { + "version": "2.0.5", "dev": true, - "dependencies": { - "loose-envify": "^1.0.0" - } + "license": "MIT" }, - "node_modules/ip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", - "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==", - "dev": true + "node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "node_modules/isobject": { + "version": "3.0.1", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/is-absolute-url": { - "version": "3.0.3", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "license": "MIT", + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "license": "MIT", + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", "dev": true, - "license": "MIT" - }, - "node_modules/is-bigint": { - "version": "1.0.4", "license": "MIT", "dependencies": { - "has-bigints": "^1.0.1" + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "license": "MIT", + "node_modules/istanbul-reports": { + "version": "3.1.6", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-callable": { - "version": "1.2.7", + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" } }, - "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", - "license": "MIT", + "node_modules/jackspeak": { + "version": "2.2.2", + "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "is-typed-array": "^1.1.13" + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">= 0.4" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "license": "MIT", + "node_modules/jake": { + "version": "10.8.5", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "has-tostringtag": "^1.0.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" }, - "engines": { - "node": ">= 0.4" + "bin": { + "jake": "bin/cli.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/is-deflate": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz", - "integrity": "sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==", - "dev": true + "node_modules/javascript-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" }, - "node_modules/is-docker": { - "version": "2.2.1", + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, "bin": { - "is-docker": "cli.js" + "jest": "bin/jest.js" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, - "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/is-glob": { - "version": "4.0.3", - "license": "MIT", + "node_modules/jest-cli/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/is-gzip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", - "integrity": "sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==", + "node_modules/jest-cli/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/is-interactive": { - "version": "1.0.0", + "node_modules/jest-cli/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/is-nan": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", - "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "license": "MIT", - "engines": { - "node": ">=0.12.0" + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "license": "MIT", + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "license": "MIT", + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, - "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-regex": { - "version": "1.1.4", - "license": "MIT", + "node_modules/jest-environment-node/node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "license": "MIT", + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "license": "MIT", + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.7" + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/is-stream": { - "version": "2.0.1", + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-string": { - "version": "1.0.7", - "license": "MIT", + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-symbol": { - "version": "1.0.4", + "node_modules/jest-mock": { + "version": "27.5.1", + "dev": true, "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "@jest/types": "^27.5.1", + "@types/node": "*" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "node_modules/jest-mock/node_modules/@jest/types": { + "version": "27.5.1", + "dev": true, "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.14" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", + "node_modules/jest-mock/node_modules/@types/yargs": { + "version": "16.0.5", "dev": true, "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "license": "MIT", + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-weakref": { - "version": "1.0.2", - "license": "MIT", + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", - "license": "MIT", + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-wsl": { - "version": "2.2.0", - "license": "MIT", + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, "dependencies": { - "is-docker": "^2.0.0" + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/isarray": { - "version": "2.0.5", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } }, - "node_modules/isobject": { - "version": "3.0.1", + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", + "node_modules/jest-runtime/node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, - "license": "BSD-3-Clause", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "4.0.0", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, "engines": { "node": ">=10" }, @@ -16234,671 +17936,546 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/istanbul-reports": { - "version": "3.1.6", + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jackspeak": { - "version": "2.2.2", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=14" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jake": { - "version": "10.8.5", + "node_modules/jju": { + "version": "1.4.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" - }, + "license": "MIT" + }, + "node_modules/joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, - "node_modules/javascript-stringify": { - "version": "2.1.0", - "dev": true, + "node_modules/js-tokens": { + "version": "4.0.0", "license": "MIT" }, - "node_modules/jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "node_modules/js-yaml": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" + "argparse": "^2.0.1" }, "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "node_modules/jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", "dev": true, "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" } }, - "node_modules/jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "node_modules/jscodeshift/node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "node_modules/jscodeshift/node_modules/recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", "dev": true, "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">= 4" } }, - "node_modules/jest-cli/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/jscodeshift/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", "dev": true, "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "jsonify": "^0.0.1" }, - "engines": { - "node": ">=12" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-cli/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "node_modules/jsonc-eslint-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", + "integrity": "sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "acorn": "^8.5.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "semver": "^7.3.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ota-meshi" } }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "node_modules/jsonc-eslint-parser/node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "license": "MIT", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.4.0" } }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "node_modules/jsonc-parser": { + "version": "3.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.1.0", "dev": true, + "license": "MIT", "dependencies": { - "detect-newline": "^3.0.0" + "universalify": "^2.0.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4.0" } }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "node_modules/kind-of": { + "version": "6.0.3", "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-environment-node/node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "~0.3.2" } }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "node_modules/lazy-universal-dotenv": { + "version": "4.0.0", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "app-root-dir": "^1.0.2", + "dotenv": "^16.0.0", + "dotenv-expand": "^10.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "node": ">=14.0.0" } }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "node_modules/levn": { + "version": "0.4.1", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8.0" } }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "node_modules/license-checker": { + "version": "25.0.1", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "chalk": "^2.4.1", + "debug": "^3.1.0", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "read-installed": "~4.0.3", + "semver": "^5.5.0", + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0", + "spdx-satisfies": "^4.0.0", + "treeify": "^1.1.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "license-checker": "bin/license-checker" } }, - "node_modules/jest-mock": { - "version": "27.5.1", + "node_modules/license-checker/node_modules/ansi-styles": { + "version": "3.2.1", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" + "color-convert": "^1.9.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=4" } }, - "node_modules/jest-mock/node_modules/@jest/types": { - "version": "27.5.1", + "node_modules/license-checker/node_modules/chalk": { + "version": "2.4.2", "dev": true, "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=4" } }, - "node_modules/jest-mock/node_modules/@types/yargs": { - "version": "16.0.5", + "node_modules/license-checker/node_modules/color-convert": { + "version": "1.9.3", "dev": true, "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "color-name": "1.1.3" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "node_modules/license-checker/node_modules/color-name": { + "version": "1.1.3", "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "license": "MIT" + }, + "node_modules/license-checker/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "node_modules/license-checker/node_modules/escape-string-regexp": { + "version": "1.0.5", "dev": true, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.8.0" } }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "node_modules/license-checker/node_modules/has-flag": { + "version": "3.0.0", "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "node_modules/license-checker/node_modules/mkdirp": { + "version": "0.5.6", "dev": true, + "license": "MIT", "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" + "minimist": "^1.2.6" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "node_modules/license-checker/node_modules/nopt": { + "version": "4.0.3", "dev": true, + "license": "ISC", "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "abbrev": "1", + "osenv": "^0.1.4" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "nopt": "bin/nopt.js" } }, - "node_modules/jest-runner/node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "node_modules/license-checker/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "bin": { + "semver": "bin/semver" } - }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + }, + "node_modules/license-checker/node_modules/supports-color": { + "version": "5.5.0", "dev": true, + "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-runtime/node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "node_modules/lilconfig": { + "version": "2.1.0", "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "node_modules/lines-and-columns": { + "version": "2.0.3", "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "node_modules/load-tsconfig": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz", + "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==", "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "node_modules/locate-path": { + "version": "6.0.0", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" + "p-locate": "^5.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/lodash": { + "version": "4.17.21", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, "engines": { "node": ">=10" }, @@ -16906,2765 +18483,2837 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, + "node_modules/loose-envify": { + "version": "1.4.0", + "license": "MIT", "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" + "js-tokens": "^3.0.0 || ^4.0.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "node_modules/loud-rejection": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-2.2.0.tgz", + "integrity": "sha512-S0FayMXku80toa5sZ6Ro4C+s+EtFDCsyJNG/AzFMfX3AxD5Si4dZsgzm/kKnbOxHl5Cv8jBlno8+3XYIh2pNjQ==", "dev": true, "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/lru-cache": { + "version": "5.1.1", "dev": true, + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "yallist": "^3.0.2" } }, - "node_modules/jju": { - "version": "1.4.0", + "node_modules/lunr": { + "version": "2.3.9", "dev": true, "license": "MIT" }, - "node_modules/js-sdsl": { - "version": "4.3.0", + "node_modules/magic-string": { + "version": "0.27.0", + "dev": true, "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", + "node_modules/make-dir": { + "version": "2.1.0", + "dev": true, "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "pify": "^4.0.1", + "semver": "^5.6.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, "bin": { - "js-yaml": "bin/js-yaml.js" + "semver": "bin/semver" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" } }, - "node_modules/jscodeshift": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", - "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "node_modules/map-or-similar": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", + "integrity": "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==", + "dev": true + }, + "node_modules/markdown-to-jsx": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.3.2.tgz", + "integrity": "sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==", "dev": true, - "dependencies": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" + "engines": { + "node": ">= 10" }, "peerDependencies": { - "@babel/preset-env": "^7.1.6" + "react": ">= 0.14.0" } }, - "node_modules/jscodeshift/node_modules/ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "node_modules/marked": { + "version": "4.2.12", "dev": true, - "dependencies": { - "tslib": "^2.0.1" + "license": "MIT", + "bin": { + "marked": "bin/marked.js" }, "engines": { - "node": ">=4" + "node": ">= 12" } }, - "node_modules/jscodeshift/node_modules/recast": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", - "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "node_modules/mdast-util-definitions": { + "version": "4.0.0", "dev": true, + "license": "MIT", "dependencies": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" + "unist-util-visit": "^2.0.0" }, - "engines": { - "node": ">= 4" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/jscodeshift/node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "node_modules/mdast-util-to-string": { + "version": "1.1.0", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/jsesc": { - "version": "2.5.2", + "node_modules/media-query-parser": { + "version": "2.0.2", "dev": true, "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" + "dependencies": { + "@babel/runtime": "^7.12.5" } }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" + "engines": { + "node": ">= 0.6" + } }, - "node_modules/json-stable-stringify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", - "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", + "node_modules/memoizerific": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", + "integrity": "sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==", "dev": true, "dependencies": { - "jsonify": "^0.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "map-or-similar": "^1.5.0" } }, - "node_modules/json-stable-stringify-without-jsonify": { + "node_modules/merge-descriptors": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "dev": true, "license": "MIT" }, - "node_modules/json5": { - "version": "2.2.3", + "node_modules/merge2": { + "version": "1.4.1", "dev": true, "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, "engines": { - "node": ">=6" + "node": ">= 8" } }, - "node_modules/jsonc-eslint-parser": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", - "integrity": "sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==", + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", "dev": true, "license": "MIT", "dependencies": { - "acorn": "^8.5.0", - "eslint-visitor-keys": "^3.0.0", - "espree": "^9.0.0", - "semver": "^7.3.5" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ota-meshi" + "node": ">=8.6" } }, - "node_modules/jsonc-eslint-parser/node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "license": "MIT", "bin": { - "acorn": "bin/acorn" + "mime": "cli.js" }, "engines": { - "node": ">=0.4.0" + "node": ">=4" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", + "node_modules/mime-db": { + "version": "1.52.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "node_modules/jsonfile": { - "version": "6.1.0", + "node_modules/mime-types": { + "version": "2.1.35", "dev": true, "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "mime-db": "1.52.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">= 0.6" } }, - "node_modules/jsonify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", - "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "node_modules/mimic-fn": { + "version": "2.1.0", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.3", "license": "MIT", - "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - }, "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/kind-of": { - "version": "6.0.3", + "node_modules/min-indent": { + "version": "1.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/minimatch": { + "version": "3.1.2", "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/kolorist": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", - "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", - "dev": true - }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "license": "CC0-1.0" - }, - "node_modules/language-tags": { - "version": "1.0.5", + "node_modules/minimist": { + "version": "1.2.8", + "dev": true, "license": "MIT", - "dependencies": { - "language-subtag-registry": "~0.3.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lazy-universal-dotenv": { - "version": "4.0.0", + "node_modules/minipass": { + "version": "3.3.6", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "app-root-dir": "^1.0.2", - "dotenv": "^16.0.0", - "dotenv-expand": "^10.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "node_modules/minipass/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "engines": { - "node": ">=6" - } + "license": "ISC" }, - "node_modules/levn": { - "version": "0.4.1", + "node_modules/minizlib": { + "version": "2.1.2", + "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 8" } }, - "node_modules/license-checker": { - "version": "25.0.1", + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "chalk": "^2.4.1", - "debug": "^3.1.0", - "mkdirp": "^0.5.1", - "nopt": "^4.0.1", - "read-installed": "~4.0.3", - "semver": "^5.5.0", - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0", - "spdx-satisfies": "^4.0.0", - "treeify": "^1.1.0" - }, - "bin": { - "license-checker": "bin/license-checker" - } + "license": "ISC" }, - "node_modules/license-checker/node_modules/ansi-styles": { - "version": "3.2.1", + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" + }, + "node_modules/mkdirp": { + "version": "1.0.4", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/license-checker/node_modules/chalk": { - "version": "2.4.2", + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/mlly": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" + } + }, + "node_modules/mlly/node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=4" + "node": ">=0.4.0" } }, - "node_modules/license-checker/node_modules/color-convert": { - "version": "1.9.3", + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" + "engines": { + "node": ">=4" } }, - "node_modules/license-checker/node_modules/color-name": { - "version": "1.1.3", + "node_modules/ms": { + "version": "2.1.2", "dev": true, "license": "MIT" }, - "node_modules/license-checker/node_modules/debug": { - "version": "3.2.7", + "node_modules/muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" } }, - "node_modules/license-checker/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, "engines": { - "node": ">=0.8.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/license-checker/node_modules/has-flag": { - "version": "3.0.0", + "node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/license-checker/node_modules/mkdirp": { - "version": "0.5.6", + "node_modules/neo-async": { + "version": "2.6.2", "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.5.tgz", + "integrity": "sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA==", "license": "MIT", "dependencies": { - "minimist": "^1.2.6" + "@next/env": "14.2.5", + "@swc/helpers": "0.5.5", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" }, "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/license-checker/node_modules/nopt": { - "version": "4.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" + "next": "dist/bin/next" }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/license-checker/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.2.5", + "@next/swc-darwin-x64": "14.2.5", + "@next/swc-linux-arm64-gnu": "14.2.5", + "@next/swc-linux-arm64-musl": "14.2.5", + "@next/swc-linux-x64-gnu": "14.2.5", + "@next/swc-linux-x64-musl": "14.2.5", + "@next/swc-win32-arm64-msvc": "14.2.5", + "@next/swc-win32-ia32-msvc": "14.2.5", + "@next/swc-win32-x64-msvc": "14.2.5" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "sass": { + "optional": true + } } }, - "node_modules/license-checker/node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "license": "MIT", + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "has-flag": "^3.0.0" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14" } }, - "node_modules/lilconfig": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } + "node_modules/nextjs-spa": { + "resolved": "examples/nextjs-spa", + "link": true }, - "node_modules/lines-and-columns": { - "version": "2.0.3", + "node_modules/node-dir": { + "version": "0.1.17", "dev": true, "license": "MIT", + "dependencies": { + "minimatch": "^3.0.2" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">= 0.10.5" } }, - "node_modules/locate-path": { - "version": "6.0.0", + "node_modules/node-fetch": { + "version": "2.6.9", + "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^5.0.0" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=10" + "node": "4.x || >=6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/lodash": { - "version": "4.17.21", - "license": "MIT" + "node_modules/node-fetch-native": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.4.0.tgz", + "integrity": "sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==", + "dev": true }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true }, - "node_modules/lodash.memoize": { - "version": "4.1.2", + "node_modules/node-machine-id": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", + "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==", "dev": true, "license": "MIT" }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "license": "MIT" + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true }, - "node_modules/log-symbols": { - "version": "4.1.0", + "node_modules/normalize-path": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" + "node": ">=0.10.0" } }, - "node_modules/loud-rejection": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-2.2.0.tgz", - "integrity": "sha512-S0FayMXku80toa5sZ6Ro4C+s+EtFDCsyJNG/AzFMfX3AxD5Si4dZsgzm/kKnbOxHl5Cv8jBlno8+3XYIh2pNjQ==", + "node_modules/normalize-range": { + "version": "0.1.2", "dev": true, - "dependencies": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.2" - }, + "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" + "node": ">=0.10.0" } }, - "node_modules/lunr": { - "version": "2.3.9", + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/magic-string": { - "version": "0.27.0", + "node_modules/npm-run-path": { + "version": "4.0.1", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" + "path-key": "^3.0.0" }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/make-dir": { - "version": "2.1.0", + "node_modules/nx": { + "version": "19.5.4", + "resolved": "https://registry.npmjs.org/nx/-/nx-19.5.4.tgz", + "integrity": "sha512-zfxIFe+29Na6GKlmPPzQhCjnBv5HoLaT43mYZdHh3BPrVOzWBCXNwxWROG1ZK9IcUepwySWq7NI/H3w8BGPEGg==", "dev": true, + "hasInstallScript": true, "license": "MIT", "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "@napi-rs/wasm-runtime": "0.2.4", + "@nrwl/tao": "19.5.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.0-rc.46", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.7.2", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "jsonc-parser": "3.2.0", + "lines-and-columns": "~2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/pify": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, "bin": { - "semver": "bin/semver" + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "19.5.4", + "@nx/nx-darwin-x64": "19.5.4", + "@nx/nx-freebsd-x64": "19.5.4", + "@nx/nx-linux-arm-gnueabihf": "19.5.4", + "@nx/nx-linux-arm64-gnu": "19.5.4", + "@nx/nx-linux-arm64-musl": "19.5.4", + "@nx/nx-linux-x64-gnu": "19.5.4", + "@nx/nx-linux-x64-musl": "19.5.4", + "@nx/nx-win32-arm64-msvc": "19.5.4", + "@nx/nx-win32-x64-msvc": "19.5.4" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "license": "ISC" - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "node_modules/nx/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-or-similar": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", - "integrity": "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==", - "dev": true - }, - "node_modules/markdown-to-jsx": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.3.2.tgz", - "integrity": "sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==", - "dev": true, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "react": ">= 0.14.0" + "balanced-match": "^1.0.0" } }, - "node_modules/marked": { - "version": "4.2.12", + "node_modules/nx/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "MIT", - "bin": { - "marked": "bin/marked.js" + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">= 12" + "node": ">=12" } }, - "node_modules/mdast-util-definitions": { - "version": "4.0.0", + "node_modules/nx/node_modules/dotenv-expand": { + "version": "11.0.6", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.6.tgz", + "integrity": "sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "unist-util-visit": "^2.0.0" + "dotenv": "^16.4.4" + }, + "engines": { + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://dotenvx.com" } }, - "node_modules/mdast-util-to-string": { - "version": "1.1.0", + "node_modules/nx/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/media-query-parser": { - "version": "2.0.2", + "node_modules/nx/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memoizerific": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", - "integrity": "sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==", - "dev": true, - "dependencies": { - "map-or-similar": "^1.5.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, - "node_modules/merge-stream": { - "version": "2.0.0", + "node_modules/nx/node_modules/strip-bom": { + "version": "3.0.0", "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "node_modules/nx/node_modules/tsconfig-paths": { + "version": "4.1.2", "dev": true, + "license": "MIT", + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/micromatch": { - "version": "4.0.5", + "node_modules/nx/node_modules/yargs": { + "version": "17.7.1", + "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=8.6" + "node": ">=12" } }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "node_modules/nx/node_modules/yargs-parser": { + "version": "21.1.1", "dev": true, - "bin": { - "mime": "cli.js" - }, + "license": "ISC", "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/mime-db": { - "version": "1.52.0", + "node_modules/object-assign": { + "version": "4.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/mime-types": { - "version": "2.1.35", + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true, "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", + "node_modules/object-is": { + "version": "1.1.5", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/min-indent": { - "version": "1.0.1", + "node_modules/object-keys": { + "version": "1.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "license": "MIT", + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minipass": { - "version": "3.3.6", + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/minizlib": { - "version": "2.1.2", + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, "license": "MIT", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/mitt": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" + "node": ">= 0.4" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "node_modules/mlly": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", - "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "dev": true, - "license": "MIT", "dependencies": { - "acorn": "^8.11.3", - "pathe": "^1.1.2", - "pkg-types": "^1.1.1", - "ufo": "^1.5.3" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" } }, - "node_modules/mlly/node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, "license": "MIT", - "bin": { - "acorn": "bin/acorn" + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/muggle-string": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", - "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">= 0.8" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "license": "MIT" - }, - "node_modules/natural-compare-lite": { + "node_modules/once": { "version": "1.4.0", "dev": true, - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" + "license": "ISC", + "dependencies": { + "wrappy": "1" } }, - "node_modules/neo-async": { - "version": "2.6.2", + "node_modules/onetime": { + "version": "5.1.2", "dev": true, - "license": "MIT" - }, - "node_modules/next": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.5.tgz", - "integrity": "sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA==", "license": "MIT", "dependencies": { - "@next/env": "14.2.5", - "@swc/helpers": "0.5.5", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001579", - "graceful-fs": "^4.2.11", - "postcss": "8.4.31", - "styled-jsx": "5.1.1" - }, - "bin": { - "next": "dist/bin/next" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=18.17.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.5", - "@next/swc-darwin-x64": "14.2.5", - "@next/swc-linux-arm64-gnu": "14.2.5", - "@next/swc-linux-arm64-musl": "14.2.5", - "@next/swc-linux-x64-gnu": "14.2.5", - "@next/swc-linux-x64-musl": "14.2.5", - "@next/swc-win32-arm64-msvc": "14.2.5", - "@next/swc-win32-ia32-msvc": "14.2.5", - "@next/swc-win32-x64-msvc": "14.2.5" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.41.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/next/node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "node": ">=6" }, - "engines": { - "node": "^10 || ^12 || >=14" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nextjs-spa": { - "resolved": "examples/nextjs-spa", - "link": true - }, - "node_modules/node-dir": { - "version": "0.1.17", + "node_modules/open": { + "version": "8.4.2", "dev": true, "license": "MIT", "dependencies": { - "minimatch": "^3.0.2" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": ">= 0.10.5" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-fetch": { - "version": "2.6.9", + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, - "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "node": ">= 0.8.0" } }, - "node_modules/node-fetch-native": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.4.0.tgz", - "integrity": "sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==", - "dev": true - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-machine-id": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", - "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==", + "node_modules/ora": { + "version": "5.4.1", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "node_modules/ory-prettier-styles": { + "version": "1.3.0", "dev": true }, - "node_modules/normalize-path": { - "version": "3.0.0", + "node_modules/os-homedir": { + "version": "1.0.2", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/normalize-range": { - "version": "0.1.2", + "node_modules/os-tmpdir": { + "version": "1.0.2", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/npm-normalize-package-bin": { - "version": "1.0.1", + "node_modules/osenv": { + "version": "0.1.5", "dev": true, - "license": "ISC" + "license": "ISC", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } }, - "node_modules/npm-run-path": { - "version": "4.0.1", + "node_modules/outdent": { + "version": "0.8.0", + "dev": true, + "license": "MIT" + }, + "node_modules/p-limit": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nx": { - "version": "19.5.4", - "resolved": "https://registry.npmjs.org/nx/-/nx-19.5.4.tgz", - "integrity": "sha512-zfxIFe+29Na6GKlmPPzQhCjnBv5HoLaT43mYZdHh3BPrVOzWBCXNwxWROG1ZK9IcUepwySWq7NI/H3w8BGPEGg==", + "node_modules/p-locate": { + "version": "5.0.0", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@nrwl/tao": "19.5.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.0-rc.46", - "@zkochan/js-yaml": "0.0.7", - "axios": "^1.7.2", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", - "fs-extra": "^11.1.0", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "jsonc-parser": "3.2.0", - "lines-and-columns": "~2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "semver": "^7.5.3", - "string-width": "^4.2.3", - "strong-log-transformer": "^2.1.0", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" + "p-limit": "^3.0.2" }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" + "engines": { + "node": ">=10" }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "19.5.4", - "@nx/nx-darwin-x64": "19.5.4", - "@nx/nx-freebsd-x64": "19.5.4", - "@nx/nx-linux-arm-gnueabihf": "19.5.4", - "@nx/nx-linux-arm64-gnu": "19.5.4", - "@nx/nx-linux-arm64-musl": "19.5.4", - "@nx/nx-linux-x64-gnu": "19.5.4", - "@nx/nx-linux-x64-musl": "19.5.4", - "@nx/nx-win32-arm64-msvc": "19.5.4", - "@nx/nx-win32-x64-msvc": "19.5.4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" }, - "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" + "engines": { + "node": ">=10" }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nx/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/p-try": { + "version": "2.2.0", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/nx/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0" + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "callsites": "^3.0.0" }, "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/nx/node_modules/dotenv-expand": { - "version": "11.0.6", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.6.tgz", - "integrity": "sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==", + "node_modules/parse-json": { + "version": "5.2.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "dotenv": "^16.4.4" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://dotenvx.com" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nx/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/parse-json/node_modules/lines-and-columns": { + "version": "1.2.4", + "dev": true, + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.8" } }, - "node_modules/nx/node_modules/ora": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", - "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "log-symbols": "^4.0.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/nx/node_modules/strip-bom": { - "version": "3.0.0", + "node_modules/path-is-absolute": { + "version": "1.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/tsconfig-paths": { - "version": "4.1.2", + "node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, - "license": "MIT", + "license": "BlueOak-1.0.0", "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=6" + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/nx/node_modules/yargs": { - "version": "17.7.1", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } + "license": "ISC" }, - "node_modules/nx/node_modules/yargs-parser": { - "version": "21.1.1", + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.0.2", "dev": true, "license": "ISC", "engines": { - "node": ">=12" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/object-assign": { - "version": "4.1.1", + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/peek-stream": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", + "integrity": "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "duplexify": "^3.5.0", + "through2": "^2.0.3" } }, - "node_modules/object-is": { - "version": "1.1.5", + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, "engines": { - "node": ">= 0.4" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/object-keys": { - "version": "1.1.1", + "node_modules/pirates": { + "version": "4.0.6", + "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">= 6" } }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "node_modules/pkg-dir": { + "version": "5.0.0", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "find-up": "^5.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "node_modules/pkg-types": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.3.tgz", + "integrity": "sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "confbox": "^0.1.7", + "mlly": "^1.7.1", + "pathe": "^1.1.2" } }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "license": "MIT", + "node_modules/playwright": { + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.46.0.tgz", + "integrity": "sha512-XYJ5WvfefWONh1uPAUAi0H2xXV5S3vrtcnXe6uAOgdGi3aSpqOSXX08IAjXW34xitfuOJsvXU5anXZxPSEQiJw==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" + "playwright-core": "1.46.0" + }, + "bin": { + "playwright": "cli.js" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "fsevents": "2.3.2" } }, - "node_modules/object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" + "node_modules/playwright-core": { + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.46.0.tgz", + "integrity": "sha512-9Y/d5UIwuJk8t3+lhmMSAJyNP1BUC/DqP3cQJDQQL/oWqAiuPTLgy7Q5dzglmTLwcBRdetzgNM/gni7ckfTr6A==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" } }, - "node_modules/object.hasown": { - "version": "1.1.2", + "node_modules/polished": { + "version": "4.2.2", + "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@babel/runtime": "^7.17.8" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, "engines": { "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10 || ^12 || >=14" } }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/postcss-load-config": { + "version": "3.1.4", "dev": true, + "license": "MIT", "dependencies": { - "ee-first": "1.1.1" + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" }, "engines": { - "node": ">= 0.8" + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "node_modules/postcss-value-parser": { + "version": "4.2.0", "dev": true, - "engines": { - "node": ">= 0.8" - } + "license": "MIT" }, - "node_modules/once": { - "version": "1.4.0", - "license": "ISC", - "dependencies": { - "wrappy": "1" + "node_modules/preact": { + "version": "10.13.1", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" } }, - "node_modules/onetime": { - "version": "5.1.2", + "node_modules/preact-spa": { + "resolved": "examples/preact-spa", + "link": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", "dev": true, "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8.0" } }, - "node_modules/open": { - "version": "8.4.2", - "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "node_modules/prettier": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ora": { - "version": "5.4.1", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ory-prettier-styles": { - "version": "1.3.0", + "node_modules/pretty-format/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "node_modules/os-homedir": { - "version": "1.0.2", + "node_modules/pretty-hrtime": { + "version": "1.0.3", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6.0" } }, - "node_modules/osenv": { - "version": "0.1.5", + "node_modules/process-nextick-args": { + "version": "2.0.1", "dev": true, - "license": "ISC", - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } + "license": "MIT" }, - "node_modules/outdent": { - "version": "0.8.0", + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.4.0" + } }, - "node_modules/p-limit": { - "version": "3.1.0", - "license": "MIT", + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/p-locate": { - "version": "5.0.0", + "node_modules/prop-types": { + "version": "15.8.1", + "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, - "node_modules/p-map": { - "version": "4.0.0", + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, - "license": "MIT", "dependencies": { - "aggregate-error": "^3.0.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.10" } }, - "node_modules/p-try": { - "version": "2.2.0", + "node_modules/proxy-from-env": { + "version": "1.1.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", - "dev": true + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } }, - "node_modules/parent-module": { - "version": "1.0.1", - "license": "MIT", + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, "dependencies": { - "callsites": "^3.0.0" - }, + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/parse-json": { - "version": "5.2.0", + "node_modules/puppeteer-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-2.1.1.tgz", + "integrity": "sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "@types/mime-types": "^2.1.0", + "debug": "^4.1.0", + "extract-zip": "^1.6.6", + "https-proxy-agent": "^4.0.0", + "mime": "^2.0.3", + "mime-types": "^2.1.25", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^2.6.1", + "ws": "^6.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.16.0" } }, - "node_modules/parse-json/node_modules/lines-and-columns": { - "version": "1.2.4", + "node_modules/puppeteer-core/node_modules/agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", "dev": true, - "license": "MIT" + "engines": { + "node": ">= 6.0.0" + } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/puppeteer-core/node_modules/https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", "dev": true, + "dependencies": { + "agent-base": "5", + "debug": "4" + }, "engines": { - "node": ">= 0.8" + "node": ">= 6.0.0" } }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "node_modules/puppeteer-core/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", "dev": true, - "license": "MIT" - }, - "node_modules/path-exists": { - "version": "4.0.0", - "license": "MIT", + "bin": { + "mime": "cli.js" + }, "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/puppeteer-core/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/path-key": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/puppeteer-core/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "license": "MIT" + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dev": true, - "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "side-channel": "^1.0.4" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": ">=0.6" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "node_modules/queue-microtask": { + "version": "1.2.3", "dev": true, - "license": "ISC" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.2", + "node_modules/ramda": { + "version": "0.29.0", "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", "license": "MIT", - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" } }, - "node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, - "license": "MIT" + "engines": { + "node": ">= 0.6" + } }, - "node_modules/peek-stream": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", - "integrity": "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==", + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "duplexify": "^3.5.0", - "through2": "^2.0.3" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", - "engines": { - "node": ">=8.6" + "dependencies": { + "loose-envify": "^1.1.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/pirates": { - "version": "4.0.6", + "node_modules/react-colorful": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", + "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, - "node_modules/pkg-dir": { - "version": "5.0.0", + "node_modules/react-docgen": { + "version": "6.0.0-alpha.3", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^5.0.0" + "@babel/core": "^7.7.5", + "@babel/generator": "^7.12.11", + "ast-types": "^0.14.2", + "commander": "^2.19.0", + "doctrine": "^3.0.0", + "estree-to-babel": "^3.1.0", + "neo-async": "^2.6.1", + "node-dir": "^0.1.10", + "resolve": "^1.17.0", + "strip-indent": "^3.0.0" + }, + "bin": { + "react-docgen": "bin/react-docgen.js" }, "engines": { - "node": ">=10" + "node": ">=12.0.0" } }, - "node_modules/pkg-types": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.3.tgz", - "integrity": "sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==", + "node_modules/react-docgen-typescript": { + "version": "2.2.2", "dev": true, "license": "MIT", - "dependencies": { - "confbox": "^0.1.7", - "mlly": "^1.7.1", - "pathe": "^1.1.2" + "peerDependencies": { + "typescript": ">= 4.3.x" } }, - "node_modules/playwright": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.38.0.tgz", - "integrity": "sha512-fJGw+HO0YY+fU/F1N57DMO+TmXHTrmr905J05zwAQE9xkuwP/QLDk63rVhmyxh03dYnEhnRbsdbH9B0UVVRB3A==", + "node_modules/react-docgen/node_modules/ast-types": { + "version": "0.14.2", "dev": true, + "license": "MIT", "dependencies": { - "playwright-core": "1.38.0" - }, - "bin": { - "playwright": "cli.js" + "tslib": "^2.0.1" }, "engines": { - "node": ">=16" - }, - "optionalDependencies": { - "fsevents": "2.3.2" + "node": ">=4" } }, - "node_modules/playwright/node_modules/playwright-core": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.38.0.tgz", - "integrity": "sha512-f8z1y8J9zvmHoEhKgspmCvOExF2XdcxMW8jNRuX4vkQFrzV4MlZ55iwb5QeyiFQgOFCUolXiRHgpjSEnqvO48g==", - "dev": true, - "bin": { - "playwright-core": "cli.js" + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" }, - "engines": { - "node": ">=16" + "peerDependencies": { + "react": "^18.3.1" } }, - "node_modules/polished": { - "version": "4.2.2", + "node_modules/react-element-to-jsx-string": { + "version": "15.0.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.17.8" + "@base2/pretty-print-object": "1.0.1", + "is-plain-object": "5.0.0", + "react-is": "18.1.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "react": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0", + "react-dom": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0" } }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "node_modules/react-element-to-jsx-string/node_modules/is-plain-object": { + "version": "5.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" + "node_modules/react-element-to-jsx-string/node_modules/react-is": { + "version": "18.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/react-inspector": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-6.0.2.tgz", + "integrity": "sha512-x+b7LxhmHXjHoU/VrFAzw5iutsILRoYyDq97EDYdFpPLcvqtEzk4ZSZSQjnFPbr5T57tLXnHcqFYoN1pI6u8uQ==", + "dev": true, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0 || ^18.0.0" } }, - "node_modules/postcss-load-config": { - "version": "3.1.4", + "node_modules/react-intl": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.4.tgz", + "integrity": "sha512-/C9Sl/5//ohfkNG6AWlJuf4BhTXsbzyk93K62A4zRhSPANyOGpKZ+fWhN+TLfFd5YjDUHy+exU/09y0w1bO4Xw==", "dev": true, - "license": "MIT", "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - }, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/intl": "2.9.0", + "@formatjs/intl-displaynames": "6.5.0", + "@formatjs/intl-listformat": "7.4.0", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/react": "16 || 17 || 18", + "hoist-non-react-statics": "^3.3.2", + "intl-messageformat": "10.5.0", + "tslib": "^2.4.0" }, "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" + "react": "^16.6.0 || 17 || 18", + "typescript": "^4.7 || 5" }, "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { + "typescript": { "optional": true } } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", + "node_modules/react-is": { + "version": "16.13.1", "dev": true, "license": "MIT" }, - "node_modules/preact": { - "version": "10.13.1", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/preact" - } - }, - "node_modules/preact-spa": { - "resolved": "examples/preact-spa", - "link": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" + "dependencies": { + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" }, "engines": { - "node": ">=14" + "node": ">=10" }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "dev": true, + "node_modules/react-router": { + "version": "6.8.0", "license": "MIT", + "dependencies": { + "@remix-run/router": "1.3.1" + }, "engines": { - "node": ">= 0.8" + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, + "node_modules/react-router-dom": { + "version": "6.8.0", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.3.1", + "react-router": "6.8.0" + }, "engines": { - "node": ">= 0.6.0" + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } + "node_modules/react-spa": { + "resolved": "examples/react-spa", + "link": true }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", "dev": true, "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "node_modules/read-installed": { + "version": "4.0.3", "dev": true, + "license": "ISC", "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "debuglog": "^1.0.1", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" }, - "engines": { - "node": ">= 0.10" + "optionalDependencies": { + "graceful-fs": "^4.1.2" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", + "node_modules/read-installed/node_modules/hosted-git-info": { + "version": "2.8.9", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "node_modules/read-installed/node_modules/normalize-package-data": { + "version": "2.5.0", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "node_modules/read-installed/node_modules/read-package-json": { + "version": "2.1.2", "dev": true, + "license": "ISC", "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" } }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "node_modules/read-installed/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "bin": { + "semver": "bin/semver" } }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "node_modules/read-pkg-up": { + "version": "7.0.1", + "dev": true, "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/puppeteer-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-2.1.1.tgz", - "integrity": "sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==", + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", "dev": true, + "license": "MIT", "dependencies": { - "@types/mime-types": "^2.1.0", - "debug": "^4.1.0", - "extract-zip": "^1.6.6", - "https-proxy-agent": "^4.0.0", - "mime": "^2.0.3", - "mime-types": "^2.1.25", - "progress": "^2.0.1", - "proxy-from-env": "^1.0.0", - "rimraf": "^2.6.1", - "ws": "^6.1.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=8.16.0" + "node": ">=8" } }, - "node_modules/puppeteer-core/node_modules/agent-base": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", - "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", + "node_modules/read-pkg-up/node_modules/hosted-git-info": { + "version": "2.8.9", "dev": true, - "engines": { - "node": ">= 6.0.0" - } + "license": "ISC" }, - "node_modules/puppeteer-core/node_modules/https-proxy-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", - "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", "dev": true, + "license": "MIT", "dependencies": { - "agent-base": "5", - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/puppeteer-core/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=8" } }, - "node_modules/puppeteer-core/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/read-pkg-up/node_modules/normalize-package-data": { + "version": "2.5.0", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/puppeteer-core/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", "dev": true, + "license": "MIT", "dependencies": { - "async-limiter": "~1.0.0" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pure-rand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", - "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] - }, - "node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", "dev": true, + "license": "MIT", "dependencies": { - "side-channel": "^1.0.4" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/read-pkg-up/node_modules/read-pkg": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/ramda": { - "version": "0.29.0", + "node_modules/read-pkg-up/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" } }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "node_modules/read-pkg-up/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "engines": { - "node": ">= 0.6" + "bin": { + "semver": "bin/semver" } }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/react-colorful": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", - "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==", + "node_modules/readdir-scoped-modules": { + "version": "1.1.0", "dev": true, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" + "license": "ISC", + "dependencies": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" } }, - "node_modules/react-docgen": { - "version": "6.0.0-alpha.3", + "node_modules/readdirp": { + "version": "3.6.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.7.5", - "@babel/generator": "^7.12.11", - "ast-types": "^0.14.2", - "commander": "^2.19.0", - "doctrine": "^3.0.0", - "estree-to-babel": "^3.1.0", - "neo-async": "^2.6.1", - "node-dir": "^0.1.10", - "resolve": "^1.17.0", - "strip-indent": "^3.0.0" + "picomatch": "^2.2.1" }, - "bin": { - "react-docgen": "bin/react-docgen.js" + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recast": { + "version": "0.23.4", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.4.tgz", + "integrity": "sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw==", + "dev": true, + "dependencies": { + "assert": "^2.0.0", + "ast-types": "^0.16.1", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" }, "engines": { - "node": ">=12.0.0" + "node": ">= 4" } }, - "node_modules/react-docgen-typescript": { - "version": "2.2.2", + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", "dev": true, "license": "MIT", - "peerDependencies": { - "typescript": ">= 4.3.x" + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-docgen/node_modules/ast-types": { - "version": "0.14.2", + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, - "license": "MIT", "dependencies": { - "tslib": "^2.0.1" + "regenerate": "^1.4.2" }, "engines": { "node": ">=4" } }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" - }, - "peerDependencies": { - "react": "^18.3.1" + "@babel/runtime": "^7.8.4" } }, - "node_modules/react-element-to-jsx-string": { - "version": "15.0.0", + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, "license": "MIT", "dependencies": { - "@base2/pretty-print-object": "1.0.1", - "is-plain-object": "5.0.0", - "react-is": "18.1.0" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, - "peerDependencies": { - "react": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0", - "react-dom": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-element-to-jsx-string/node_modules/is-plain-object": { - "version": "5.0.0", + "node_modules/regexparam": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-3.0.0.tgz", + "integrity": "sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/react-element-to-jsx-string/node_modules/react-is": { - "version": "18.1.0", + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, - "license": "MIT" + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/react-inspector": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-6.0.2.tgz", - "integrity": "sha512-x+b7LxhmHXjHoU/VrFAzw5iutsILRoYyDq97EDYdFpPLcvqtEzk4ZSZSQjnFPbr5T57tLXnHcqFYoN1pI6u8uQ==", + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0 || ^18.0.0" + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/react-intl": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.4.tgz", - "integrity": "sha512-/C9Sl/5//ohfkNG6AWlJuf4BhTXsbzyk93K62A4zRhSPANyOGpKZ+fWhN+TLfFd5YjDUHy+exU/09y0w1bO4Xw==", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/remark-external-links": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "extend": "^3.0.0", + "is-absolute-url": "^3.0.0", + "mdast-util-definitions": "^4.0.0", + "space-separated-tokens": "^1.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-slug": { + "version": "6.1.0", "dev": true, + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "1.17.0", - "@formatjs/icu-messageformat-parser": "2.6.0", - "@formatjs/intl": "2.9.0", - "@formatjs/intl-displaynames": "6.5.0", - "@formatjs/intl-listformat": "7.4.0", - "@types/hoist-non-react-statics": "^3.3.1", - "@types/react": "16 || 17 || 18", - "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "10.5.0", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "react": "^16.6.0 || 17 || 18", - "typescript": "^4.7 || 5" + "github-slugger": "^1.0.0", + "mdast-util-to-string": "^1.0.0", + "unist-util-visit": "^2.0.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-is": { - "version": "16.13.1", - "license": "MIT" + "node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/react-refresh": { - "version": "0.14.0", + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/react-remove-scroll": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", - "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "node_modules/require-like": { + "version": "0.1.2", "dev": true, - "dependencies": { - "react-remove-scroll-bar": "^2.3.3", - "react-style-singleton": "^2.2.1", - "tslib": "^2.1.0", - "use-callback-ref": "^1.3.0", - "use-sidecar": "^1.1.2" - }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "node": "*" } }, - "node_modules/react-remove-scroll-bar": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", - "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "node_modules/requireindex": { + "version": "1.2.0", "dev": true, - "dependencies": { - "react-style-singleton": "^2.2.1", - "tslib": "^2.0.0" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=0.10.5" + } + }, + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "bin": { + "resolve": "bin/resolve" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-router": { - "version": "6.8.0", + "node_modules/resolve-cwd": { + "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { - "@remix-run/router": "1.3.1" + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": ">=16.8" + "node": ">=8" } }, - "node_modules/react-router-dom": { - "version": "6.8.0", + "node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "@remix-run/router": "1.3.1", - "react-router": "6.8.0" - }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" + "node": ">=8" } }, - "node_modules/react-spa": { - "resolved": "examples/react-spa", - "link": true + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } }, - "node_modules/react-style-singleton": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", - "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, - "dependencies": { - "get-nonce": "^1.0.0", - "invariant": "^2.2.4", - "tslib": "^2.0.0" - }, "engines": { "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } } }, - "node_modules/read-installed": { - "version": "4.0.3", + "node_modules/restore-cursor": { + "version": "3.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "debuglog": "^1.0.1", - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "slide": "~1.1.3", - "util-extend": "^1.0.1" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, - "optionalDependencies": { - "graceful-fs": "^4.1.2" + "engines": { + "node": ">=8" } }, - "node_modules/read-installed/node_modules/hosted-git-info": { - "version": "2.8.9", - "dev": true, - "license": "ISC" - }, - "node_modules/read-installed/node_modules/normalize-package-data": { - "version": "2.5.0", + "node_modules/reusify": { + "version": "1.0.4", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/read-installed/node_modules/read-package-json": { - "version": "2.1.2", + "node_modules/rimraf": { + "version": "3.0.2", "dev": true, "license": "ISC", "dependencies": { - "glob": "^7.1.1", - "json-parse-even-better-errors": "^2.3.0", - "normalize-package-data": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0" - } - }, - "node_modules/read-installed/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, + "glob": "^7.1.3" + }, "bin": { - "semver": "bin/semver" + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/read-pkg-up": { - "version": "7.0.1", + "node_modules/rollup": { + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", + "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=8" + "node": ">=14.18.0", + "npm": ">=8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" }, "engines": { - "node": ">=8" + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/read-pkg-up/node_modules/hosted-git-info": { - "version": "2.8.9", + "node_modules/safe-buffer": { + "version": "5.1.2", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/read-pkg-up/node_modules/normalize-package-data": { - "version": "2.5.0", + "node_modules/safer-buffer": { + "version": "2.1.2", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "loose-envify": "^1.1.0" } }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, - "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "lru-cache": "^6.0.0" }, - "engines": { - "node": ">=6" + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=10" } }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "p-limit": "^2.2.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/read-pkg-up/node_modules/read-pkg": { - "version": "5.2.0", + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/read-pkg-up/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/read-pkg-up/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true }, - "node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/serve-favicon": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz", + "integrity": "sha512-FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "etag": "~1.8.1", + "fresh": "0.5.2", + "ms": "2.1.1", + "parseurl": "~1.3.2", + "safe-buffer": "5.1.1" }, "engines": { - "node": ">= 6" + "node": ">= 0.8.0" } }, - "node_modules/readdir-scoped-modules": { - "version": "1.1.0", + "node_modules/serve-favicon/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/serve-favicon/node_modules/safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, - "license": "ISC", "dependencies": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">=8.10.0" + "node": ">= 0.4" } }, - "node_modules/recast": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.4.tgz", - "integrity": "sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw==", + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, + "license": "MIT", "dependencies": { - "assert": "^2.0.0", - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">= 4" + "node": ">= 0.4" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "node_modules/shallow-clone": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", "dev": true, + "license": "MIT", "dependencies": { - "regenerate": "^1.4.2" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "license": "MIT" + "node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "node_modules/shiki": { + "version": "0.11.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.8.4" + "jsonc-parser": "^3.0.0", + "vscode-oniguruma": "^1.6.1", + "vscode-textmate": "^6.0.0" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", - "define-properties": "^1.2.1", + "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" }, "engines": { "node": ">= 0.4" @@ -19673,227 +21322,225 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexparam": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-3.0.0.tgz", - "integrity": "sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==", + "node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, + "license": "ISC" + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/regexpp": { - "version": "3.2.0", + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "node_modules/slide": { + "version": "1.1.6", "dev": true, - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, + "license": "ISC", "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "node_modules/source-map": { + "version": "0.6.1", "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/remark-external-links": { - "version": "8.0.0", + "node_modules/source-map-support": { + "version": "0.5.21", "dev": true, "license": "MIT", "dependencies": { - "extend": "^3.0.0", - "is-absolute-url": "^3.0.0", - "mdast-util-definitions": "^4.0.0", - "space-separated-tokens": "^1.0.0", - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/remark-slug": { - "version": "6.1.0", + "node_modules/space-separated-tokens": { + "version": "1.1.5", "dev": true, "license": "MIT", - "dependencies": { - "github-slugger": "^1.0.0", - "mdast-util-to-string": "^1.0.0", - "unist-util-visit": "^2.0.0" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/require-directory": { - "version": "2.1.1", + "node_modules/spdx-compare": { + "version": "1.0.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "array-find-index": "^1.0.2", + "spdx-expression-parse": "^3.0.0", + "spdx-ranges": "^2.0.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/spdx-correct": { + "version": "3.2.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/require-like": { - "version": "0.1.2", + "node_modules/spdx-exceptions": { + "version": "2.3.0", "dev": true, - "engines": { - "node": "*" - } + "license": "CC-BY-3.0" }, - "node_modules/requireindex": { - "version": "1.2.0", + "node_modules/spdx-expression-parse": { + "version": "3.0.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.5" + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/spdx-ranges": { + "version": "2.1.1", + "dev": true, + "license": "(MIT AND CC-BY-3.0)" + }, + "node_modules/spdx-satisfies": { + "version": "4.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "spdx-compare": "^1.0.0", + "spdx-expression-parse": "^3.0.0", + "spdx-ranges": "^2.0.0" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", + "node_modules/sprintf-js": { + "version": "1.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, - "license": "MIT", "dependencies": { - "resolve-from": "^5.0.0" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/resolve-from": { - "version": "5.0.0", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + "node": ">=8" } }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "engines": { - "node": ">=10" + "node": ">= 0.8" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "internal-slot": "^1.0.4" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/reusify": { - "version": "1.0.4", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } + "node_modules/store2": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz", + "integrity": "sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==", + "dev": true }, - "node_modules/rimraf": { - "version": "3.0.2", - "license": "ISC", + "node_modules/storybook": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.4.0.tgz", + "integrity": "sha512-jSwbyxHlr2dTY51Pv0mzenjrMDJNZH7DQhHu4ZezpjV+QK/rLCnD+Gt/7iDSaNlsmZJejQcmURDoEybWggMOqw==", + "dev": true, "dependencies": { - "glob": "^7.1.3" + "@storybook/cli": "7.4.0" }, "bin": { - "rimraf": "bin.js" + "sb": "index.js", + "storybook": "index.js" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/rollup": { - "version": "3.28.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", - "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", - "bin": { - "rollup": "dist/bin/rollup" - }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/streamsearch": { + "version": "1.1.0", "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=10.0.0" } }, - "node_modules/run-parallel": { - "version": "1.2.0", + "node_modules/string_decoder": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, "funding": [ { "type": "github", @@ -19908,1259 +21555,1572 @@ "url": "https://feross.org/support" } ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } + "license": "MIT" }, - "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.6.19" } }, - "node_modules/safe-buffer": { - "version": "5.1.2", + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, - "license": "MIT" - }, - "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", + "node_modules/string-width": { + "version": "4.2.3", "dev": true, - "license": "MIT" - }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", "dev": true, + "license": "MIT" + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/serve-favicon": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz", - "integrity": "sha512-FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA==", + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, + "license": "MIT", "dependencies": { - "etag": "~1.8.1", - "fresh": "0.5.2", - "ms": "2.1.1", - "parseurl": "~1.3.2", - "safe-buffer": "5.1.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/serve-favicon/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node_modules/serve-favicon/node_modules/safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, + "license": "MIT", "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, - "engines": { - "node": ">= 0.8.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, "license": "MIT", "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, "license": "MIT", "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/shallow-clone": { - "version": "3.0.1", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", "dev": true, "license": "MIT", "dependencies": { - "kind-of": "^6.0.2" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/shebang-command": { + "node_modules/strip-bom": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { - "shebang-regex": "^3.0.0" + "min-indent": "^1.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/shiki": { - "version": "0.11.1", + "node_modules/strong-log-transformer": { + "version": "2.1.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "jsonc-parser": "^3.0.0", - "vscode-oniguruma": "^1.6.1", - "vscode-textmate": "^6.0.0" + "duplexer": "^0.1.1", + "minimist": "^1.2.0", + "through": "^2.3.4" + }, + "bin": { + "sl-log-transformer": "bin/sl-log-transformer.js" + }, + "engines": { + "node": ">=4" } }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "node_modules/styled-jsx": { + "version": "5.1.1", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "client-only": "0.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">= 12.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/signal-exit": { - "version": "3.0.7", + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } }, - "node_modules/simple-update-notifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", - "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "node_modules/sucrase/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, + "license": "MIT", "dependencies": { - "semver": "^7.5.3" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=10" + "node": ">=6.0.0" } }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } }, - "node_modules/slash": { - "version": "3.0.0", + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/slide": { - "version": "1.1.6", + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "license": "ISC", - "engines": { - "node": "*" + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/source-map": { - "version": "0.6.1", + "node_modules/sucrase/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, - "license": "BSD-3-Clause", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/sucrase/node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "license": "BSD-3-Clause", + "node_modules/sucrase/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/source-map-support": { - "version": "0.5.21", + "node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/space-separated-tokens": { - "version": "1.1.5", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", "dev": true, "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/spdx-compare": { - "version": "1.0.0", + "node_modules/synchronous-promise": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.17.tgz", + "integrity": "sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==", + "dev": true + }, + "node_modules/synckit": { + "version": "0.8.5", "dev": true, "license": "MIT", "dependencies": { - "array-find-index": "^1.0.2", - "spdx-expression-parse": "^3.0.0", - "spdx-ranges": "^2.0.0" + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" } }, - "node_modules/spdx-correct": { - "version": "3.2.0", + "node_modules/tapable": { + "version": "2.2.1", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.13", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/spdx-ranges": { + "node_modules/tar-fs": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", "dev": true, - "license": "(MIT AND CC-BY-3.0)" - }, - "node_modules/spdx-satisfies": { - "version": "4.0.1", - "dev": true, - "license": "MIT", "dependencies": { - "spdx-compare": "^1.0.0", - "spdx-expression-parse": "^3.0.0", - "spdx-ranges": "^2.0.0" + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "node_modules/tar-stream": { + "version": "2.2.0", "dev": true, + "license": "MIT", "dependencies": { - "escape-string-regexp": "^2.0.0" + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, + "license": "ISC", "engines": { "node": ">=8" } }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "engines": { - "node": ">= 0.8" + "license": "ISC" + }, + "node_modules/telejson": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/telejson/-/telejson-7.2.0.tgz", + "integrity": "sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==", + "dev": true, + "dependencies": { + "memoizerific": "^1.11.3" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "license": "MIT", + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "dev": true, "dependencies": { - "internal-slot": "^1.0.4" + "rimraf": "~2.6.2" }, "engines": { - "node": ">= 0.4" + "node": ">=6.0.0" } }, - "node_modules/store2": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz", - "integrity": "sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==", - "dev": true - }, - "node_modules/storybook": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.4.0.tgz", - "integrity": "sha512-jSwbyxHlr2dTY51Pv0mzenjrMDJNZH7DQhHu4ZezpjV+QK/rLCnD+Gt/7iDSaNlsmZJejQcmURDoEybWggMOqw==", + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "dependencies": { - "@storybook/cli": "7.4.0" + "glob": "^7.1.3" }, "bin": { - "sb": "index.js", - "storybook": "index.js" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "rimraf": "bin.js" } }, - "node_modules/stream-shift": { + "node_modules/tempy": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", + "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "del": "^6.0.0", + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/string-argv": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "node_modules/tempy/node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.6.19" + "node": ">=8" } }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string-width": { - "version": "4.2.3", + "node_modules/test-exclude": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { "node": ">=8" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" }, "engines": { - "node": ">=8" + "node": ">=0.8" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", + "node_modules/through": { + "version": "2.3.8", "dev": true, "license": "MIT" }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true, "license": "MIT" }, - "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", - "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "safe-buffer": "~5.1.0" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "node_modules/tiny-glob": { + "version": "0.2.9", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "globalyzer": "0.1.0", + "globrex": "^0.1.2" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.2.1", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "rimraf": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8.17.0" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", + "node_modules/to-regex-range": { + "version": "5.0.1", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "is-number": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=8.0" } }, - "node_modules/strip-bom": { - "version": "4.0.0", + "node_modules/tocbot": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.21.1.tgz", + "integrity": "sha512-IfajhBTeg0HlMXu1f+VMbPef05QpDTsZ9X2Yn1+8npdaXsXg/+wrm9Ze1WG5OS1UDC3qJ5EQN/XOZ3gfXjPFCw==", + "dev": true + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.6" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", + "node_modules/tr46": { + "version": "0.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/treeify": { + "version": "1.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.6" } }, - "node_modules/strip-indent": { - "version": "3.0.0", + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, "license": "MIT", - "dependencies": { - "min-indent": "^1.0.0" + "engines": { + "node": ">=16" }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6.10" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/ts-jest": { + "version": "29.2.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.4.tgz", + "integrity": "sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw==", + "dev": true, "license": "MIT", + "dependencies": { + "bs-logger": "0.x", + "ejs": "^3.1.10", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } } }, - "node_modules/strong-log-transformer": { - "version": "2.1.0", + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "duplexer": "^0.1.1", - "minimist": "^1.2.0", - "through": "^2.3.4" - }, - "bin": { - "sl-log-transformer": "bin/sl-log-transformer.js" - }, + "license": "ISC", "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/styled-jsx": { - "version": "5.1.1", + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, "license": "MIT", "dependencies": { - "client-only": "0.0.1" + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" }, - "engines": { - "node": ">= 12.0.0" + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" }, "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" }, "peerDependenciesMeta": { - "@babel/core": { + "@swc/core": { "optional": true }, - "babel-plugin-macros": { + "@swc/wasm": { "optional": true } } }, - "node_modules/supports-color": { - "version": "7.2.0", + "node_modules/ts-node/node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.4.0" } }, - "node_modules/synchronous-promise": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.17.tgz", - "integrity": "sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==", - "dev": true - }, - "node_modules/synckit": { - "version": "0.8.5", + "node_modules/ts-node/node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, "license": "MIT", "dependencies": { - "@pkgr/utils": "^2.3.1", - "tslib": "^2.5.0" + "acorn": "^8.11.0" }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" + "node": ">=0.4.0" } }, - "node_modules/tapable": { - "version": "2.2.1", + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "minimist": "^1.2.0" }, - "engines": { - "node": ">=10" + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", "dev": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "node_modules/tslib": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" }, - "node_modules/tar-stream": { - "version": "2.2.0", + "node_modules/tsup": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.2.4.tgz", + "integrity": "sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q==", "dev": true, "license": "MIT", "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" + "bundle-require": "^5.0.0", + "cac": "^6.7.14", + "chokidar": "^3.6.0", + "consola": "^3.2.3", + "debug": "^4.3.5", + "esbuild": "^0.23.0", + "execa": "^5.1.1", + "globby": "^11.1.0", + "joycon": "^3.1.1", + "picocolors": "^1.0.1", + "postcss-load-config": "^6.0.1", + "resolve-from": "^5.0.0", + "rollup": "^4.19.0", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.35.0", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" }, "engines": { - "node": ">=6" + "node": ">=18" + }, + "peerDependencies": { + "@microsoft/api-extractor": "^7.36.0", + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.5.0" + }, + "peerDependenciesMeta": { + "@microsoft/api-extractor": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } } }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "node_modules/tsup/node_modules/@esbuild/aix-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", + "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "ISC", + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", + "node_modules/tsup/node_modules/@esbuild/android-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", + "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "cpu": [ + "arm" + ], "dev": true, - "license": "ISC" + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/telejson": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/telejson/-/telejson-7.2.0.tgz", - "integrity": "sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==", + "node_modules/tsup/node_modules/@esbuild/android-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", + "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "memoizerific": "^1.11.3" + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" } }, - "node_modules/temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "node_modules/tsup/node_modules/@esbuild/android-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", + "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "rimraf": "~2.6.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "node_modules/tsup/node_modules/@esbuild/darwin-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", + "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" } }, - "node_modules/tempy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", - "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", + "node_modules/tsup/node_modules/@esbuild/darwin-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", + "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "del": "^6.0.0", - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/tempy/node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "node_modules/tsup/node_modules/@esbuild/freebsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", + "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "cpu": [ + "arm64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "node_modules/tsup/node_modules/@esbuild/freebsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", + "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/test-exclude": { - "version": "6.0.0", + "node_modules/tsup/node_modules/@esbuild/linux-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", + "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "cpu": [ + "arm" + ], "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/text-table": { - "version": "0.2.0", - "license": "MIT" - }, - "node_modules/through": { - "version": "2.3.8", + "node_modules/tsup/node_modules/@esbuild/linux-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", + "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/tsup/node_modules/@esbuild/linux-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", + "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/through2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "node_modules/tsup/node_modules/@esbuild/linux-loong64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", + "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "cpu": [ + "loong64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/tsup/node_modules/@esbuild/linux-mips64el": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", + "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "cpu": [ + "mips64el" + ], "dev": true, "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/tsup/node_modules/@esbuild/linux-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", + "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/tiny-glob": { - "version": "0.2.9", + "node_modules/tsup/node_modules/@esbuild/linux-riscv64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", + "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "cpu": [ + "riscv64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==", - "dev": true - }, - "node_modules/tmp": { - "version": "0.2.1", + "node_modules/tsup/node_modules/@esbuild/linux-s390x": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", + "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", - "dependencies": { - "rimraf": "^3.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8.17.0" + "node": ">=18" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", + "node_modules/tsup/node_modules/@esbuild/linux-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", + "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">=18" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", + "node_modules/tsup/node_modules/@esbuild/netbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", + "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=8.0" + "node": ">=18" } }, - "node_modules/tocbot": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.21.1.tgz", - "integrity": "sha512-IfajhBTeg0HlMXu1f+VMbPef05QpDTsZ9X2Yn1+8npdaXsXg/+wrm9Ze1WG5OS1UDC3qJ5EQN/XOZ3gfXjPFCw==", - "dev": true + "node_modules/tsup/node_modules/@esbuild/openbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", + "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "node_modules/tsup/node_modules/@esbuild/sunos-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", + "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=0.6" + "node": ">=18" } }, - "node_modules/tr46": { - "version": "0.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/treeify": { - "version": "1.1.0", + "node_modules/tsup/node_modules/@esbuild/win32-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", + "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.6" + "node": ">=18" } }, - "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "node_modules/tsup/node_modules/@esbuild/win32-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", + "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" + "node": ">=18" } }, - "node_modules/ts-dedent": { - "version": "2.2.0", + "node_modules/tsup/node_modules/@esbuild/win32-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", + "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.10" + "node": ">=18" } }, - "node_modules/ts-jest": { - "version": "29.2.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.4.tgz", - "integrity": "sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw==", + "node_modules/tsup/node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tsup/node_modules/esbuild": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", + "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "bs-logger": "0.x", - "ejs": "^3.1.10", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, "bin": { - "ts-jest": "cli.js" + "esbuild": "bin/esbuild" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/transform": "^29.0.0", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" + "node": ">=18" }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/transform": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-jest/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.23.1", + "@esbuild/android-arm": "0.23.1", + "@esbuild/android-arm64": "0.23.1", + "@esbuild/android-x64": "0.23.1", + "@esbuild/darwin-arm64": "0.23.1", + "@esbuild/darwin-x64": "0.23.1", + "@esbuild/freebsd-arm64": "0.23.1", + "@esbuild/freebsd-x64": "0.23.1", + "@esbuild/linux-arm": "0.23.1", + "@esbuild/linux-arm64": "0.23.1", + "@esbuild/linux-ia32": "0.23.1", + "@esbuild/linux-loong64": "0.23.1", + "@esbuild/linux-mips64el": "0.23.1", + "@esbuild/linux-ppc64": "0.23.1", + "@esbuild/linux-riscv64": "0.23.1", + "@esbuild/linux-s390x": "0.23.1", + "@esbuild/linux-x64": "0.23.1", + "@esbuild/netbsd-x64": "0.23.1", + "@esbuild/openbsd-arm64": "0.23.1", + "@esbuild/openbsd-x64": "0.23.1", + "@esbuild/sunos-x64": "0.23.1", + "@esbuild/win32-arm64": "0.23.1", + "@esbuild/win32-ia32": "0.23.1", + "@esbuild/win32-x64": "0.23.1" + } + }, + "node_modules/tsup/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "node_modules/tsup/node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" + "lilconfig": "^3.1.1" }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" + "engines": { + "node": ">= 18" }, "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { - "@swc/core": { + "jiti": { "optional": true }, - "@swc/wasm": { + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { "optional": true } } }, - "node_modules/ts-node/node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "node_modules/tsup/node_modules/rollup": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.2.tgz", + "integrity": "sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==", "dev": true, "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { - "acorn": "bin/acorn" + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=0.4.0" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.21.2", + "@rollup/rollup-android-arm64": "4.21.2", + "@rollup/rollup-darwin-arm64": "4.21.2", + "@rollup/rollup-darwin-x64": "4.21.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.2", + "@rollup/rollup-linux-arm-musleabihf": "4.21.2", + "@rollup/rollup-linux-arm64-gnu": "4.21.2", + "@rollup/rollup-linux-arm64-musl": "4.21.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.2", + "@rollup/rollup-linux-riscv64-gnu": "4.21.2", + "@rollup/rollup-linux-s390x-gnu": "4.21.2", + "@rollup/rollup-linux-x64-gnu": "4.21.2", + "@rollup/rollup-linux-x64-musl": "4.21.2", + "@rollup/rollup-win32-arm64-msvc": "4.21.2", + "@rollup/rollup-win32-ia32-msvc": "4.21.2", + "@rollup/rollup-win32-x64-msvc": "4.21.2", + "fsevents": "~2.3.2" } }, - "node_modules/ts-node/node_modules/acorn-walk": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", - "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "node_modules/tsup/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "acorn": "^8.11.0" + "whatwg-url": "^7.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">= 8" } }, - "node_modules/ts-node/node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "node_modules/tsup/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", "dev": true, - "license": "MIT" - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", "license": "MIT", "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "punycode": "^2.1.0" } }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } + "node_modules/tsup/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true, + "license": "BSD-2-Clause" }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", + "node_modules/tsup/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, - "node_modules/tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" - }, "node_modules/tsutils": { "version": "3.21.0", + "dev": true, "license": "MIT", "dependencies": { "tslib": "^1.8.1" @@ -21174,10 +23134,12 @@ }, "node_modules/tsutils/node_modules/tslib": { "version": "1.14.1", + "dev": true, "license": "0BSD" }, "node_modules/type-check": { "version": "0.4.0", + "dev": true, "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" @@ -21197,6 +23159,7 @@ }, "node_modules/type-fest": { "version": "0.20.2", + "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" @@ -21222,6 +23185,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.7", @@ -21236,6 +23200,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.7", @@ -21255,6 +23220,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", @@ -21275,6 +23241,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.7", @@ -21339,6 +23306,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -21368,6 +23336,7 @@ }, "node_modules/unbox-primitive": { "version": "1.0.2", + "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -21565,6 +23534,7 @@ }, "node_modules/uri-js": { "version": "4.4.1", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" @@ -21710,6 +23680,7 @@ "version": "4.5.2", "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.2.tgz", "integrity": "sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==", + "dev": true, "dependencies": { "esbuild": "^0.18.10", "postcss": "^8.4.27", @@ -21861,6 +23832,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -21873,6 +23845,7 @@ "version": "0.18.20", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -22003,6 +23976,7 @@ }, "node_modules/which": { "version": "2.0.2", + "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -22016,6 +23990,7 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", + "dev": true, "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", @@ -22028,10 +24003,38 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-builtin-type": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "dev": true, + "license": "MIT", + "dependencies": { + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-collection": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, "license": "MIT", "dependencies": { "is-map": "^2.0.3", @@ -22050,6 +24053,7 @@ "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", @@ -22117,6 +24121,7 @@ }, "node_modules/wrappy": { "version": "1.0.2", + "dev": true, "license": "ISC" }, "node_modules/ws": { @@ -22216,6 +24221,7 @@ }, "node_modules/yocto-queue": { "version": "0.1.0", + "dev": true, "license": "MIT", "engines": { "node": ">=10" diff --git a/package.json b/package.json index f6a6cfe1f..e56eae00e 100644 --- a/package.json +++ b/package.json @@ -11,9 +11,10 @@ "build:preact": "nx run @ory/elements-preact:build --skip-nx-cache", "build:markup": "nx run @ory/elements-markup:build --skip-nx-cache", "build:test": "nx run @ory/elements-test:build --skip-nx-cache", - "test": "jest; playwright test -c playwright-ct.config.ts", + "test": "nx run-many --target=test --all", "docs": "typedoc --entryPointStrategy packages . --out docs", - "generate-locales": "cd scripts && npm run generate-locales" + "generate-locales": "cd scripts && npm run generate-locales", + "prerelease-v1": "nx release --skip-publish && nx release publish --tag next" }, "repository": { "type": "git", @@ -33,8 +34,7 @@ "@nx/eslint": "19.5.4", "@nx/jest": "19.5.4", "@ory/client": "1.6.2", - "@playwright/experimental-ct-react": "1.38.0", - "@playwright/test": "1.38.0", + "@playwright/experimental-ct-react": "1.46.0", "@preact/preset-vite": "2.5.0", "@storybook/addon-docs": "7.4.0", "@storybook/addon-essentials": "7.4.0", @@ -67,16 +67,15 @@ "eslint-plugin-formatjs": "4.10.5", "eslint-plugin-import": "2.28.1", "eslint-plugin-n": "16.1.0", - "eslint-plugin-playwright": "0.16.0", + "eslint-plugin-playwright": "1.6.2", "eslint-plugin-promise": "6.1.1", - "eslint-plugin-react": "7.32.2", - "eslint-plugin-react-hooks": "4.6.0", "eslint-plugin-storybook": "0.6.14", "eslint-plugin-tsdoc": "0.2.17", "jest": "29.7.0", "license-checker": "25.0.1", "nx": "19.5.4", "ory-prettier-styles": "1.3.0", + "playwright": "1.46.0", "postcss": "8.4.35", "prettier": "3.0.3", "react": "18.3.1", @@ -84,11 +83,14 @@ "react-intl": "6.4.4", "storybook": "7.4.0", "ts-jest": "29.2.4", + "ts-node": "10.9.2", + "tsup": "8.2.4", "typedoc": "0.23.16", "typescript": "5.2.2", "vite": "4.5.2", "vite-plugin-dts": "3.5.4", - "vite-plugin-static-copy": "0.17.0" + "vite-plugin-static-copy": "0.17.0", + "which-builtin-type": "1.1.4" }, "files": [ "dist/*" diff --git a/packages/test/package.json b/packages/test/package.json index 2e6956b99..44adba870 100644 --- a/packages/test/package.json +++ b/packages/test/package.json @@ -8,15 +8,15 @@ ".": { "types": "./dist/index.d.ts", "import": "./dist/index.mjs", - "require": "./dist/index.umd.js" + "require": "./dist/index.js" }, "./package.json": "./package.json" }, - "main": "./dist/index.umd.js", + "main": "./dist/index.js", "module": "./dist/index.mjs", "types": "./dist/index.d.ts", "scripts": { - "build": "vite build" + "build": "tsup --clean" }, "repository": { "type": "git", diff --git a/packages/test/src/error-messages.ts b/packages/test/src/error-messages.ts new file mode 100644 index 000000000..1f7243248 --- /dev/null +++ b/packages/test/src/error-messages.ts @@ -0,0 +1,604 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +export const oryIdentityErrors = [ + { + id: 1010001, + text: "Sign in", + type: "info", + context: {}, + }, + { + id: 1010001, + text: "Sign in with security key", + type: "info", + context: {}, + }, + { + id: 1010002, + text: "Sign in with {provider}", + type: "info", + context: { + provider: "{provider}", + }, + }, + { + id: 1010003, + text: "Please confirm this action by verifying that it is you.", + type: "info", + context: {}, + }, + { + id: 1010004, + text: "Please complete the second authentication challenge.", + type: "info", + context: {}, + }, + { + id: 1010005, + text: "Verify", + type: "info", + context: {}, + }, + { + id: 1010006, + text: "Authentication code", + type: "info", + context: {}, + }, + { + id: 1010007, + text: "Backup recovery code", + type: "info", + context: {}, + }, + { + id: 1010008, + text: "Use security key", + type: "info", + }, + { + id: 1010009, + text: "Use Authenticator", + type: "info", + context: {}, + }, + { + id: 1010010, + text: "Use backup recovery code", + type: "info", + context: {}, + }, + { + id: 1010011, + text: "Continue with security key", + type: "info", + }, + { + id: 1010012, + text: "Prepare your WebAuthn device (e.g. security key, biometrics scanner, ...) and press continue.", + type: "info", + context: {}, + }, + { + id: 1010013, + text: "Continue", + type: "info", + }, + { + id: 1040001, + text: "Sign up", + type: "info", + context: {}, + }, + { + id: 1040002, + text: "Sign up with {provider}", + type: "info", + context: { + provider: "{provider}", + }, + }, + { + id: 1040003, + text: "Continue", + type: "info", + }, + { + id: 1040004, + text: "Sign up with security key", + type: "info", + }, + { + id: 1050001, + text: "Your changes have been saved!", + type: "success", + }, + { + id: 1050002, + text: "Link {provider}", + type: "info", + context: { + provider: "{provider}", + }, + }, + { + id: 1050003, + text: "Unlink {provider}", + type: "info", + context: { + provider: "{provider}", + }, + }, + { + id: 1050004, + text: "Unlink TOTP Authenticator App", + type: "info", + }, + { + id: 1050005, + text: "Authenticator app QR code", + type: "info", + }, + { + id: 1050006, + text: "{secret}", + type: "info", + context: { + secret: "{secret}", + }, + }, + { + id: 1050007, + text: "Reveal backup recovery codes", + type: "info", + }, + { + id: 1050008, + text: "Generate new backup recovery codes", + type: "info", + }, + { + id: 1050009, + text: "{secret}", + type: "info", + context: { + secret: "{secret}", + }, + }, + { + id: 1050010, + text: "These are your back up recovery codes. Please keep them in a safe place!", + type: "info", + }, + { + id: 1050011, + text: "Confirm backup recovery codes", + type: "info", + }, + { + id: 1050012, + text: "Add security key", + type: "info", + }, + { + id: 1050012, + text: "Add security key", + type: "info", + }, + { + id: 1050013, + text: "Name of the security key", + type: "info", + }, + { + id: 1050014, + text: "Secret was used at 2020-01-01 00:59:59 +0000 UTC", + type: "info", + context: { + used_at: "2020-01-01T00:59:59Z", + }, + }, + { + id: 1050015, + text: "{code-1}, {code-2}", + type: "info", + context: { + secrets: [ + { + id: 1050009, + text: "{code}", + type: "info", + context: { + secret: "{code}", + }, + }, + { + id: 1050014, + text: "Secret was used at 2020-01-01 00:59:59 +0000 UTC", + type: "info", + context: { + used_at: "2020-01-01T00:59:59Z", + }, + }, + ], + }, + }, + { + id: 1050016, + text: "Disable this method", + type: "info", + }, + { + id: 1050017, + text: "This is your authenticator app secret. Use it if you can not scan the QR code.", + type: "info", + }, + { + id: 1050018, + text: 'Remove security key "{name}"', + type: "info", + context: { + added_at: "2020-01-01T00:59:59Z", + display_name: "{name}", + }, + }, + { + id: 1060001, + text: "You successfully recovered your account. Please change your password or set up an alternative login method (e.g. social sign in) within the next 0.02 minutes.", + type: "success", + context: { + privilegedSessionExpiresAt: "2020-01-01T01:01:00Z", + }, + }, + { + id: 1060002, + text: "An email containing a recovery link has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", + type: "info", + context: {}, + }, + { + id: 1060003, + text: "An email containing a recovery code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", + type: "info", + context: {}, + }, + { + id: 1070001, + text: "Password", + type: "info", + }, + { + id: 1070002, + text: "{title}", + type: "info", + }, + { + id: 1070003, + text: "Save", + type: "info", + }, + { + id: 1070004, + text: "ID", + type: "info", + }, + { + id: 1070005, + text: "Submit", + type: "info", + }, + { + id: 1070006, + text: "Verify code", + type: "info", + }, + { + id: 1070007, + text: "Email", + type: "info", + }, + { + id: 1070008, + text: "Resend code", + type: "info", + }, + { + id: 1070009, + text: "Continue", + type: "info", + }, + { + id: 1080001, + text: "An email containing a verification link has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", + type: "info", + context: {}, + }, + { + id: 1080002, + text: "You successfully verified your email address.", + type: "success", + }, + { + id: 1080003, + text: "An email containing a verification code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", + type: "info", + context: {}, + }, + { + id: 4000001, + text: "{reason}", + type: "error", + }, + { + id: 4000002, + text: "Property {field} is missing.", + type: "error", + context: { + property: "{field}", + }, + }, + { + id: 4000003, + text: "length must be \u003e= 5, but got 3", + type: "error", + context: {}, + }, + { + id: 4000004, + text: 'does not match pattern "^[a-z]*$"', + type: "error", + context: {}, + }, + { + id: 4000005, + text: "The password can not be used because {reason}.", + type: "error", + context: { + reason: "{reason}", + }, + }, + { + id: 4000006, + text: "The provided credentials are invalid, check for spelling mistakes in your password or username, email address, or phone number.", + type: "error", + context: {}, + }, + { + id: 4000007, + text: "An account with the same identifier (email, phone, username, ...) exists already.", + type: "error", + context: {}, + }, + { + id: 4000008, + text: "The provided authentication code is invalid, please try again.", + type: "error", + context: {}, + }, + { + id: 4000009, + text: "Could not find any login identifiers. Did you forget to set them? This could also be caused by a server misconfiguration.", + type: "error", + }, + { + id: 4000010, + text: "Account not active yet. Did you forget to verify your email address?", + type: "error", + }, + { + id: 4000011, + text: "You have no TOTP device set up.", + type: "error", + context: {}, + }, + { + id: 4000012, + text: "This backup recovery code has already been used.", + type: "error", + context: {}, + }, + { + id: 4000013, + text: "You have no WebAuthn device set up.", + type: "error", + context: {}, + }, + { + id: 4000014, + text: "You have no backup recovery codes set up.", + type: "error", + context: {}, + }, + { + id: 4000015, + text: "This account does not exist or has no security key set up.", + type: "error", + context: {}, + }, + { + id: 4000016, + text: "The backup recovery code is not valid.", + type: "error", + context: {}, + }, + { + id: 4000017, + text: "length must be \u003c= 5, but got 6", + type: "error", + context: {}, + }, + { + id: 4000018, + text: "must be \u003e= 5 but found 3", + type: "error", + context: {}, + }, + { + id: 4000019, + text: "must be \u003e 5 but found 5", + type: "error", + context: {}, + }, + { + id: 4000020, + text: "must be \u003c= 5 but found 6", + type: "error", + context: {}, + }, + { + id: 4000021, + text: "must be \u003c 5 but found 5", + type: "error", + context: {}, + }, + { + id: 4000022, + text: "7 not multipleOf 3", + type: "error", + context: {}, + }, + { + id: 4000023, + text: "maximum 3 items allowed, but found 4 items", + type: "error", + context: {}, + }, + { + id: 4000024, + text: "minimum 3 items allowed, but found 2 items", + type: "error", + context: {}, + }, + { + id: 4000025, + text: "items at index 0 and 2 are equal", + type: "error", + context: {}, + }, + { + id: 4000026, + text: "expected number, but got string", + type: "error", + context: {}, + }, + { + id: 4010001, + text: "The login flow expired 1.02 minutes ago, please try again.", + type: "error", + context: { + expired_at: "2020-01-01T00:59:59Z", + }, + }, + { + id: 4010002, + text: "Could not find a strategy to log you in with. Did you fill out the form correctly?", + type: "error", + }, + { + id: 4010003, + text: "Could not find a strategy to sign you up with. Did you fill out the form correctly?", + type: "error", + }, + { + id: 4010004, + text: "Could not find a strategy to update your settings. Did you fill out the form correctly?", + type: "error", + }, + { + id: 4010005, + text: "Could not find a strategy to recover your account with. Did you fill out the form correctly?", + type: "error", + }, + { + id: 4010006, + text: "Could not find a strategy to verify your account with. Did you fill out the form correctly?", + type: "error", + }, + { + id: 4040001, + text: "The registration flow expired -0.02 minutes ago, please try again.", + type: "error", + context: { + expired_at: "2020-01-01T00:59:59Z", + }, + }, + { + id: 4050001, + text: "The settings flow expired -0.02 minutes ago, please try again.", + type: "error", + context: { + expired_at: "2020-01-01T00:59:59Z", + }, + }, + { + id: 4060001, + text: "The request was already completed successfully and can not be retried.", + type: "error", + context: {}, + }, + { + id: 4060002, + text: "The recovery flow reached a failure state and must be retried.", + type: "error", + context: {}, + }, + { + id: 4060004, + text: "The recovery token is invalid or has already been used. Please retry the flow.", + type: "error", + context: {}, + }, + { + id: 4060005, + text: "The recovery flow expired -0.02 minutes ago, please try again.", + type: "error", + context: { + expired_at: "2020-01-01T00:59:59Z", + }, + }, + { + id: 4060006, + text: "The recovery code is invalid or has already been used. Please try again.", + type: "error", + context: {}, + }, + { + id: 4070001, + text: "The verification token is invalid or has already been used. Please retry the flow.", + type: "error", + context: {}, + }, + { + id: 4070002, + text: "The request was already completed successfully and can not be retried.", + type: "error", + context: {}, + }, + { + id: 4070003, + text: "The verification flow reached a failure state and must be retried.", + type: "error", + context: {}, + }, + { + id: 4070005, + text: "The verification flow expired -0.02 minutes ago, please try again.", + type: "error", + context: { + expired_at: "2020-01-01T00:59:59Z", + }, + }, + { + id: 4070006, + text: "The verification code is invalid or has already been used. Please try again.", + type: "error", + context: {}, + }, + { + id: 5000001, + text: "{reason}", + type: "error", + context: {}, + }, +] diff --git a/packages/test/src/fixtures/index.ts b/packages/test/src/fixtures/index.ts new file mode 100644 index 000000000..764aef2c8 --- /dev/null +++ b/packages/test/src/fixtures/index.ts @@ -0,0 +1,18 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { GenericError } from "@ory/client" + +export * from "./login" +export * from "./recovery" +export * from "./registration" +export * from "./settings" +export * from "./verification" + +export const sessionForbiddenFixture: GenericError = { + code: 401, + status: "Unauthorized", + request: "3e5ab082-3be2-9cba-b7ff-30d980a9b122", + reason: "No valid session credentials found in the request.", + message: "The request could not be authorized", +} diff --git a/packages/test/src/fixtures/login.ts b/packages/test/src/fixtures/login.ts new file mode 100644 index 000000000..3ca96d7d1 --- /dev/null +++ b/packages/test/src/fixtures/login.ts @@ -0,0 +1,1066 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { LoginFlow } from "@ory/client" + +export const loginFixture: LoginFlow = { + id: "31f9170d-c28d-4f6c-8cf8-54b999a4f172", + type: "browser", + expires_at: "2022-08-29T10:21:13.298704656Z", + issued_at: "2022-08-29T09:51:13.298704656Z", + request_url: "http://localhost:4000/self-service/login/browser", + ui: { + action: + "http://localhost:4000/self-service/login?flow=31f9170d-c28d-4f6c-8cf8-54b999a4f172", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "gRBwj0LpxhDugD8sNq1/H6HABvVKMoZepLuLHU+7leIFL33RU4hc1sCYlFKRlsqYPBAG5P84ADrnwLLC3TIy3g==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "default", + attributes: { + name: "identifier", + type: "text", + value: "", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070004, + text: "ID", + type: "info", + }, + }, + }, + { + type: "input", + group: "password", + attributes: { + name: "password", + type: "password", + required: true, + autocomplete: "current-password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070001, + text: "Password", + type: "info", + }, + }, + }, + { + type: "input", + group: "password", + attributes: { + name: "method", + type: "submit", + value: "password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010001, + text: "Sign in", + type: "info", + context: {}, + }, + }, + }, + ], + }, + created_at: "2022-08-29T09:51:13.308547Z", + updated_at: "2022-08-29T09:51:13.308547Z", + refresh: false, + requested_aal: "aal1", + state: "", +} + +export const loginNoneFixture: LoginFlow = { + id: "62a8739b-5866-4a4c-9951-acb39a49709c", + type: "browser", + expires_at: "2022-08-29T10:17:27.87015684Z", + issued_at: "2022-08-29T09:47:27.87015684Z", + request_url: "http://localhost:4000/self-service/login/browser", + ui: { + action: + "http://localhost:4000/self-service/login?flow=62a8739b-5866-4a4c-9951-acb39a49709c", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "FFydsmckUnGEN4NMGn5uuW1TTy0XNTd1YrAIS6szdbuQY5DsdkXIt6ovKDK9Rds+8INPPKI/sREhyzGUObrShw==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + ], + }, + created_at: "2022-08-29T09:47:27.876079Z", + updated_at: "2022-08-29T09:47:27.876079Z", + refresh: false, + requested_aal: "aal1", + state: "", +} + +export const loginRefreshFixture: LoginFlow = { + id: "8a23a143-c08d-4635-b9fc-f9036db53227", + oauth2_login_challenge: "", + type: "browser", + expires_at: "2023-01-09T14:00:47.355708383Z", + issued_at: "2023-01-09T13:00:47.355708383Z", + request_url: "http://localhost:4000/self-service/login/browser?refresh=true", + ui: { + action: + "http://localhost:4000/self-service/login?flow=8a23a143-c08d-4635-b9fc-f9036db53227", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "Uw3zN207hJcnQgQMqipxgHLmmaua3afaJKrTHDbUpjKXdlBe7QAJpL/ZVp7AClu6zDBhvfnh5JXsHxiXlDmyhA==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "default", + attributes: { + name: "identifier", + type: "hidden", + value: "johndoe@acme.com", + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "password", + attributes: { + name: "password", + type: "password", + required: true, + autocomplete: "current-password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070001, + text: "Password", + type: "info", + }, + }, + }, + { + type: "input", + group: "password", + attributes: { + name: "method", + type: "submit", + value: "password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010001, + text: "Sign in", + type: "info", + context: {}, + }, + }, + }, + ], + messages: [ + { + id: 1010003, + text: "Please confirm this action by verifying that it is you.", + type: "info", + context: {}, + }, + ], + }, + created_at: "2023-01-09T13:00:47.48922Z", + updated_at: "2023-01-09T13:00:47.48922Z", + refresh: true, + requested_aal: "aal1", + state: "", +} + +export const loginSubmitIncorrectCredentialsFixture: LoginFlow = { + id: "400c0e81-16ba-4c1c-a6e1-ab1eac2bd413", + oauth2_login_challenge: "", + type: "browser", + expires_at: "2023-03-16T12:49:22.219258Z", + issued_at: "2023-03-16T12:19:22.219258Z", + request_url: + "https://localhost:4000/self-service/login/browser?refresh=true&aal=aal1", + ui: { + action: + "https://localhost:4000/self-service/login?flow=400c0e81-16ba-4c1c-a6e1-ab1eac2bd413", + method: "POST", + nodes: [ + { + type: "input", + group: "oidc", + attributes: { + name: "provider", + type: "submit", + value: "discord", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010002, + text: "Sign in with Discord", + type: "info", + context: { provider: "Discord" }, + }, + }, + }, + { + type: "input", + group: "oidc", + attributes: { + name: "provider", + type: "submit", + value: "facebook", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010002, + text: "Sign in with Facebook", + type: "info", + context: { provider: "Facebook" }, + }, + }, + }, + { + type: "input", + group: "oidc", + attributes: { + name: "provider", + type: "submit", + value: "github", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010002, + text: "Sign in with GitHub", + type: "info", + context: { provider: "GitHub" }, + }, + }, + }, + { + type: "input", + group: "oidc", + attributes: { + name: "provider", + type: "submit", + value: "google", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010002, + text: "Sign in with Google", + type: "info", + context: { provider: "Google" }, + }, + }, + }, + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "Tj03XA71hPNteczHS2gPV5r+Bwo9BVwrO8m3l8bMG/erq0Ea8SBnlU53ndj14MGiwUcp52socpZliGL7YpbUow==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "default", + attributes: { + name: "identifier", + type: "text", + value: "asdasfew@fwefwe.com", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { label: { id: 1070004, text: "ID", type: "info" } }, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "method", + type: "submit", + value: "webauthn", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010001, + text: "Sign in with security key", + type: "info", + context: {}, + }, + }, + }, + { + type: "input", + group: "password", + attributes: { + name: "password", + type: "password", + required: true, + autocomplete: "current-password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { label: { id: 1070001, text: "Password", type: "info" } }, + }, + { + type: "input", + group: "password", + attributes: { + name: "method", + type: "submit", + value: "password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { id: 1010001, text: "Sign in", type: "info", context: {} }, + }, + }, + ], + messages: [ + { + id: 4000006, + text: "The provided credentials are invalid, check for spelling mistakes in your password or username, email address, or phone number.", + type: "error", + context: {}, + }, + ], + }, + created_at: "2023-03-16T12:19:22.331239Z", + updated_at: "2023-03-16T12:19:22.331239Z", + refresh: false, + requested_aal: "aal1", + state: "", +} + +export const loginTwoFactorFixture: LoginFlow = { + id: "3f9319a6-7105-4004-aa16-80d3f5281164", + type: "browser", + expires_at: "2022-09-22T15:59:26.051983Z", + issued_at: "2022-09-22T15:29:26.051983Z", + request_url: "https://localhost:4000/self-service/login/browser?aal=aal2", + ui: { + action: + "https://localhost:4000/self-service/login?flow=3f9319a6-7105-4004-aa16-80d3f5281164", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "sylBsTLGrttAzMQtXZtb+Cpk4K/Pe9P+vz2WBUJoLunc8h5ff/7aloMMy/vJsnp/IwojlWaAfnuAwaqA5+i+Lg==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "default", + attributes: { + name: "identifier", + type: "hidden", + value: "aecaf2bf-b33f-4271-9c4d-0c0eb722fcf8", + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_login_trigger", + type: "button", + value: "", + disabled: false, + onclick: + 'window.__oryWebAuthnLogin({"publicKey":{"challenge":"zk6j9Qfetb7N3DIZflBKrTSQvXwwAAw1/HFliAXJOR0=","timeout":60000,"rpId":"localhost:4000","allowCredentials":[{"type":"public-key","id":"jeuNGRy/jfYfxNhZ8JvfCy/dE5gs5m1djdMrtRb+Tuwq9tgP+U1o6JR8BWrt7oLWHQbxnh0t3Ebu1EtTKzwJbw=="}],"userVerification":"discouraged"}})', + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010008, + text: "Use security key", + type: "info", + }, + }, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_login", + type: "hidden", + value: "", + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "script", + group: "webauthn", + attributes: { + src: "https://localhost:4000/.well-known/ory/webauthn.js", + async: true, + referrerpolicy: "no-referrer", + crossorigin: "anonymous", + integrity: + "sha512-E3ctShTQEYTkfWrjztRCbP77lN7L0jJC2IOd6j8vqUKslvqhX/Ho3QxlQJIeTI78krzAWUQlDXd9JQ0PZlKhzQ==", + type: "text/javascript", + id: "webauthn_script", + nonce: "c3c7199e-8a94-4878-b5ac-dddbfd94029e", + node_type: "script", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "totp", + attributes: { + name: "totp_code", + type: "text", + value: "", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010006, + text: "Authentication code", + type: "info", + context: {}, + }, + }, + }, + { + type: "input", + group: "totp", + attributes: { + name: "method", + type: "submit", + value: "totp", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010009, + text: "Use Authenticator", + type: "info", + context: {}, + }, + }, + }, + ], + messages: [ + { + id: 1010004, + text: "Please complete the second authentication challenge.", + type: "info", + context: {}, + }, + ], + }, + created_at: "2022-09-22T15:29:26.311469Z", + updated_at: "2022-09-22T15:29:26.311469Z", + refresh: false, + requested_aal: "aal2", + state: "", +} + +export const loginPasswordlessFixture: LoginFlow = { + id: "13de599b-5fc0-472c-9635-b1d19c0ea9e3", + type: "browser", + expires_at: "2022-08-29T10:22:39.093619222Z", + issued_at: "2022-08-29T09:52:39.093619222Z", + request_url: "http://localhost:4000/self-service/login/browser", + ui: { + action: + "http://localhost:4000/self-service/login?flow=13de599b-5fc0-472c-9635-b1d19c0ea9e3", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "ze0GFCqJ9j8C+ePPezAZl1j/Hu+7BKPXX8wxAe/Ky1xJ0gtKO+hs+SzhSLHcC6wQxS8e/g4OJbMctwjefUNsYA==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "default", + attributes: { + name: "identifier", + type: "text", + value: "", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070004, + text: "ID", + type: "info", + }, + }, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "method", + type: "submit", + value: "webauthn", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010001, + text: "Sign in with security key", + type: "info", + context: {}, + }, + }, + }, + ], + }, + created_at: "2022-08-29T09:52:39.101785Z", + updated_at: "2022-08-29T09:52:39.101785Z", + refresh: false, + requested_aal: "aal1", + state: "", +} + +export const loginCodeFixture: LoginFlow = { + id: "abee8b51-4e39-4d0a-9ac7-64ff0ff6c502", + type: "browser", + expires_at: "2023-08-22T07:02:40.795179386Z", + issued_at: "2023-08-22T06:02:40.795179386Z", + request_url: "http://localhost:4433/self-service/login/browser", + ui: { + action: + "http://localhost:4455/self-service/login?flow=abee8b51-4e39-4d0a-9ac7-64ff0ff6c502", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "oh1/UgG2XUnGqK/GrmaAd2KPV5H2t6fQsQd5GXBPeIRJUZ5Bs5ViBMcLw3+Ydf1E5dKBNnLLf1GpTvhbSnWtoQ==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "default", + attributes: { + name: "identifier", + type: "text", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070004, + text: "ID", + type: "info", + }, + }, + }, + { + type: "input", + group: "code", + attributes: { + name: "method", + type: "submit", + value: "code", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010015, + text: "Sign in with code", + type: "info", + }, + }, + }, + ], + }, + created_at: "2023-08-22T08:02:40.797052+02:00", + updated_at: "2023-08-22T08:02:40.797052+02:00", + refresh: false, + requested_aal: "aal1", + state: "choose_method", +} + +export const loginCodeTwoFixture: LoginFlow = { + id: "2b739b09-4d06-4489-9895-6b8a55634ff6", + type: "browser", + expires_at: "2023-08-22T07:13:25.194774403Z", + issued_at: "2023-08-22T06:13:25.194774403Z", + request_url: "http://localhost:4433/self-service/login/browser", + active: "code", + ui: { + action: + "http://localhost:4455/self-service/login?flow=2b739b09-4d06-4489-9895-6b8a55634ff6", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "8oV4sZaVTX6Ho1+UdshHlsAA4fRkBcuaqLVGT2hWaaufINifEbCGaQ/emgdUiHp833a2duHjCv3axZ9907alzw==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "default", + attributes: { + name: "identifier", + type: "text", + value: "example@example.com", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070004, + text: "ID", + type: "info", + }, + }, + }, + { + type: "input", + group: "code", + attributes: { + name: "method", + type: "hidden", + value: "code", + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "code", + attributes: { + name: "code", + type: "text", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070013, + text: "Login code", + type: "info", + }, + }, + }, + { + type: "input", + group: "code", + attributes: { + name: "method", + type: "submit", + value: "code", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070005, + text: "Submit", + type: "info", + }, + }, + }, + { + type: "input", + group: "code", + attributes: { + name: "resend", + type: "submit", + value: "code", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070008, + text: "Resend code", + type: "info", + }, + }, + }, + ], + messages: [ + { + id: 1010014, + text: "An email containing a code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and retry the login.", + type: "info", + context: {}, + }, + ], + }, + created_at: "2023-08-22T08:13:25.196412+02:00", + updated_at: "2023-08-22T08:13:25.196412+02:00", + refresh: false, + requested_aal: "aal1", + state: "sent_email", +} + +export const loginFixtureOAuth2: LoginFlow = { + id: "31f9170d-c28d-4f6c-8cf8-54b999a4f172", + type: "browser", + oauth2_login_request: { + client: { + client_id: "oauth2-login-client", + client_uri: "https://www.ory.sh/docs/ecosystem/sdks", + }, + challenge: "a1b2c3d4e5f6g7h8i9j0", + request_url: "http://localhost:4000/self-service/login/browser", + requested_access_token_audience: ["https://api.ory.sh/"], + requested_scope: ["offline", "openid"], + skip: false, + subject: "", + }, + expires_at: "2022-08-29T10:21:13.298704656Z", + issued_at: "2022-08-29T09:51:13.298704656Z", + request_url: "http://localhost:4000/self-service/login/browser", + ui: { + action: + "http://localhost:4000/self-service/login?flow=31f9170d-c28d-4f6c-8cf8-54b999a4f172", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "gRBwj0LpxhDugD8sNq1/H6HABvVKMoZepLuLHU+7leIFL33RU4hc1sCYlFKRlsqYPBAG5P84ADrnwLLC3TIy3g==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "default", + attributes: { + name: "identifier", + type: "text", + value: "", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070004, + text: "ID", + type: "info", + }, + }, + }, + { + type: "input", + group: "password", + attributes: { + name: "password", + type: "password", + required: true, + autocomplete: "current-password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070001, + text: "Password", + type: "info", + }, + }, + }, + { + type: "input", + group: "password", + attributes: { + name: "method", + type: "submit", + value: "password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010001, + text: "Sign in", + type: "info", + context: {}, + }, + }, + }, + ], + }, + created_at: "2022-08-29T09:51:13.308547Z", + updated_at: "2022-08-29T09:51:13.308547Z", + refresh: false, + requested_aal: "aal1", + state: "", +} + +export const loginConfirmWithTwoFactor: LoginFlow = { + id: "e4e5b13b-9bd5-4bd1-8a63-1750d9f48647", + organization_id: null, + type: "browser", + expires_at: "2023-09-29T14:34:42.513317131Z", + issued_at: "2023-09-29T13:34:42.513317131Z", + request_url: + "http://localhost:4433/self-service/login/browser?aal=aal2&refresh=true&return_to=&organization=", + ui: { + action: + "http://localhost:4455/self-service/login?flow=e4e5b13b-9bd5-4bd1-8a63-1750d9f48647", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "iCA+nEJQI5nnQe4EumaNq2xbW4/5slDiPSI2Ky33LqqzpzO/hR41Vi3DnJhP7g+wsrfUQCHZmUqNjBeGcLXZ1w==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "default", + attributes: { + name: "identifier", + type: "hidden", + value: "0.lazsin4d3eb@ory.sh", + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_login_trigger", + type: "button", + value: "", + disabled: false, + onclick: + 'window.__oryWebAuthnLogin({"publicKey":{"challenge":"96kZd1xu1hmcjQA7mLiM4PrBTiZrVnTuFsDZwjwzgNk","timeout":120000,"rpId":"localhost","allowCredentials":[{"type":"public-key","id":"NvEfBTQBiQF6iv5plEpA2nC9xyjF_Ok09-2ZmAJ1zs8"}],"userVerification":"discouraged"}})', + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1010008, + text: "Use security key", + type: "info", + }, + }, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_login", + type: "hidden", + value: "", + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "script", + group: "webauthn", + attributes: { + src: "http://localhost:4455/.well-known/ory/webauthn.js", + async: true, + referrerpolicy: "no-referrer", + crossorigin: "anonymous", + integrity: + "sha512-RI23aG5lwYTo7zknGdc++eHUMimUWhkyFzrGid6HkVSdUSjdESPtM3KufXGq/lo4Ut0jI9mDiZeT8tHoSvaHvg==", + type: "text/javascript", + id: "webauthn_script", + nonce: "4ff0f844-fd4a-45cf-9ab0-ddebf9bc7f92", + node_type: "script", + }, + messages: [], + meta: {}, + }, + ], + messages: [ + { + id: 1010003, + text: "Please confirm this action by verifying that it is you.", + type: "info", + }, + ], + }, + created_at: "2023-09-29T15:34:42.517067+02:00", + updated_at: "2023-09-29T15:34:42.517067+02:00", + refresh: true, + requested_aal: "aal2", + state: "choose_method", +} diff --git a/packages/test/src/fixtures/recovery.ts b/packages/test/src/fixtures/recovery.ts new file mode 100644 index 000000000..91c98fd63 --- /dev/null +++ b/packages/test/src/fixtures/recovery.ts @@ -0,0 +1,185 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { + ErrorBrowserLocationChangeRequired, + GenericError, + RecoveryFlow, +} from "@ory/client" + +export const recoverySubmitEmailFixture: RecoveryFlow = { + id: "ccd0d54c-ebc2-408c-ae7e-97d96dae832b", + type: "browser", + expires_at: "2023-03-21T07:55:14.102072Z", + issued_at: "2023-03-21T07:25:14.102072Z", + request_url: "http://localhost:4000/self-service/recovery/browser", + active: "code", + ui: { + action: + "http://localhost:4000/self-service/recovery?flow=ccd0d54c-ebc2-408c-ae7e-97d96dae832b", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "YE0J2zNLlx/GnvYeJ/G6cRrd9BLccwMt+Jn+9bkUWKU0JGh8V/lVZwD5PWBbs33za8UJ9UOJcKpxR2enhW1g3A==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "code", + attributes: { + name: "code", + type: "text", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { label: { id: 1070006, text: "Verify code", type: "info" } }, + }, + { + type: "input", + group: "code", + attributes: { + name: "method", + type: "hidden", + value: "code", + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "code", + attributes: { + name: "method", + type: "submit", + value: "code", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { label: { id: 1070005, text: "Submit", type: "info" } }, + }, + { + type: "input", + group: "code", + attributes: { + name: "email", + type: "submit", + value: "example@example.com", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { label: { id: 1070008, text: "Resend code", type: "info" } }, + }, + ], + messages: [ + { + id: 1060003, + text: "An email containing a recovery code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", + type: "info", + context: {}, + }, + ], + }, + state: "sent_email", +} + +export const recoverySubmitCodeFixture: Omit< + ErrorBrowserLocationChangeRequired, + "error" +> & { + error: GenericError +} = { + error: { + id: "browser_location_change_required", + code: 422, + status: "Unprocessable Entity", + reason: + "In order to complete this flow please redirect the browser to: /ui/settings?flow=22b3ad6f-c50a-4c2f-8c94-a16e9dc20083", + message: "browser location change required", + }, + redirect_browser_to: "/ui/settings?flow=22b3ad6f-c50a-4c2f-8c94-a16e9dc20083", +} + +export const recoveryFixture: RecoveryFlow = { + id: "5c857a5a-6a21-48cb-9acd-da9b81c1ed13", + state: "choose_method", + type: "browser", + request_url: "https://localhost:4000", + ui: { + action: + "https://localhost:4000/self-service/recovery?flow=5c857a5a-6a21-48cb-9acd-da9b81c1ed13", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: "", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "link", + attributes: { + name: "email", + type: "email", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070007, + text: "Email", + type: "info", + }, + }, + }, + { + type: "input", + group: "link", + attributes: { + name: "method", + type: "submit", + value: "link", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070005, + text: "Submit", + type: "info", + }, + }, + }, + ], + }, + issued_at: "2022-08-22T22:02:15.825471Z", + expires_at: "2022-08-22T22:02:15.825471Z", +} diff --git a/packages/test/src/fixtures/registration.ts b/packages/test/src/fixtures/registration.ts new file mode 100644 index 000000000..67a527e5f --- /dev/null +++ b/packages/test/src/fixtures/registration.ts @@ -0,0 +1,760 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { RegistrationFlow } from "@ory/client" + +export const registrationFixture: RegistrationFlow = { + id: "1c09e31f-fb4c-4eac-8f17-ec7ae01cab97", + type: "browser", + expires_at: "2022-08-29T10:19:47.350346654Z", + issued_at: "2022-08-29T09:49:47.350346654Z", + request_url: "http://localhost:4000/self-service/registration/browser", + ui: { + action: + "http://localhost:4000/self-service/registration?flow=1c09e31f-fb4c-4eac-8f17-ec7ae01cab97", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "uWnnuBgYQAXyeCuZ+c6aBNfj55zPo+0ACTcp+rzrIcQ9VurmCXnaw9xggOde9S+DSjPnjXqpa2RKTBAlLmKG+A==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "password", + attributes: { + name: "traits.email", + type: "email", + required: true, + autocomplete: "email", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070002, + text: "E-Mail", + type: "info", + }, + }, + }, + { + type: "input", + group: "password", + attributes: { + name: "password", + type: "password", + required: true, + autocomplete: "new-password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070001, + text: "Password", + type: "info", + }, + }, + }, + { + type: "input", + group: "password", + attributes: { + name: "traits.firstName", + type: "text", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070002, + text: "First Name", + type: "info", + }, + }, + }, + { + type: "input", + group: "password", + attributes: { + name: "method", + type: "submit", + value: "password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1040001, + text: "Sign up", + type: "info", + context: {}, + }, + }, + }, + ], + }, + state: "", +} + +export const registrationNoneFixture: RegistrationFlow = { + id: "d045d585-0813-45fe-bb91-ef8d44e39dc9", + type: "browser", + expires_at: "2022-08-29T10:16:42.581562361Z", + issued_at: "2022-08-29T09:46:42.581562361Z", + request_url: "http://localhost:4000/self-service/registration/browser", + ui: { + action: + "http://localhost:4000/self-service/registration?flow=d045d585-0813-45fe-bb91-ef8d44e39dc9", + method: "POST", + nodes: [], + }, + state: "", +} + +export const registrationSubmitDuplicateAccountFixture: RegistrationFlow = { + id: "cabee281-f75c-4239-8014-10bbdfdcede4", + type: "browser", + expires_at: "2023-03-20T15:46:54.152799Z", + issued_at: "2023-03-20T15:16:54.152799Z", + request_url: "https://localhost:4000/self-service/registration/browser", + ui: { + action: + "https://localhost:4000/self-service/registration?flow=cabee281-f75c-4239-8014-10bbdfdcede4", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "traits.email", + type: "email", + required: true, + autocomplete: "email", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { label: { id: 1070002, text: "E-Mail", type: "info" } }, + }, + { + type: "input", + group: "default", + attributes: { + name: "traits.tos", + type: "checkbox", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { label: { id: 1070002, text: "Accept Tos", type: "info" } }, + }, + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "vmmwe7f2wCUjNFSqDzb+yDekr0u+FsvPswxHjhCjC4DlqgNkOStsL/nzCfMsxImixjB+t/VpkG/+GcrA0p2yRA==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "oidc", + attributes: { + name: "provider", + type: "submit", + value: "discord", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1040002, + text: "Sign up with Discord", + type: "info", + context: { provider: "Discord" }, + }, + }, + }, + { + type: "input", + group: "oidc", + attributes: { + name: "provider", + type: "submit", + value: "facebook", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1040002, + text: "Sign up with Facebook", + type: "info", + context: { provider: "Facebook" }, + }, + }, + }, + { + type: "input", + group: "oidc", + attributes: { + name: "provider", + type: "submit", + value: "github", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1040002, + text: "Sign up with GitHub", + type: "info", + context: { provider: "GitHub" }, + }, + }, + }, + { + type: "input", + group: "oidc", + attributes: { + name: "provider", + type: "submit", + value: "google", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1040002, + text: "Sign up with Google", + type: "info", + context: { provider: "Google" }, + }, + }, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_register_displayname", + type: "text", + value: "", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1050013, + text: "Name of the security key", + type: "info", + }, + }, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_register", + type: "hidden", + value: "", + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_register_trigger", + type: "button", + value: "", + disabled: false, + onclick: + 'window.__oryWebAuthnRegistration({"publicKey":{"challenge":"/rIbvxaP8Yrcs7Dk4lLvgVFydqZpIq6OOuHjkUJzhho=","rp":{"name":"","id":"example.com"},"user":{"name":"placeholder","icon":"https://via.placeholder.com/128","displayName":"placeholder","id":"DUx1NdG4RyKx41vpmWmYJA=="},"pubKeyCredParams":[{"type":"public-key","alg":-7},{"type":"public-key","alg":-35},{"type":"public-key","alg":-36},{"type":"public-key","alg":-257},{"type":"public-key","alg":-258},{"type":"public-key","alg":-259},{"type":"public-key","alg":-37},{"type":"public-key","alg":-38},{"type":"public-key","alg":-39},{"type":"public-key","alg":-8}],"authenticatorSelection":{"userVerification":"discouraged"},"timeout":60000}})', + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1040004, + text: "Sign up with security key", + type: "info", + }, + }, + }, + { + type: "script", + group: "webauthn", + attributes: { + src: "https://localhost:4000/.well-known/ory/webauthn.js", + async: true, + referrerpolicy: "no-referrer", + crossorigin: "anonymous", + integrity: + "sha512-8GWpMHzEByiefeXeZNxg1k16eFoSoff1mQVa4vUUruBughTU/Yt4WGl7yteMa11UgygiMEbH8Xn1oKxh8PbkiA==", + type: "text/javascript", + id: "webauthn_script", + nonce: "1331af6d-20e0-4775-b5b9-b93d502ff8f7", + node_type: "script", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "password", + attributes: { + name: "password", + type: "password", + required: true, + autocomplete: "new-password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { label: { id: 1070001, text: "Password", type: "info" } }, + }, + { + type: "input", + group: "password", + attributes: { + name: "method", + type: "submit", + value: "password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { id: 1040001, text: "Sign up", type: "info", context: {} }, + }, + }, + ], + messages: [ + { + id: 4000007, + text: "An account with the same identifier (email, phone, username, ...) exists already.", + type: "error", + context: {}, + }, + ], + }, + state: "", +} + +export const registrationPasswordlessFixture: RegistrationFlow = { + id: "e8cc19c1-66f1-4c22-8099-66126a420353", + type: "browser", + expires_at: "2022-08-29T10:12:12.731545764Z", + issued_at: "2022-08-29T09:42:12.731545764Z", + request_url: "http://localhost:4000/self-service/registration/browser", + ui: { + action: + "http://localhost:4000/self-service/registration?flow=e8cc19c1-66f1-4c22-8099-66126a420353", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "traits.email", + type: "email", + required: true, + autocomplete: "email", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070002, + text: "E-Mail", + type: "info", + }, + }, + }, + { + type: "input", + group: "default", + attributes: { + name: "traits.firstName", + type: "text", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070002, + text: "First Name", + type: "info", + }, + }, + }, + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "h37vdPr40Oc/jJJuh7Hi97MFYkITgp5eU51UP34qG3kDQeIq65lKIRGUORAgildwLtViU6aIGDoQ5m3g7KO8RQ==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_register_displayname", + type: "text", + value: "", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1050013, + text: "Name of the security key", + type: "info", + }, + }, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_register", + type: "hidden", + value: "", + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_register_trigger", + type: "button", + value: "", + disabled: false, + onclick: + 'window.__oryWebAuthnRegistration({"publicKey":{"challenge":"","rp":{"name":"Test","id":"localhost:4000"},"user":{"name":"placeholder","icon":"https://via.placeholder.com/128","displayName":"placeholder","id":"xY1S9EHMQyGB3+MTZRt5jA=="},"pubKeyCredParams":[{"type":"public-key","alg":-7},{"type":"public-key","alg":-35},{"type":"public-key","alg":-36},{"type":"public-key","alg":-257},{"type":"public-key","alg":-258},{"type":"public-key","alg":-259},{"type":"public-key","alg":-37},{"type":"public-key","alg":-38},{"type":"public-key","alg":-39},{"type":"public-key","alg":-8}],"authenticatorSelection":{"userVerification":"discouraged"},"timeout":60000}})', + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1040004, + text: "Sign up with security key", + type: "info", + }, + }, + }, + { + type: "script", + group: "webauthn", + attributes: { + src: "http://localhost:4000/.well-known/ory/webauthn.js", + async: true, + referrerpolicy: "no-referrer", + crossorigin: "anonymous", + integrity: "", + type: "text/javascript", + id: "webauthn_script", + nonce: "378c397a-1803-4d04-9dfb-33e575bd6942", + node_type: "script", + }, + messages: [], + meta: {}, + }, + ], + }, + state: "", +} + +export const registrationCodeFixture: RegistrationFlow = { + id: "1c09e31f-fb4c-4eac-8f17-ec7ae01cab97", + type: "browser", + expires_at: "2022-08-29T10:19:47.350346654Z", + issued_at: "2022-08-29T09:49:47.350346654Z", + request_url: "http://localhost:4000/self-service/registration/browser", + ui: { + action: + "http://localhost:4000/self-service/registration?flow=1c09e31f-fb4c-4eac-8f17-ec7ae01cab97", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "uWnnuBgYQAXyeCuZ+c6aBNfj55zPo+0ACTcp+rzrIcQ9VurmCXnaw9xggOde9S+DSjPnjXqpa2RKTBAlLmKG+A==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "default", + attributes: { + name: "traits.email", + type: "email", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070002, + text: "E-Mail", + type: "info", + }, + }, + }, + { + type: "input", + group: "default", + attributes: { + name: "traits.firstName", + type: "text", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070002, + text: "First Name", + type: "info", + }, + }, + }, + { + type: "input", + group: "code", + attributes: { + name: "method", + type: "submit", + value: "code", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1040006, + text: "Sign up with code", + type: "info", + }, + }, + }, + ], + }, + state: "choose_method", +} + +export const registrationCodeStepTwoFixture: RegistrationFlow = { + id: "28554fd0-cbf5-4ff3-a1f7-c033e5ad459c", + type: "browser", + expires_at: "2023-09-28T06:38:36.109217Z", + issued_at: "2023-09-28T06:08:36.109217Z", + request_url: + "https://auth.terblanche.eu/self-service/registration/browser?return_to=", + active: "code", + ui: { + action: + "https://auth.terblanche.eu/self-service/registration?flow=28554fd0-cbf5-4ff3-a1f7-c033e5ad459c", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "traits.email", + type: "hidden", + value: "alano@ory.sh", + required: true, + autocomplete: "email", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070002, + text: "E-Mail", + type: "info", + context: { + title: "E-Mail", + }, + }, + }, + }, + { + type: "input", + group: "default", + attributes: { + name: "traits.tos", + type: "hidden", + value: true, + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070002, + text: "Accept Tos", + type: "info", + context: { + title: "Accept Tos", + }, + }, + }, + }, + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "RWrc7sJjlrv2xAdtlvlFmRg/vExgYOiXjdReeIYQ8uyptoPfF5vCqPdBmKW76qq6ZE6YjINL5yRPNO4ycAAHFQ==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "code", + attributes: { + name: "method", + type: "hidden", + value: "code", + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "code", + attributes: { + name: "code", + type: "text", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070012, + text: "Registration code", + type: "info", + }, + }, + }, + { + type: "input", + group: "code", + attributes: { + name: "method", + type: "submit", + value: "code", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070005, + text: "Submit", + type: "info", + }, + }, + }, + { + type: "input", + group: "code", + attributes: { + name: "resend", + type: "submit", + value: "code", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070008, + text: "Resend code", + type: "info", + }, + }, + }, + ], + messages: [ + { + id: 1040005, + text: "An email containing a code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and retry the registration.", + type: "info", + }, + ], + }, + state: "sent_email", +} diff --git a/packages/test/src/fixtures/settings.ts b/packages/test/src/fixtures/settings.ts new file mode 100644 index 000000000..ed3163c5e --- /dev/null +++ b/packages/test/src/fixtures/settings.ts @@ -0,0 +1,317 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { SettingsFlow } from "@ory/client" + +export const settingsFixture: SettingsFlow = { + id: "211d1b28-6144-4b0e-9001-8f73e18c4a82", + type: "browser", + expires_at: "2022-08-29T14:09:37.514116692Z", + issued_at: "2022-08-29T13:39:37.514116692Z", + request_url: "http://localhost:4000/self-service/settings/browser", + ui: { + action: + "http://localhost:4000/self-service/settings?flow=211d1b28-6144-4b0e-9001-8f73e18c4a82", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "CA1DBzOMYjlLmjKDQ66PUSAPF+9nG+umyOeKvVeM5CLNlXF068/V9nEXNzk6KfXVsPYt4+Y5acxUZwPJW8bzDQ==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "profile", + attributes: { + name: "traits.email", + type: "email", + value: "test@test.com", + required: true, + autocomplete: "email", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070002, + text: "E-Mail", + type: "info", + }, + }, + }, + { + type: "input", + group: "profile", + attributes: { + name: "method", + type: "submit", + value: "profile", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070003, + text: "Save", + type: "info", + }, + }, + }, + { + type: "input", + group: "password", + attributes: { + name: "password", + type: "password", + required: true, + autocomplete: "new-password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070001, + text: "Password", + type: "info", + }, + }, + }, + { + type: "input", + group: "password", + attributes: { + name: "method", + type: "submit", + value: "password", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070003, + text: "Save", + type: "info", + }, + }, + }, + { + type: "input", + group: "lookup_secret", + attributes: { + name: "lookup_secret_regenerate", + type: "submit", + value: "true", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1050008, + text: "Generate new backup recovery codes", + type: "info", + }, + }, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_register_displayname", + type: "text", + value: "", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1050013, + text: "Name of the security key", + type: "info", + }, + }, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_register", + type: "hidden", + value: "", + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "webauthn", + attributes: { + name: "webauthn_register_trigger", + type: "button", + value: "", + disabled: false, + onclick: + 'window.__oryWebAuthnRegistration({"publicKey":{"challenge":"","rp":{"name":"Test","id":"test.com"},"user":{"name":"placeholder","icon":"https://via.placeholder.com/128","displayName":"placeholder","id":""},"pubKeyCredParams":[{"type":"public-key","alg":-7},{"type":"public-key","alg":-35},{"type":"public-key","alg":-36},{"type":"public-key","alg":-257},{"type":"public-key","alg":-258},{"type":"public-key","alg":-259},{"type":"public-key","alg":-37},{"type":"public-key","alg":-38},{"type":"public-key","alg":-39},{"type":"public-key","alg":-8}],"authenticatorSelection":{"userVerification":"discouraged"},"timeout":60000}})', + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1050012, + text: "Add security key", + type: "info", + }, + }, + }, + { + type: "script", + group: "webauthn", + attributes: { + src: "http://localhost:4000/.well-known/ory/webauthn.js", + async: true, + referrerpolicy: "no-referrer", + crossorigin: "anonymous", + integrity: + "sha512-E3ctShTQEYTkfWrjztRCbP77lN7L0jJC2IOd6j8vqUKslvqhX/Ho3QxlQJIeTI78krzAWUQlDXd9JQ0PZlKhzQ==", + type: "text/javascript", + id: "webauthn_script", + nonce: "98844887-ab03-4551-841a-693c5ac802ca", + node_type: "script", + }, + messages: [], + meta: {}, + }, + { + type: "img", + group: "totp", + attributes: { + src: "data:image/png;base64,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", + id: "totp_qr", + width: 256, + height: 256, + node_type: "img", + }, + messages: [], + meta: { + label: { + id: 1050005, + text: "Authenticator app QR code", + type: "info", + }, + }, + }, + { + type: "text", + group: "totp", + attributes: { + text: { + id: 1050006, + text: "AH4EGV22CTLLZ57BJ4CAAICBB5Z3RQNB", + type: "info", + context: { + secret: "AH4EGV22CTLLZ57BJ4CAAICBB5Z3RQNB", + }, + }, + id: "totp_secret_key", + node_type: "text", + }, + messages: [], + meta: { + label: { + id: 1050017, + text: "This is your authenticator app secret. Use it if you can not scan the QR code.", + type: "info", + }, + }, + }, + { + type: "input", + group: "totp", + attributes: { + name: "totp_code", + type: "text", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070006, + text: "Verify code", + type: "info", + }, + }, + }, + { + type: "input", + group: "totp", + attributes: { + name: "method", + type: "submit", + value: "totp", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070003, + text: "Save", + type: "info", + }, + }, + }, + ], + }, + identity: { + id: "6ef63ac1-0f07-406f-87ef-ebbc87e5a3f9", + schema_id: "preset://email", + schema_url: "http://localhost:4000/schemas/cHJlc2V0Oi8vZW1haWw", + state: "active", + state_changed_at: "2022-02-10T13:57:53.668318Z", + traits: { + email: "test@test.com", + }, + verifiable_addresses: [ + { + id: "3b0f2966-b5d7-4273-b8a0-b07b96c7591b", + value: "test@test.com", + verified: false, + via: "email", + status: "sent", + created_at: "2022-02-10T13:57:53.705359Z", + updated_at: "2022-02-10T13:57:53.705359Z", + }, + ], + recovery_addresses: [ + { + id: "02b54483-8de9-4b7f-ba1d-ebf8a41e74b7", + value: "test@test.com", + via: "email", + created_at: "2022-02-10T13:57:53.712317Z", + updated_at: "2022-02-10T13:57:53.712317Z", + }, + ], + created_at: "2022-02-10T13:57:53.676513Z", + updated_at: "2022-02-10T13:57:53.676513Z", + }, + state: "show_form", +} diff --git a/packages/test/src/fixtures/verification.ts b/packages/test/src/fixtures/verification.ts new file mode 100644 index 000000000..f4381615c --- /dev/null +++ b/packages/test/src/fixtures/verification.ts @@ -0,0 +1,214 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { VerificationFlow } from "@ory/client" + +export const verificationSubmitEmailFixture: VerificationFlow = { + id: "62032417-d78a-4282-b735-79e4f471df0e", + type: "browser", + expires_at: "2023-03-16T13:37:46.821552Z", + issued_at: "2023-03-16T13:07:46.821552Z", + request_url: "https://localhost:4000/self-service/verification/browser", + active: "code", + ui: { + action: + "https://localhost:4000/self-service/verification?flow=62032417-d78a-4282-b735-79e4f471df0e", + method: "POST", + nodes: [ + { + type: "input", + group: "code", + attributes: { + name: "code", + type: "text", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { label: { id: 1070006, text: "Verify code", type: "info" } }, + }, + { + type: "input", + group: "code", + attributes: { + name: "method", + type: "hidden", + value: "code", + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "code", + attributes: { + name: "method", + type: "submit", + value: "code", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { label: { id: 1070005, text: "Submit", type: "info" } }, + }, + { + type: "input", + group: "code", + attributes: { + name: "email", + type: "submit", + value: "sdfwetrq2r@sdfasdfwqef", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { label: { id: 1070008, text: "Resend code", type: "info" } }, + }, + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "+Qx9HfyNOqHx1gHU9uWMxfhS/J0x9NzW2qq1cq1+DBocmgtbA1jZx9LYUMtIbUIwo+vScGfZ8muE62AeCSTDTg==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + ], + messages: [ + { + id: 1080003, + text: "An email containing a verification code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", + type: "info", + context: {}, + }, + ], + }, + state: "sent_email", +} + +export const verificationSubmitCodeFixture: VerificationFlow = { + id: "b800d5a7-9199-43a2-a8c6-068c1caac0cd", + type: "browser", + expires_at: "2023-03-16T14:54:40.201568Z", + issued_at: "2023-03-16T14:24:40.201568Z", + request_url: "https://localhost:4000/self-service/verification/browser", + active: "code", + ui: { + action: "https://localhost:4000/", + method: "GET", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: + "Ql2fapJ/hpjARJeaMH6tQaCKJww9E5xxjIAhHKMDw+2ny+ksbapl/uNKxoWO9mO0+zMJ4Ws+sszSwfRwB1kMuQ==", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "a", + group: "code", + attributes: { + href: "https://localhost:4000/", + title: { id: 1070009, text: "Continue", type: "info" }, + id: "continue", + node_type: "a", + }, + messages: [], + meta: { label: { id: 1070009, text: "Continue", type: "info" } }, + }, + ], + messages: [ + { + id: 1080002, + text: "You successfully verified your email address.", + type: "success", + }, + ], + }, + state: "passed_challenge", +} + +export const verificationFixture: VerificationFlow = { + id: "5c857a5a-6a21-48cb-9acd-da9b81c1ed13", + state: "choose_method", + type: "browser", + request_url: "https://localhost:4000", + ui: { + action: + "https://localhost:4000/self-service/verification?flow=5c857a5a-6a21-48cb-9acd-da9b81c1ed13", + method: "POST", + nodes: [ + { + type: "input", + group: "default", + attributes: { + name: "csrf_token", + type: "hidden", + value: "", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: {}, + }, + { + type: "input", + group: "link", + attributes: { + name: "email", + type: "email", + required: true, + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070007, + text: "Email", + type: "info", + }, + }, + }, + { + type: "input", + group: "link", + attributes: { + name: "method", + type: "submit", + value: "link", + disabled: false, + node_type: "input", + }, + messages: [], + meta: { + label: { + id: 1070005, + text: "Submit", + type: "info", + }, + }, + }, + ], + }, + issued_at: "2022-08-22T22:02:15.825471Z", + expires_at: "2022-08-22T22:02:15.825471Z", +} diff --git a/packages/test/src/index.ts b/packages/test/src/index.ts new file mode 100644 index 000000000..64ec75336 --- /dev/null +++ b/packages/test/src/index.ts @@ -0,0 +1,11 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +export * from "./error-messages" +export * from "./fixtures" +export * from "./mock" +export * from "./models" +export * from "./playwright-fixture" +export * from "./traits" +export * from "./types" +export * from "./utils" diff --git a/packages/test/src/mock/index.ts b/packages/test/src/mock/index.ts new file mode 100644 index 000000000..4a8eb73aa --- /dev/null +++ b/packages/test/src/mock/index.ts @@ -0,0 +1,8 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +export * from "./login" +export * from "./recovery" +export * from "./registration" +export * from "./utils" +export * from "./verification" diff --git a/packages/test/src/mock/login.ts b/packages/test/src/mock/login.ts new file mode 100644 index 000000000..cde5024ed --- /dev/null +++ b/packages/test/src/mock/login.ts @@ -0,0 +1,109 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { expect, test } from "@playwright/test" +import { loginSubmitIncorrectCredentialsFixture } from "../fixtures" +import { LoginPage } from "../models/LoginPage" +import { UUIDv4 } from "../utils" +import { defaultMockFlowResponse } from "./utils" + +const setupLoginFlow = async (loginPage: LoginPage) => { + await test.step("mock the whoami response to be logged out", async () => { + await loginPage.registerMockWhoamiResponse({ + state: "session_forbidden", + }) + }) + + await test.step("mock the create login response", async () => { + // mock the Ory Network service + await loginPage.registerMockCreateResponse({}) + + // create a network intercept for the login response + const createRequest = loginPage.interceptCreateResponse() + + // navigate to the login page + // this should trigger the create request + await loginPage.goto() + + // intercept the create response + const createResponse = await createRequest + expect(createResponse.status()).toBe(200) + + // validate that the form fields are present + await loginPage.expectTraitFields() + }) + + await test.step("mock the fetch login flow", async () => { + // mock the Ory Network service + await loginPage.registerMockFetchResponse({}) + + const fetchRequest = loginPage.interceptFetchResponse() + + // reload the page to trigger the fetch request since the flow id should be in the url + await loginPage.page.goto( + new URL("?flow=" + UUIDv4(), loginPage.page.url()).href, + ) + + const fetchResponse = await fetchRequest + expect(fetchResponse.status()).toBe(200) + }) +} + +export const LoginMocks = { + // LoginSuccessTest is a mock for a successful login flow + // it mocks the following requests: + // - whoami response to be logged out + // - create login response + // - fetch login flow + // - submit login response + // - whoami response to be logged in + LoginSuccessTest: async (loginPage: LoginPage) => { + await setupLoginFlow(loginPage) + + await test.step("mock the submit login response", async () => { + // mock the Ory Network service + await loginPage.registerMockSubmitResponse({}) + + const submitRequest = loginPage.interceptSubmitResponse() + await loginPage.submitForm() + + const submitResponse = await submitRequest + expect(submitResponse.status()).toBe(200) + }) + + await test.step("mock the whoami response to be logged in", async () => { + // register an active session + await loginPage.registerMockWhoamiResponse({ + state: "session_active", + }) + }) + }, + // LoginInvalidLoginCredentialsTest is a mock for a login flow with invalid credentials + // it mocks the following requests: + // - whoami response to be logged out + // - create login response + // - fetch login flow + // - submit login flow with error response (invalid credentials) + LoginInvalidLoginCredentialsTest: async (loginPage: LoginPage) => { + await setupLoginFlow(loginPage) + + await test.step("mock the submit login response", async () => { + // mock the Ory Network service + await loginPage.registerMockSubmitResponse({ + response: { + ...defaultMockFlowResponse, + status: 400, + body: loginSubmitIncorrectCredentialsFixture, + }, + }) + + const submitRequest = loginPage.interceptSubmitResponse() + await loginPage.submitForm() + + const submitResponse = await submitRequest + expect(submitResponse.status()).toBe(400) + + await loginPage.expectFlowMessage("provided credentials are invalid") + }) + }, +} diff --git a/packages/test/src/mock/recovery.ts b/packages/test/src/mock/recovery.ts new file mode 100644 index 000000000..7c7d827ea --- /dev/null +++ b/packages/test/src/mock/recovery.ts @@ -0,0 +1,101 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { expect, test } from "@playwright/test" +import { RecoveryPage } from "../models/RecoveryPage" +import { defaultRecoveryTraitsWithCode } from "../traits" +import { UUIDv4 } from "../utils" +import { ErrorBrowserLocationChangeRequired } from "@ory/client" + +export const RecoveryMocks = { + // RecoverySuccessTest is a mock for a successful recovery `code` flow + // it mocks the following requests: + // - whoami response to be logged out + // - create recovery response + // - fetch recovery flow + // - submit email recovery response + // - submit code reocvery response + // - whoami response to be logged in + RecoverySuccessTest: async (recoveryPage: RecoveryPage) => { + await test.step("mock the whoami response to be logged in", async () => { + await recoveryPage.registerMockWhoamiResponse({ + state: "session_forbidden", + }) + }) + + await test.step("mock the create recovery response", async () => { + // Mock Ory Network service + await recoveryPage.registerMockCreateResponse({}) + + // Create a network intercept for the recovery response + const createRequest = recoveryPage.interceptCreateResponse() + await recoveryPage.goto() + + // Intercept the create response + const createResponse = await createRequest + expect(createResponse.status()).toBe(200) + + await expect(recoveryPage.page).toHaveScreenshot() + // Validate that the form fields are present + await recoveryPage.expectTraitFields() + }) + + await test.step("mock the fetch recovery flow", async () => { + // Mock Ory Network service + await recoveryPage.registerMockFetchResponse({}) + const fetchRequest = recoveryPage.interceptFetchResponse() + + // Reload the page to trigger the fetch request since the flow id should be in the url + await recoveryPage.page.goto( + new URL("?flow=" + UUIDv4(), recoveryPage.page.url()).href, + ) + + const fetchResponse = await fetchRequest + expect(fetchResponse.status()).toBe(200) + }) + + await test.step("submit the recovery form with a valid email", async () => { + // Mock Ory Network service + await recoveryPage.registerMockSubmitResponse({ + state: "recovery_sent_email", + }) + const submitRequest = recoveryPage.interceptSubmitResponse() + + await recoveryPage.locator + .locator("input[name='email']") + .fill(recoveryPage.traits.email.value) + await recoveryPage.submitForm() + + const submitResponse = await submitRequest + expect(submitResponse.status()).toBe(200) + + await expect(recoveryPage.page).toHaveScreenshot() + }) + + await test.step("submit the recovery form again with a valid code", async () => { + // Mock Ory Network service + await recoveryPage.registerMockSubmitResponse({ + state: "recovery_passed_challenge", + }) + await recoveryPage.registerMockWhoamiResponse({ + state: "session_active", + }) + + const submitRequest = recoveryPage.interceptSubmitResponse() + + // check that the form fields expect a code input field + await recoveryPage.expectTraitFields(defaultRecoveryTraitsWithCode) + + await recoveryPage.locator + .locator("input[name='code']") + .fill(defaultRecoveryTraitsWithCode.code.value) + await recoveryPage.submitForm("[name='method'][type='submit']") + + const submitResponse = await submitRequest + expect(submitResponse.status()).toBe(422) + const submitResponseBody = + (await submitResponse.json()) as ErrorBrowserLocationChangeRequired + expect(submitResponseBody).toHaveProperty("redirect_browser_to") + }) + }, +} diff --git a/packages/test/src/mock/registration.ts b/packages/test/src/mock/registration.ts new file mode 100644 index 000000000..2dea95262 --- /dev/null +++ b/packages/test/src/mock/registration.ts @@ -0,0 +1,111 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { expect, test } from "@playwright/test" +import { registrationSubmitDuplicateAccountFixture } from "../fixtures" +import { RegistrationPage } from "../models" +import { UUIDv4 } from "../utils" +import { defaultMockFlowResponse } from "./utils" + +const setupRegistrationFlow = async (registrationPage: RegistrationPage) => { + await test.step("mock the whoami response to be logged in", async () => { + await registrationPage.registerMockWhoamiResponse({ + state: "session_forbidden", + }) + }) + + await test.step("mock the create registration response", async () => { + // Mock the Ory Network service + await registrationPage.registerMockCreateResponse({}) + + // Create a network intercept for the registration response + const createRequest = registrationPage.interceptCreateResponse() + + // Navigate to the registration page + // This should trigger the create request + await registrationPage.goto() + + // Intercept the create response + const createResponse = await createRequest + expect(createResponse.status()).toBe(200) + + // Validate that the form fields are present + await registrationPage.expectTraitFields() + }) + + await test.step("mock the fetch registration flow", async () => { + // Mock the Ory Network service + await registrationPage.registerMockFetchResponse({}) + const fetchRequest = registrationPage.interceptFetchResponse() + + // Reload the page to trigger the fetch request since the flow id should be in the url + await registrationPage.page.goto( + new URL("?flow=" + UUIDv4(), registrationPage.page.url()).href, + ) + + const fetchResponse = await fetchRequest + expect(fetchResponse.status()).toBe(200) + }) +} + +export const RegistrationMocks = { + // RegistrationSuccessTest is a mock for a successful registration flow + // it mocks the following requests: + // - whoami response to be logged out + // - create registration response + // - fetch registration flow + // - submit registration response + // - whoami response to be logged in + RegistrationSuccessTest: async (registrationPage: RegistrationPage) => { + await setupRegistrationFlow(registrationPage) + + await test.step("mock the submit registration response", async () => { + // Mock the Ory Network service + await registrationPage.registerMockSubmitResponse({}) + const submitRequest = registrationPage.interceptSubmitResponse() + await registrationPage.submitForm() + + const submitResponse = await submitRequest + expect(submitResponse.status()).toBe(200) + }) + + await test.step("mock the whoami response to be logged in", async () => { + // register an active session + await registrationPage.registerMockWhoamiResponse({ + state: "session_active", + }) + }) + }, + // RegistrationDuplicateAccountTest is a mock for a registration flow with a duplicate account + // it mocks the following requests: + // - whoami response to be logged out + // - create registration response + // - fetch registration flow + // - submit registration error response (duplicate account) + RegistrationDuplicateAccountTest: async ( + registrationPage: RegistrationPage, + ) => { + await setupRegistrationFlow(registrationPage) + + await test.step("mock the submit registration response", async () => { + // Mock the Ory Network service + await registrationPage.registerMockSubmitResponse({ + response: { + ...defaultMockFlowResponse, + status: 400, + body: registrationSubmitDuplicateAccountFixture, + }, + }) + + const submitRequest = registrationPage.interceptSubmitResponse() + await registrationPage.submitForm() + + const submitResponse = await submitRequest + expect(submitResponse.status()).toBe(400) + + await registrationPage.expectFlowMessage( + "An account with the same identifier", + ) + }) + }, +} diff --git a/packages/test/src/mock/utils.ts b/packages/test/src/mock/utils.ts new file mode 100644 index 000000000..38b9f1870 --- /dev/null +++ b/packages/test/src/mock/utils.ts @@ -0,0 +1,15 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { MockFlowResponse } from "../types" + +// defaultMockFlowResponse is the default response for any flow request +// it is used to mock the Ory Network service +// the default response is a 200 with an empty body and a content type of application/json +export const defaultMockFlowResponse: MockFlowResponse = { + status: 200, + body: null, + headers: { + "Content-Type": "application/json", + }, +} diff --git a/packages/test/src/mock/verification.ts b/packages/test/src/mock/verification.ts new file mode 100644 index 000000000..e80600630 --- /dev/null +++ b/packages/test/src/mock/verification.ts @@ -0,0 +1,111 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { expect, test } from "@playwright/test" +import { VerificationPage } from "../models" +import { defaultVerificationTraitsWithCode } from "../traits" +import { UUIDv4 } from "../utils" + +export const VerificationMocks = { + // VerificationSuccessTest is a mock for a successful verification flow + // it mocks the following requests: + // - whoami response to be logged in + // - create verification response + // - fetch verification flow + // - submit email verification response + // - submit verification code response + VerificationSuccessTest: async (verificationPage: VerificationPage) => { + await test.step("mock the whoami response to be logged in", async () => { + await verificationPage.registerMockWhoamiResponse({ + state: "session_active", + }) + }) + + await test.step("mock the create verification response", async () => { + // Mock the Ory Network service + await verificationPage.registerMockCreateResponse({}) + + // Create a network intercept for the registration response + const createRequest = verificationPage.interceptCreateResponse() + + // Navigate to the registration page + // This should trigger the create request + await verificationPage.goto() + // Intercept the create response + const createResponse = await createRequest + expect(createResponse.status()).toBe(200) + // Validate that the form fields are present + await verificationPage.expectTraitFields() + + await expect(verificationPage.page).toHaveScreenshot() + }) + + await test.step("mock the fetch verification flow", async () => { + // Mock the Ory Network service + await verificationPage.registerMockFetchResponse({}) + const fetchRequest = verificationPage.interceptFetchResponse() + + // Reload the page to trigger the fetch request since the flow id should be in the url + await verificationPage.page.goto( + new URL("?flow=" + UUIDv4(), verificationPage.page.url()).href, + ) + + const fetchResponse = await fetchRequest + expect(fetchResponse.status()).toBe(200) + }) + + await test.step("mock the submit email verification response", async () => { + // mock the Ory Network service + await verificationPage.registerMockSubmitResponse({ + state: "verification_sent_email", + }) + + const submitRequest = verificationPage.interceptSubmitResponse() + await verificationPage.locator + .locator("input[name='email']") + .fill(verificationPage.traits.email.value) + await verificationPage.submitForm() + + const submitResponse = await submitRequest + expect(submitResponse.status()).toBe(200) + + // Validate that the form fields are present + await verificationPage.expectTraitFields({ + code: { + group: "code", + label: "Enter verification code", + type: "input", + value: "", + node_type: "input", + required: true, + }, + }) + + await expect(verificationPage.page).toHaveScreenshot() + }) + + await test.step("mock the submit verification code response", async () => { + // mock the Ory Network service + await verificationPage.registerMockSubmitResponse({ + state: "verification_passed_challenge", + }) + + const submitRequest = verificationPage.interceptSubmitResponse() + // check that the form fields expect a code input field + await verificationPage.expectTraitFields( + defaultVerificationTraitsWithCode, + ) + await verificationPage.locator + .locator("input[name='code']") + .fill(defaultVerificationTraitsWithCode.code.value) + await verificationPage.submitForm("[name='method'][type='submit']") + + const submitResponse = await submitRequest + expect(submitResponse.status()).toBe(200) + + await verificationPage.expectFlowMessage( + "You successfully verified your email address", + ) + }) + }, +} diff --git a/packages/test/src/models/AuthPage.ts b/packages/test/src/models/AuthPage.ts new file mode 100644 index 000000000..e4720c922 --- /dev/null +++ b/packages/test/src/models/AuthPage.ts @@ -0,0 +1,193 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { Session, UiNode } from "@ory/client" +import { expect, Locator, Response } from "@playwright/test" +import { merge } from "lodash" +import { sessionForbiddenFixture } from "../fixtures" +import { MockFlow, MockFlowResponse, Traits } from "../types" +import { inputNodesToRecord, isUiNode, RandomEmail, UUIDv4 } from "../utils" + +export class AuthPage { + readonly locator: Locator + readonly traits: Record + readonly formFields: Record = {} + readonly flowMessage: Locator + + constructor(traits: Record | UiNode[], locator: Locator) { + this.locator = locator + this.traits = isUiNode(traits) ? inputNodesToRecord(traits) : traits + + for (const key in this.traits) { + this.formFields[key] = locator.locator( + `input[name="${this.traits[key].name ?? key}"]`, + ) + } + + // a wildcard selector for any ui/message node in the flow + // this is used to check for error messages + // since there is no way to check for a specific message + // inside of this model, we use a wildcard selector + // this can of course be chained with other selectors to be more specific + // this.flowmessage.locator("*[data-testid*='ui/message/10000']") + this.flowMessage = locator.locator("*[data-testid*='ui/message/']") + } + + async expectTraitFields(traits?: Record) { + const t = traits ?? this.traits + for (const key in t) { + if (t[key].type === "hidden") { + await expect(this.locator.locator(`*[name="${key}"]`)).toBeAttached() + } else { + await expect( + this.locator.locator( + `*[name="${t[key].name ?? key}"][type="${t[key].type}"]`, + ), + ).toBeVisible() + } + } + } + + async expectTraitLabels() { + for (const key in this.traits) { + await expect(this.locator).toContainText(this.traits[key].label) + } + } + + async submitForm(buttonLocator?: string) { + for (const key in this.traits) { + if (this.traits[key].type === "input") { + await this.formFields[key].fill(this.traits[key].value) + } else if (this.traits[key].type === "checkbox") { + await this.formFields[key].click() + } + } + await this.locator.locator(buttonLocator ?? '[type="submit"]').click() + } + + async expectFlowMessage(text: string) { + await expect(this.flowMessage).toContainText(text) + } + + sessionForbiddenResponse(): MockFlowResponse { + return { + status: 403, + headers: { + "Content-Type": "application/json", + }, + body: sessionForbiddenFixture, + } + } + + sessionSuccessResponse(): MockFlowResponse { + return { + status: 200, + headers: { + "Content-Type": "application/json", + }, + body: { + active: true, + id: UUIDv4(), + identity: { + id: UUIDv4(), + traits: this.traits, + schema_id: "default", + schema_url: `/schemas/default`, + created_at: new Date().toISOString(), + updated_at: new Date().toISOString(), + recovery_addresses: [ + { + id: UUIDv4(), + value: RandomEmail(), + via: "email", + created_at: new Date().toISOString(), + updated_at: new Date().toISOString(), + }, + ], + verifiable_addresses: [ + { + id: UUIDv4(), + value: RandomEmail(), + via: "email", + status: "verified", + verified: true, + created_at: new Date().toISOString(), + updated_at: new Date().toISOString(), + verified_at: new Date().toISOString(), + }, + ], + }, + } as Session, + } + } + + async registerMockCreateResponse({ flow, response }: MockFlow) { + return this.locator + .page() + .route(`**/self-service/${flow}/browser**`, async (route) => { + await route.fulfill({ + ...response, + body: JSON.stringify(response?.body), + }) + }) + } + + async registerMockFetchResponse({ flow, response }: MockFlow) { + return this.locator + .page() + .route(`**/self-service/${flow}/flows**`, async (route) => { + await route.fulfill({ + ...response, + body: JSON.stringify(response?.body), + }) + }) + } + + async registerMockSubmitResponse({ flow, response }: MockFlow) { + return this.locator + .page() + .route(`**/self-service/${flow}?flow**`, async (route) => { + await route.fulfill({ + ...response, + body: JSON.stringify(response?.body), + }) + }) + } + + async registerMockWhoamiResponse({ + response, + state, + }: Omit) { + !state && (state = "session_forbidden") + return this.locator.page().route("**/sessions/whoami", async (route) => { + await route.fulfill({ + ...merge( + {}, + state === "session_active" + ? this.sessionSuccessResponse() + : this.sessionForbiddenResponse(), + response, + ), + body: JSON.stringify(response?.body), + }) + }) + } + + async interceptCreateResponse(flow: string): Promise { + return this.locator + .page() + .waitForResponse(`**/self-service/${flow}/browser**`) + } + + async interceptFetchResponse(flow: string): Promise { + return this.locator + .page() + .waitForResponse(`**/self-service/${flow}/flows?id=**`) + } + + async interceptSubmitResponse(flow: string): Promise { + return this.locator + .page() + .waitForResponse(`**/self-service/${flow}?flow=**`) + } +} diff --git a/packages/test/src/models/ConsentPage.ts b/packages/test/src/models/ConsentPage.ts new file mode 100644 index 000000000..4bd1633a1 --- /dev/null +++ b/packages/test/src/models/ConsentPage.ts @@ -0,0 +1,37 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { expect, Locator } from "@playwright/test" + +export class ConsentPage { + readonly locator: Locator + readonly formFields: Record = {} + + constructor(locator: Locator) { + this.locator = locator + } + + async expectScopeFields(scopes: string[]) { + for (const scope of scopes) { + await expect( + this.locator.locator(`input[type="checkbox"][value="${scope}"]`), + ).toBeVisible() + } + } + + async expectUris(uris: string[]) { + for (const uri of uris) { + await expect(this.locator.locator(`a[href="${uri}"]`)).toBeVisible() + } + } + + async expectAllowSubmit() { + await expect( + this.locator.locator('button[value="accept"][type="submit"]'), + ).toBeVisible() + } + + async submitForm() { + await this.locator.locator('[type="submit"]').click() + } +} diff --git a/packages/test/src/models/LoginPage.ts b/packages/test/src/models/LoginPage.ts new file mode 100644 index 000000000..230ea670b --- /dev/null +++ b/packages/test/src/models/LoginPage.ts @@ -0,0 +1,113 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { LoginFlow, Session } from "@ory/client" +import { Page, Response } from "@playwright/test" +import { merge } from "lodash" +import { defaultLoginTraits } from "../traits" +import { MockFlow, MockFlowResponse, Traits } from "../types" +import { traitsToNodes, UUIDv4 } from "../utils" +import { AuthPage } from "./AuthPage" + +export class LoginPage extends AuthPage { + readonly pageUrl: URL + readonly oryProjectUrl: URL + readonly page: Page + + readonly loginActionPath = "/self-service/login?flow=" + + constructor( + page: Page, + baseUrl: string, + oryProjectUrl: string, + traits?: Record, + path?: string, + ) { + super(traits ?? defaultLoginTraits, page.getByTestId("login-auth-card")) + this.page = page + this.pageUrl = new URL(path ?? "/login", baseUrl) + this.oryProjectUrl = new URL(oryProjectUrl) + } + + async goto() { + await this.page.goto(this.pageUrl.href) + } + + getLoginFlowResponse(): MockFlowResponse { + return { + body: { + id: UUIDv4(), + expires_at: new Date().toISOString(), + issued_at: new Date().toISOString(), + type: "browser", + request_url: this.pageUrl.href, + refresh: false, + requested_aal: "aal1", + updated_at: new Date().toISOString(), + ui: { + action: new URL(this.loginActionPath, this.oryProjectUrl).href, + method: "POST", + nodes: traitsToNodes(this.traits, true), + }, + state: "choose_method", + } as LoginFlow, + headers: { + "Content-Type": "application/json", + }, + status: 200, + } + } + + async registerMockCreateResponse({ + response, + }: Omit): Promise { + return super.registerMockCreateResponse({ + flow: "login", + response: merge({}, this.getLoginFlowResponse(), response), + }) + } + + async registerMockFetchResponse({ + response, + }: Omit): Promise { + return super.registerMockFetchResponse({ + flow: "login", + response: merge({}, this.getLoginFlowResponse(), response), + }) + } + + async registerMockSubmitResponse({ + response, + }: Omit): Promise { + return super.registerMockSubmitResponse({ + flow: "login", + response: response ?? { + body: { + id: UUIDv4(), + identity: { + id: UUIDv4(), + traits: this.traits, + schema_id: "default", + schema_url: new URL("/schemas/default", this.oryProjectUrl).href, + }, + } as Session, + headers: { + "Content-Type": "application/json", + }, + status: 200, + }, + }) + } + + async interceptCreateResponse(): Promise { + return super.interceptCreateResponse("login") + } + + async interceptFetchResponse(): Promise { + return super.interceptFetchResponse("login") + } + + async interceptSubmitResponse(): Promise { + return super.interceptSubmitResponse("login") + } +} diff --git a/packages/test/src/models/RecoveryPage.ts b/packages/test/src/models/RecoveryPage.ts new file mode 100644 index 000000000..805d3777c --- /dev/null +++ b/packages/test/src/models/RecoveryPage.ts @@ -0,0 +1,145 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { RecoveryFlow, RecoveryFlowState } from "@ory/client" +import { Page, Response } from "@playwright/test" +import { merge } from "lodash" +import { recoverySubmitCodeFixture } from "../fixtures" +import { defaultMockFlowResponse } from "../mock" +import { defaultRecoveryTraits, defaultRecoveryTraitsWithCode } from "../traits" +import { + ErrorBrowserLocationChangeRequired, + getFlowState, + MockFlow, + MockFlowResponse, +} from "../types" +import { traitsToNodes, UUIDv4 } from "../utils" +import { AuthPage } from "./AuthPage" + +export class RecoveryPage extends AuthPage { + readonly pageUrl: URL + readonly oryProjectUrl: URL + readonly page: Page + + readonly recoveryActionPath = "/self-service/recovery?flow=" + + constructor( + page: Page, + baseUrl: string, + oryProjectUrl: string, + path?: string, + ) { + super(defaultRecoveryTraits, page.getByTestId("recovery-auth-card")) + this.page = page + this.pageUrl = new URL(path ?? "/recovery", baseUrl) + this.oryProjectUrl = new URL(oryProjectUrl) + } + + async goto() { + await this.page.goto(this.pageUrl.href) + } + + getRecoveryFlowResponse( + state: RecoveryFlowState = "choose_method", + ): MockFlowResponse { + const body = (includeValues = false): RecoveryFlow => { + return { + id: UUIDv4(), + type: "browser", + state: state, + expires_at: new Date().toISOString(), + issued_at: new Date().toISOString(), + request_url: this.pageUrl.href, + ui: { + action: new URL(this.recoveryActionPath, this.oryProjectUrl).href, + method: "POST", + nodes: traitsToNodes(this.traits, true, includeValues), + messages: [], + }, + } + } + + switch (state) { + case "choose_method": + return { + ...defaultMockFlowResponse, + body: body(), + } + case "sent_email": + return { + ...defaultMockFlowResponse, + body: { + ...body(), + ui: { + ...body().ui, + nodes: traitsToNodes(defaultRecoveryTraitsWithCode, true, false), + messages: [ + { + id: 1060003, + text: "An email containing a recovery code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", + type: "info", + }, + ], + }, + }, + } + case "passed_challenge": + return { + ...defaultMockFlowResponse, + status: 422, + body: recoverySubmitCodeFixture as ErrorBrowserLocationChangeRequired, + } + default: + return { + ...defaultMockFlowResponse, + body: body(), + } + } + } + + registerMockCreateResponse({ + response, + }: Omit): Promise { + return super.registerMockCreateResponse({ + flow: "recovery", + response: merge({}, this.getRecoveryFlowResponse(), response), + }) + } + + registerMockFetchResponse({ + response, + }: Omit): Promise { + return super.registerMockFetchResponse({ + flow: "recovery", + response: merge({}, this.getRecoveryFlowResponse(), response), + }) + } + + registerMockSubmitResponse({ + response, + state, + }: Omit): Promise { + return super.registerMockSubmitResponse({ + flow: "recovery", + response: merge( + {}, + this.getRecoveryFlowResponse( + state ? getFlowState(state, "recovery") : "choose_method", + ), + response, + ), + }) + } + + interceptCreateResponse(): Promise { + return super.interceptCreateResponse("recovery") + } + + interceptFetchResponse(): Promise { + return super.interceptFetchResponse("recovery") + } + + interceptSubmitResponse(): Promise { + return super.interceptSubmitResponse("recovery") + } +} diff --git a/packages/test/src/models/RegistrationPage.ts b/packages/test/src/models/RegistrationPage.ts new file mode 100644 index 000000000..e62a9d672 --- /dev/null +++ b/packages/test/src/models/RegistrationPage.ts @@ -0,0 +1,100 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { RegistrationFlow } from "@ory/client" +import { Page, Response } from "@playwright/test" +import { merge } from "lodash" +import { defaultRegistrationTraits } from "../traits" +import { MockFlow, MockFlowResponse, Traits } from "../types" +import { traitsToNodes, UUIDv4 } from "../utils" +import { AuthPage } from "./AuthPage" + +export class RegistrationPage extends AuthPage { + readonly pageUrl: URL + readonly oryProjectUrl: URL + readonly page: Page + + readonly registrationActionPath = "/self-service/registration?flow=" + + constructor( + page: Page, + baseUrl: string, + oryProjectUrl: string, + traits?: Record, + path?: string, + ) { + super( + traits ?? defaultRegistrationTraits, + page.getByTestId("registration-auth-card"), + ) + this.page = page + this.pageUrl = new URL(path ?? "/registration", baseUrl) + this.oryProjectUrl = new URL(oryProjectUrl) + } + + async goto() { + await this.page.goto(this.pageUrl.href) + } + + getRegistrationFlowResponse(): MockFlowResponse { + return { + body: { + id: UUIDv4(), + expires_at: new Date().toISOString(), + issued_at: new Date().toISOString(), + type: "browser", + request_url: this.pageUrl.href, + ui: { + action: new URL(this.registrationActionPath, this.oryProjectUrl).href, + method: "POST", + nodes: traitsToNodes(this.traits, true), + messages: [], + }, + state: "choose_method", + } as RegistrationFlow, + headers: { + "Content-Type": "application/json", + }, + status: 200, + } + } + + registerMockCreateResponse({ + response, + }: Omit): Promise { + return super.registerMockCreateResponse({ + flow: "registration", + response: merge({}, this.getRegistrationFlowResponse(), response), + }) + } + + registerMockFetchResponse({ + response, + }: Omit): Promise { + return super.registerMockFetchResponse({ + flow: "registration", + response: merge({}, this.getRegistrationFlowResponse(), response), + }) + } + + registerMockSubmitResponse({ + response, + }: Omit): Promise { + return super.registerMockSubmitResponse({ + flow: "registration", + response: merge({}, this.getRegistrationFlowResponse(), response), + }) + } + + interceptCreateResponse(): Promise { + return super.interceptCreateResponse("registration") + } + + interceptFetchResponse(): Promise { + return super.interceptFetchResponse("registration") + } + + interceptSubmitResponse(): Promise { + return super.interceptSubmitResponse("registration") + } +} diff --git a/packages/test/src/models/SettingsPage.ts b/packages/test/src/models/SettingsPage.ts new file mode 100644 index 000000000..9fd6f5f8f --- /dev/null +++ b/packages/test/src/models/SettingsPage.ts @@ -0,0 +1,27 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { Page } from "@playwright/test" +import { defaultTraits } from "../traits" +import { Traits } from "../types" +import { AuthPage } from "./AuthPage" + +export class SettingsPage extends AuthPage { + readonly pageUrl: URL + readonly page: Page + + constructor( + page: Page, + baseUrl: string, + traits?: Record, + path?: string, + ) { + super(traits ?? defaultTraits, page.getByTestId("settings-settings-card")) + this.page = page + this.pageUrl = new URL(path ?? "/settings", baseUrl) + } + + async goto() { + await this.page.goto(this.pageUrl.href) + } +} diff --git a/packages/test/src/models/VerificationPage.ts b/packages/test/src/models/VerificationPage.ts new file mode 100644 index 000000000..5777b728d --- /dev/null +++ b/packages/test/src/models/VerificationPage.ts @@ -0,0 +1,136 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { VerificationFlow, VerificationFlowState } from "@ory/client" +import { Page, Response } from "@playwright/test" +import { merge } from "lodash" +import { verificationSubmitCodeFixture } from "../fixtures" +import { defaultMockFlowResponse } from "../mock" +import { + defaultVerificationEmailTraits, + defaultVerificationTraitsWithCode, +} from "../traits" +import { getFlowState, MockFlow, MockFlowResponse } from "../types" +import { traitsToNodes, UUIDv4 } from "../utils" +import { AuthPage } from "./AuthPage" + +export class VerificationPage extends AuthPage { + readonly pageUrl: URL + readonly page: Page + readonly oryProjectUrl: URL + + readonly verificationActionPath = "/self-service/verification?flow=" + + constructor( + page: Page, + baseUrl: string, + oryProjectUrl: string, + path?: string, + ) { + super( + defaultVerificationEmailTraits, + page.getByTestId("verification-auth-card"), + ) + this.page = page + this.pageUrl = new URL(path ?? "/verification", baseUrl) + this.oryProjectUrl = new URL(oryProjectUrl) + } + + async goto() { + await this.page.goto(this.pageUrl.href) + } + + getVerificationFlowResponse( + state: VerificationFlowState = "choose_method", + ): MockFlowResponse { + const body: VerificationFlow = { + id: UUIDv4(), + expires_at: new Date().toISOString(), + issued_at: new Date().toISOString(), + state: state, + type: "browser", + request_url: this.pageUrl.href, + ui: { + action: new URL(this.verificationActionPath, this.oryProjectUrl).href, + method: "POST", + nodes: traitsToNodes(this.traits, true, false), + messages: [], + }, + } + + switch (state) { + case "choose_method": + return { + ...defaultMockFlowResponse, + body, + } + case "sent_email": + return { + ...defaultMockFlowResponse, + body: { + ...body, + ui: { + ...body.ui, + nodes: traitsToNodes(defaultVerificationTraitsWithCode, false), + }, + }, + } + case "passed_challenge": + return { + ...defaultMockFlowResponse, + body: verificationSubmitCodeFixture, + } + default: + return { + ...defaultMockFlowResponse, + body, + } + } + } + + async registerMockCreateResponse({ + response, + }: Omit): Promise { + return super.registerMockCreateResponse({ + flow: "verification", + response: merge({}, this.getVerificationFlowResponse(), response), + }) + } + + async registerMockFetchResponse({ + response, + }: Omit): Promise { + return super.registerMockFetchResponse({ + flow: "verification", + response: merge({}, this.getVerificationFlowResponse(), response), + }) + } + + async registerMockSubmitResponse({ + response, + state, + }: Omit): Promise { + return super.registerMockSubmitResponse({ + flow: "verification", + response: merge( + {}, + this.getVerificationFlowResponse( + state ? getFlowState(state, "verification") : "choose_method", + ), + response, + ), + }) + } + + async interceptCreateResponse(): Promise { + return super.interceptCreateResponse("verification") + } + + async interceptFetchResponse(): Promise { + return super.interceptFetchResponse("verification") + } + + async interceptSubmitResponse(): Promise { + return super.interceptSubmitResponse("verification") + } +} diff --git a/packages/test/src/models/index.ts b/packages/test/src/models/index.ts new file mode 100644 index 000000000..ae2cb1d1e --- /dev/null +++ b/packages/test/src/models/index.ts @@ -0,0 +1,11 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +export * from "../types" +export * from "./AuthPage" +export * from "./ConsentPage" +export * from "./LoginPage" +export * from "./RecoveryPage" +export * from "./RegistrationPage" +export * from "./SettingsPage" +export * from "./VerificationPage" diff --git a/packages/test/src/playwright-fixture.ts b/packages/test/src/playwright-fixture.ts new file mode 100644 index 000000000..dc9da0b22 --- /dev/null +++ b/packages/test/src/playwright-fixture.ts @@ -0,0 +1,38 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { test as base } from "@playwright/test" + +interface TestFixtures { + environment: { + applicationUrl: string + oryProjectUrl: string + projectApiToken: string + } +} + +export const test = base.extend({ + environment: [ + // eslint-disable-next-line no-empty-pattern + async ({}, use) => { + const environment = { + // applicationUrl is the URL where the application is running + // this should be the custom domain where these tests will be run on + // e.g. https://app.example.com + applicationUrl: process.env.APPLICATION_URL ?? "http://localhost:3000", + // oryProjectUrl is the Ory Network API URL + // this should be the custom domain where these tests will be run on + // e.g. https://auth.example.com which points to https://.projects.oryapis.com + // use the ory cli tunnel url instead if you are running tests locally without a custom domain. + oryProjectUrl: process.env.ORY_PROJECT_URL ?? "http://localhost:4000", + // projectApiToken is the Ory Network API token + // this should only be used when running tests that alter the state of the Ory project + // for example when creating a new user + // and deleting it after the test has run + projectApiToken: process.env.ORY_PROJECT_API_TOKEN ?? "", + } + await use(environment) + }, + { auto: false }, + ], +}) diff --git a/packages/test/src/traits/defaults.ts b/packages/test/src/traits/defaults.ts new file mode 100644 index 000000000..f542b8f49 --- /dev/null +++ b/packages/test/src/traits/defaults.ts @@ -0,0 +1,27 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { Traits } from "../types" +import { RandomEmail, RandomPassword } from "../utils" + +export const email = RandomEmail() +export const password = RandomPassword() + +export const defaultTraits: Record = { + "traits.email": { + group: "default", + node_type: "input", + required: true, + label: "Email", + type: "email", + value: email, + }, + password: { + group: "password", + node_type: "input", + required: true, + label: "Password", + type: "password", + value: password, + }, +} diff --git a/packages/test/src/traits/index.ts b/packages/test/src/traits/index.ts new file mode 100644 index 000000000..85535c78b --- /dev/null +++ b/packages/test/src/traits/index.ts @@ -0,0 +1,8 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +export * from "./defaults" +export * from "./login" +export * from "./recovery" +export * from "./registration" +export * from "./verification" diff --git a/packages/test/src/traits/login.ts b/packages/test/src/traits/login.ts new file mode 100644 index 000000000..90eeaed51 --- /dev/null +++ b/packages/test/src/traits/login.ts @@ -0,0 +1,32 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { Traits } from "../types" +import { email, password } from "./defaults" + +export const defaultLoginTraits: Record = { + identifier: { + group: "default", + label: "Email", + type: "input", + value: email, + node_type: "input", + required: true, + }, + password: { + group: "password", + node_type: "input", + required: true, + label: "Password", + type: "input", + value: password, + }, + submitButton: { + group: "password", + node_type: "input", + label: "Sign in", + type: "submit", + value: "password", + name: "method", + }, +} diff --git a/packages/test/src/traits/recovery.ts b/packages/test/src/traits/recovery.ts new file mode 100644 index 000000000..3825e7dee --- /dev/null +++ b/packages/test/src/traits/recovery.ts @@ -0,0 +1,51 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { Traits } from "../models" +import { email } from "./defaults" + +export const defaultRecoveryTraits: Record = { + email: { + group: "code", + label: "Email", + type: "email", + value: email, + node_type: "input", + required: true, + }, + submitButton: { + group: "code", + node_type: "input", + label: "Submit", + type: "submit", + value: "code", + name: "method", + }, +} + +export const defaultRecoveryTraitsWithCode: Record = { + code: { + group: "code", + label: "Verify code", + type: "input", + value: "123456", + node_type: "input", + required: true, + }, + resendButton: { + group: "code", + node_type: "input", + label: "Resend Code", + type: "submit", + name: "email", + value: email, + }, + submitButton: { + name: "method", + group: "code", + node_type: "input", + label: "Submit", + type: "submit", + value: "code", + }, +} diff --git a/packages/test/src/traits/registration.ts b/packages/test/src/traits/registration.ts new file mode 100644 index 000000000..e61602757 --- /dev/null +++ b/packages/test/src/traits/registration.ts @@ -0,0 +1,40 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { Traits } from "../types" +import { email, password } from "./defaults" + +export const defaultRegistrationTraits: Record = { + "traits.email": { + group: "password", + node_type: "input", + required: true, + label: "Email", + type: "input", + value: email, + }, + password: { + group: "password", + node_type: "input", + required: true, + label: "Password", + type: "input", + value: password, + }, + tos: { + group: "default", + node_type: "input", + required: true, + label: "I agree to the terms of service", + type: "checkbox", + value: "", + }, + submitButton: { + group: "default", + node_type: "input", + label: "Sign up", + type: "submit", + value: "password", + name: "method", + }, +} diff --git a/packages/test/src/traits/verification.ts b/packages/test/src/traits/verification.ts new file mode 100644 index 000000000..2f653b95f --- /dev/null +++ b/packages/test/src/traits/verification.ts @@ -0,0 +1,55 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { Traits } from "../types" +import { defaultTraits, email } from "./defaults" + +export const defaultVerificationEmailTraits: Record = { + email: { + group: "code", + label: "Email", + type: "email", + value: email, + node_type: "input", + required: true, + }, + submitButton: { + group: "code", + node_type: "input", + label: "Submit", + type: "submit", + value: "code", + name: "method", + }, +} + +export const defaultVerificationTraits: Record = { + "traits.email": defaultTraits["traits.email"], +} + +export const defaultVerificationTraitsWithCode: Record = { + code: { + group: "code", + label: "Verify code", + type: "input", + value: "123456", + node_type: "input", + required: true, + }, + resendButton: { + group: "code", + node_type: "input", + label: "Resend Code", + type: "submit", + name: "email", + value: email, + }, + submitButton: { + name: "method", + group: "code", + node_type: "input", + label: "Submit", + type: "submit", + value: "code", + }, +} diff --git a/packages/test/src/types.ts b/packages/test/src/types.ts new file mode 100644 index 000000000..386153066 --- /dev/null +++ b/packages/test/src/types.ts @@ -0,0 +1,74 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { + GenericError, + LoginFlow, + RecoveryFlow, + RecoveryFlowState, + RegistrationFlow, + Session, + SettingsFlow, + UiNodeGroupEnum, + VerificationFlow, + VerificationFlowState, +} from "@ory/client" + +export type MockFlowStates = + | "verification_choose_method" + | "verification_sent_email" + | "verification_passed_challenge" + | "recovery_choose_method" + | "recovery_sent_email" + | "recovery_passed_challenge" + | "session_forbidden" + | "session_active" + +export interface MockFlow { + flow: string + response?: MockFlowResponse + state?: MockFlowStates +} + +export const getFlowState = ( + a: MockFlowStates, + flow: "verification" | "recovery", +): VerificationFlowState | RecoveryFlowState => + a.replace(flow + "_", "") as VerificationFlowState | RecoveryFlowState + +export interface Traits { + name?: string + group: UiNodeGroupEnum + value: string + type: + | "input" + | "checkbox" + | "button" + | "hidden" + | "submit" + | "email" + | "password" + label: string + required?: boolean + node_type?: string +} + +export interface ErrorBrowserLocationChangeRequired { + error: GenericError + redirect_browser_to: string +} + +export interface MockFlowResponse { + body: + | LoginFlow + | RegistrationFlow + | RecoveryFlow + | VerificationFlow + | SettingsFlow + | Session + | GenericError + | ErrorBrowserLocationChangeRequired + | null + status: number + headers: Record +} diff --git a/packages/test/src/utils.ts b/packages/test/src/utils.ts new file mode 100644 index 000000000..e141f9004 --- /dev/null +++ b/packages/test/src/utils.ts @@ -0,0 +1,106 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +import { + UiNode, + UiNodeAttributes, + UiNodeInputAttributes, + UiNodeMeta, +} from "@ory/client" +import { Traits } from "./types" + +/** + * A TypeScript type guard for nodes of the type + * + * @param attrs + */ +export function isUiNodeInputAttributes( + attrs: UiNodeAttributes, +): attrs is UiNodeInputAttributes & { node_type: "input" } { + return attrs.node_type === "input" +} + +export const isUiNode = (a: unknown): a is UiNode[] => { + return ( + Array.isArray(a) && + a.some((v) => typeof v === "object" && v !== null && "attributes" in v) + ) +} + +export const inputNodesToRecord = (nodes: UiNode[]): Record => { + return nodes.reduce((map: Record, { group, attributes }) => { + if (isUiNodeInputAttributes(attributes)) { + map[attributes.name] = { + group: group, + node_type: attributes.node_type, + required: attributes.required, + value: attributes.value as string, + type: attributes.type as Traits["type"], + label: attributes.label?.text ?? "", + name: attributes.name, + } + } + return map + }, {}) +} + +export const traitsToNodes = ( + traits: Record, + includeCsrf?: boolean, + includeValue = true, +): UiNode[] => { + const nodes = Object.entries(traits).map( + ([key, { group, label, type, value, node_type, required, name }]) => { + return { + group: group, + messages: [], + type: "input", + meta: { + label: { + id: Math.floor(Math.random() * 6) + 1, + text: label ?? name ?? key, + type: "info", + }, + } as UiNodeMeta, + attributes: { + name: name ?? key, + ...(includeValue && { value: value }), + type, + node_type: node_type ?? "input", + required: required ?? false, + } as UiNodeAttributes, + } + }, + ) + + includeCsrf && + nodes.push({ + group: "default", + type: "input", + attributes: { + name: "csrf_token", + value: RandomString(20), + type: "hidden", + node_type: "input", + disabled: false, + required: true, + }, + meta: {}, + messages: [], + } as UiNode) + + return nodes +} + +export const RandomString = (length = 20) => { + return Array(Math.ceil(length * 0.1)) + .fill(null) + .map(() => Math.random().toString(36).substring(2)) + .join("") + .substring(0, length) +} + +export const UUIDv4 = () => `22b3ad6f-c50a-4c2f-8c94-${RandomString(12)}` + +export const RandomEmail = () => `${RandomString(4)}@${RandomString(4)}.com` +export const RandomPassword = () => RandomString(10) diff --git a/packages/test/tsconfig.json b/packages/test/tsconfig.json index 002a7713e..140d7fbf7 100644 --- a/packages/test/tsconfig.json +++ b/packages/test/tsconfig.json @@ -19,7 +19,7 @@ "declarationMap": true, "outDir": "dist" }, - "include": ["../../src/test", "vite.config.ts", "package.json"], + "include": ["./src/test", "tsup.config.ts", "package.json"], "exclude": [ "**/*.spec.*", "**/*.test.*", diff --git a/packages/test/tsup.config.ts b/packages/test/tsup.config.ts new file mode 100644 index 000000000..7191c9807 --- /dev/null +++ b/packages/test/tsup.config.ts @@ -0,0 +1,16 @@ +import { defineConfig } from "tsup" +import path from "path" + +export default defineConfig({ + entry: [path.resolve(__dirname, "./src/index.ts")], + format: ["esm", "cjs"], + dts: true, + sourcemap: true, + target: "esnext", + treeshake: true, + external: ["@playwright/test"], + globalName: "Playwright", + outDir: "dist", + splitting: false, // Rollup's "smallest" treeshake can be interpreted by setting splitting to false + clean: true, // Clean the output directory before each build +}) diff --git a/packages/test/vite.config.ts b/packages/test/vite.config.ts index 5beed3fc1..b106e05b5 100644 --- a/packages/test/vite.config.ts +++ b/packages/test/vite.config.ts @@ -9,10 +9,12 @@ import dts from "vite-plugin-dts" export default defineConfig({ plugins: [ dts({ - root: path.resolve(__dirname, "../../src/test"), - insertTypesEntry: true, + root: path.resolve(__dirname, "./src"), + // insertTypesEntry: true, tsconfigPath: path.resolve(__dirname, "tsconfig.json"), outDir: path.resolve(__dirname, "dist"), + rollupTypes: true, + exclude: [ "node_modules", "dist", @@ -26,7 +28,7 @@ export default defineConfig({ sourcemap: true, lib: { name: "@ory/elements-test", - entry: path.resolve(__dirname, "../../src/tests.ts"), + entry: path.resolve(__dirname, "./src/index.ts"), formats: ["es", "umd"], fileName: (format) => (format === "es" ? "index.mjs" : "index.umd.js"), }, From f559bc114f78488dede9a11e6c341a3558fa994f Mon Sep 17 00:00:00 2001 From: Jonas Hungershausen Date: Fri, 30 Aug 2024 10:52:10 +0200 Subject: [PATCH 2/7] fix: formatting --- .deps/ory.version | 1 + .github/workflows/format.yml | 1 - Makefile | 13 +- src/test/error-messages.ts | 604 --------------- src/test/fixtures/index.ts | 18 - src/test/fixtures/login.ts | 1066 --------------------------- src/test/fixtures/recovery.ts | 185 ----- src/test/fixtures/registration.ts | 760 ------------------- src/test/fixtures/settings.ts | 317 -------- src/test/fixtures/verification.ts | 214 ------ src/test/index.ts | 11 - src/test/mock/index.ts | 8 - src/test/mock/login.ts | 109 --- src/test/mock/recovery.ts | 101 --- src/test/mock/registration.ts | 111 --- src/test/mock/utils.ts | 15 - src/test/mock/verification.ts | 111 --- src/test/models/AuthPage.ts | 193 ----- src/test/models/ConsentPage.ts | 37 - src/test/models/LoginPage.ts | 113 --- src/test/models/RecoveryPage.ts | 145 ---- src/test/models/RegistrationPage.ts | 100 --- src/test/models/SettingsPage.ts | 27 - src/test/models/VerificationPage.ts | 136 ---- src/test/models/index.ts | 11 - src/test/playwright-fixture.ts | 38 - src/test/traits/defaults.ts | 27 - src/test/traits/index.ts | 8 - src/test/traits/login.ts | 32 - src/test/traits/recovery.ts | 51 -- src/test/traits/registration.ts | 40 - src/test/traits/verification.ts | 55 -- src/test/types.ts | 74 -- src/test/utils.ts | 91 --- src/tests.ts | 4 - 35 files changed, 10 insertions(+), 4817 deletions(-) create mode 100644 .deps/ory.version delete mode 100644 src/test/error-messages.ts delete mode 100644 src/test/fixtures/index.ts delete mode 100644 src/test/fixtures/login.ts delete mode 100644 src/test/fixtures/recovery.ts delete mode 100644 src/test/fixtures/registration.ts delete mode 100644 src/test/fixtures/settings.ts delete mode 100644 src/test/fixtures/verification.ts delete mode 100644 src/test/index.ts delete mode 100644 src/test/mock/index.ts delete mode 100644 src/test/mock/login.ts delete mode 100644 src/test/mock/recovery.ts delete mode 100644 src/test/mock/registration.ts delete mode 100644 src/test/mock/utils.ts delete mode 100644 src/test/mock/verification.ts delete mode 100644 src/test/models/AuthPage.ts delete mode 100644 src/test/models/ConsentPage.ts delete mode 100644 src/test/models/LoginPage.ts delete mode 100644 src/test/models/RecoveryPage.ts delete mode 100644 src/test/models/RegistrationPage.ts delete mode 100644 src/test/models/SettingsPage.ts delete mode 100644 src/test/models/VerificationPage.ts delete mode 100644 src/test/models/index.ts delete mode 100644 src/test/playwright-fixture.ts delete mode 100644 src/test/traits/defaults.ts delete mode 100644 src/test/traits/index.ts delete mode 100644 src/test/traits/login.ts delete mode 100644 src/test/traits/recovery.ts delete mode 100644 src/test/traits/registration.ts delete mode 100644 src/test/traits/verification.ts delete mode 100644 src/test/types.ts delete mode 100644 src/test/utils.ts delete mode 100644 src/tests.ts diff --git a/.deps/ory.version b/.deps/ory.version new file mode 100644 index 000000000..6da69f368 --- /dev/null +++ b/.deps/ory.version @@ -0,0 +1 @@ +v0.3.4 \ No newline at end of file diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index a7a720ebc..09f662435 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -2,7 +2,6 @@ name: Format on: pull_request: - push: jobs: format: diff --git a/Makefile b/Makefile index 55ae5d337..c9ce47f8a 100644 --- a/Makefile +++ b/Makefile @@ -15,9 +15,14 @@ test-containerized: # For unsupported distros, use the `test-containerized` target instead of `test` sh -c ./playwright-docker.sh -format: .bin/ory node_modules + +PRETTIER_VERSION=$(shell cat package.json | jq -r '.devDependencies["prettier"] // .dependencies["prettier"]') + +format: .bin/ory .bin/ory dev headers copyright --type=open-source - npm exec -- prettier --write . + @echo "Prettier Version: $(PRETTIER_VERSION)" + npx prettier@$$PRETTIER_VERSION --write . + licenses: .bin/licenses node_modules # checks open-source licenses .bin/licenses @@ -25,8 +30,8 @@ licenses: .bin/licenses node_modules # checks open-source licenses .bin/licenses: Makefile curl https://raw.githubusercontent.com/ory/ci/master/licenses/install | sh -.bin/ory: Makefile - curl https://raw.githubusercontent.com/ory/meta/master/install.sh | bash -s -- -b .bin ory v0.2.2 +.bin/ory: .deps/ory.version + curl https://raw.githubusercontent.com/ory/meta/master/install.sh | bash -s -- -b .bin ory $(cat .deps/ory.version) touch .bin/ory node_modules: package-lock.json diff --git a/src/test/error-messages.ts b/src/test/error-messages.ts deleted file mode 100644 index 1f7243248..000000000 --- a/src/test/error-messages.ts +++ /dev/null @@ -1,604 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -export const oryIdentityErrors = [ - { - id: 1010001, - text: "Sign in", - type: "info", - context: {}, - }, - { - id: 1010001, - text: "Sign in with security key", - type: "info", - context: {}, - }, - { - id: 1010002, - text: "Sign in with {provider}", - type: "info", - context: { - provider: "{provider}", - }, - }, - { - id: 1010003, - text: "Please confirm this action by verifying that it is you.", - type: "info", - context: {}, - }, - { - id: 1010004, - text: "Please complete the second authentication challenge.", - type: "info", - context: {}, - }, - { - id: 1010005, - text: "Verify", - type: "info", - context: {}, - }, - { - id: 1010006, - text: "Authentication code", - type: "info", - context: {}, - }, - { - id: 1010007, - text: "Backup recovery code", - type: "info", - context: {}, - }, - { - id: 1010008, - text: "Use security key", - type: "info", - }, - { - id: 1010009, - text: "Use Authenticator", - type: "info", - context: {}, - }, - { - id: 1010010, - text: "Use backup recovery code", - type: "info", - context: {}, - }, - { - id: 1010011, - text: "Continue with security key", - type: "info", - }, - { - id: 1010012, - text: "Prepare your WebAuthn device (e.g. security key, biometrics scanner, ...) and press continue.", - type: "info", - context: {}, - }, - { - id: 1010013, - text: "Continue", - type: "info", - }, - { - id: 1040001, - text: "Sign up", - type: "info", - context: {}, - }, - { - id: 1040002, - text: "Sign up with {provider}", - type: "info", - context: { - provider: "{provider}", - }, - }, - { - id: 1040003, - text: "Continue", - type: "info", - }, - { - id: 1040004, - text: "Sign up with security key", - type: "info", - }, - { - id: 1050001, - text: "Your changes have been saved!", - type: "success", - }, - { - id: 1050002, - text: "Link {provider}", - type: "info", - context: { - provider: "{provider}", - }, - }, - { - id: 1050003, - text: "Unlink {provider}", - type: "info", - context: { - provider: "{provider}", - }, - }, - { - id: 1050004, - text: "Unlink TOTP Authenticator App", - type: "info", - }, - { - id: 1050005, - text: "Authenticator app QR code", - type: "info", - }, - { - id: 1050006, - text: "{secret}", - type: "info", - context: { - secret: "{secret}", - }, - }, - { - id: 1050007, - text: "Reveal backup recovery codes", - type: "info", - }, - { - id: 1050008, - text: "Generate new backup recovery codes", - type: "info", - }, - { - id: 1050009, - text: "{secret}", - type: "info", - context: { - secret: "{secret}", - }, - }, - { - id: 1050010, - text: "These are your back up recovery codes. Please keep them in a safe place!", - type: "info", - }, - { - id: 1050011, - text: "Confirm backup recovery codes", - type: "info", - }, - { - id: 1050012, - text: "Add security key", - type: "info", - }, - { - id: 1050012, - text: "Add security key", - type: "info", - }, - { - id: 1050013, - text: "Name of the security key", - type: "info", - }, - { - id: 1050014, - text: "Secret was used at 2020-01-01 00:59:59 +0000 UTC", - type: "info", - context: { - used_at: "2020-01-01T00:59:59Z", - }, - }, - { - id: 1050015, - text: "{code-1}, {code-2}", - type: "info", - context: { - secrets: [ - { - id: 1050009, - text: "{code}", - type: "info", - context: { - secret: "{code}", - }, - }, - { - id: 1050014, - text: "Secret was used at 2020-01-01 00:59:59 +0000 UTC", - type: "info", - context: { - used_at: "2020-01-01T00:59:59Z", - }, - }, - ], - }, - }, - { - id: 1050016, - text: "Disable this method", - type: "info", - }, - { - id: 1050017, - text: "This is your authenticator app secret. Use it if you can not scan the QR code.", - type: "info", - }, - { - id: 1050018, - text: 'Remove security key "{name}"', - type: "info", - context: { - added_at: "2020-01-01T00:59:59Z", - display_name: "{name}", - }, - }, - { - id: 1060001, - text: "You successfully recovered your account. Please change your password or set up an alternative login method (e.g. social sign in) within the next 0.02 minutes.", - type: "success", - context: { - privilegedSessionExpiresAt: "2020-01-01T01:01:00Z", - }, - }, - { - id: 1060002, - text: "An email containing a recovery link has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", - type: "info", - context: {}, - }, - { - id: 1060003, - text: "An email containing a recovery code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", - type: "info", - context: {}, - }, - { - id: 1070001, - text: "Password", - type: "info", - }, - { - id: 1070002, - text: "{title}", - type: "info", - }, - { - id: 1070003, - text: "Save", - type: "info", - }, - { - id: 1070004, - text: "ID", - type: "info", - }, - { - id: 1070005, - text: "Submit", - type: "info", - }, - { - id: 1070006, - text: "Verify code", - type: "info", - }, - { - id: 1070007, - text: "Email", - type: "info", - }, - { - id: 1070008, - text: "Resend code", - type: "info", - }, - { - id: 1070009, - text: "Continue", - type: "info", - }, - { - id: 1080001, - text: "An email containing a verification link has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", - type: "info", - context: {}, - }, - { - id: 1080002, - text: "You successfully verified your email address.", - type: "success", - }, - { - id: 1080003, - text: "An email containing a verification code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", - type: "info", - context: {}, - }, - { - id: 4000001, - text: "{reason}", - type: "error", - }, - { - id: 4000002, - text: "Property {field} is missing.", - type: "error", - context: { - property: "{field}", - }, - }, - { - id: 4000003, - text: "length must be \u003e= 5, but got 3", - type: "error", - context: {}, - }, - { - id: 4000004, - text: 'does not match pattern "^[a-z]*$"', - type: "error", - context: {}, - }, - { - id: 4000005, - text: "The password can not be used because {reason}.", - type: "error", - context: { - reason: "{reason}", - }, - }, - { - id: 4000006, - text: "The provided credentials are invalid, check for spelling mistakes in your password or username, email address, or phone number.", - type: "error", - context: {}, - }, - { - id: 4000007, - text: "An account with the same identifier (email, phone, username, ...) exists already.", - type: "error", - context: {}, - }, - { - id: 4000008, - text: "The provided authentication code is invalid, please try again.", - type: "error", - context: {}, - }, - { - id: 4000009, - text: "Could not find any login identifiers. Did you forget to set them? This could also be caused by a server misconfiguration.", - type: "error", - }, - { - id: 4000010, - text: "Account not active yet. Did you forget to verify your email address?", - type: "error", - }, - { - id: 4000011, - text: "You have no TOTP device set up.", - type: "error", - context: {}, - }, - { - id: 4000012, - text: "This backup recovery code has already been used.", - type: "error", - context: {}, - }, - { - id: 4000013, - text: "You have no WebAuthn device set up.", - type: "error", - context: {}, - }, - { - id: 4000014, - text: "You have no backup recovery codes set up.", - type: "error", - context: {}, - }, - { - id: 4000015, - text: "This account does not exist or has no security key set up.", - type: "error", - context: {}, - }, - { - id: 4000016, - text: "The backup recovery code is not valid.", - type: "error", - context: {}, - }, - { - id: 4000017, - text: "length must be \u003c= 5, but got 6", - type: "error", - context: {}, - }, - { - id: 4000018, - text: "must be \u003e= 5 but found 3", - type: "error", - context: {}, - }, - { - id: 4000019, - text: "must be \u003e 5 but found 5", - type: "error", - context: {}, - }, - { - id: 4000020, - text: "must be \u003c= 5 but found 6", - type: "error", - context: {}, - }, - { - id: 4000021, - text: "must be \u003c 5 but found 5", - type: "error", - context: {}, - }, - { - id: 4000022, - text: "7 not multipleOf 3", - type: "error", - context: {}, - }, - { - id: 4000023, - text: "maximum 3 items allowed, but found 4 items", - type: "error", - context: {}, - }, - { - id: 4000024, - text: "minimum 3 items allowed, but found 2 items", - type: "error", - context: {}, - }, - { - id: 4000025, - text: "items at index 0 and 2 are equal", - type: "error", - context: {}, - }, - { - id: 4000026, - text: "expected number, but got string", - type: "error", - context: {}, - }, - { - id: 4010001, - text: "The login flow expired 1.02 minutes ago, please try again.", - type: "error", - context: { - expired_at: "2020-01-01T00:59:59Z", - }, - }, - { - id: 4010002, - text: "Could not find a strategy to log you in with. Did you fill out the form correctly?", - type: "error", - }, - { - id: 4010003, - text: "Could not find a strategy to sign you up with. Did you fill out the form correctly?", - type: "error", - }, - { - id: 4010004, - text: "Could not find a strategy to update your settings. Did you fill out the form correctly?", - type: "error", - }, - { - id: 4010005, - text: "Could not find a strategy to recover your account with. Did you fill out the form correctly?", - type: "error", - }, - { - id: 4010006, - text: "Could not find a strategy to verify your account with. Did you fill out the form correctly?", - type: "error", - }, - { - id: 4040001, - text: "The registration flow expired -0.02 minutes ago, please try again.", - type: "error", - context: { - expired_at: "2020-01-01T00:59:59Z", - }, - }, - { - id: 4050001, - text: "The settings flow expired -0.02 minutes ago, please try again.", - type: "error", - context: { - expired_at: "2020-01-01T00:59:59Z", - }, - }, - { - id: 4060001, - text: "The request was already completed successfully and can not be retried.", - type: "error", - context: {}, - }, - { - id: 4060002, - text: "The recovery flow reached a failure state and must be retried.", - type: "error", - context: {}, - }, - { - id: 4060004, - text: "The recovery token is invalid or has already been used. Please retry the flow.", - type: "error", - context: {}, - }, - { - id: 4060005, - text: "The recovery flow expired -0.02 minutes ago, please try again.", - type: "error", - context: { - expired_at: "2020-01-01T00:59:59Z", - }, - }, - { - id: 4060006, - text: "The recovery code is invalid or has already been used. Please try again.", - type: "error", - context: {}, - }, - { - id: 4070001, - text: "The verification token is invalid or has already been used. Please retry the flow.", - type: "error", - context: {}, - }, - { - id: 4070002, - text: "The request was already completed successfully and can not be retried.", - type: "error", - context: {}, - }, - { - id: 4070003, - text: "The verification flow reached a failure state and must be retried.", - type: "error", - context: {}, - }, - { - id: 4070005, - text: "The verification flow expired -0.02 minutes ago, please try again.", - type: "error", - context: { - expired_at: "2020-01-01T00:59:59Z", - }, - }, - { - id: 4070006, - text: "The verification code is invalid or has already been used. Please try again.", - type: "error", - context: {}, - }, - { - id: 5000001, - text: "{reason}", - type: "error", - context: {}, - }, -] diff --git a/src/test/fixtures/index.ts b/src/test/fixtures/index.ts deleted file mode 100644 index 764aef2c8..000000000 --- a/src/test/fixtures/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { GenericError } from "@ory/client" - -export * from "./login" -export * from "./recovery" -export * from "./registration" -export * from "./settings" -export * from "./verification" - -export const sessionForbiddenFixture: GenericError = { - code: 401, - status: "Unauthorized", - request: "3e5ab082-3be2-9cba-b7ff-30d980a9b122", - reason: "No valid session credentials found in the request.", - message: "The request could not be authorized", -} diff --git a/src/test/fixtures/login.ts b/src/test/fixtures/login.ts deleted file mode 100644 index 3ca96d7d1..000000000 --- a/src/test/fixtures/login.ts +++ /dev/null @@ -1,1066 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { LoginFlow } from "@ory/client" - -export const loginFixture: LoginFlow = { - id: "31f9170d-c28d-4f6c-8cf8-54b999a4f172", - type: "browser", - expires_at: "2022-08-29T10:21:13.298704656Z", - issued_at: "2022-08-29T09:51:13.298704656Z", - request_url: "http://localhost:4000/self-service/login/browser", - ui: { - action: - "http://localhost:4000/self-service/login?flow=31f9170d-c28d-4f6c-8cf8-54b999a4f172", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "gRBwj0LpxhDugD8sNq1/H6HABvVKMoZepLuLHU+7leIFL33RU4hc1sCYlFKRlsqYPBAG5P84ADrnwLLC3TIy3g==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "default", - attributes: { - name: "identifier", - type: "text", - value: "", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070004, - text: "ID", - type: "info", - }, - }, - }, - { - type: "input", - group: "password", - attributes: { - name: "password", - type: "password", - required: true, - autocomplete: "current-password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070001, - text: "Password", - type: "info", - }, - }, - }, - { - type: "input", - group: "password", - attributes: { - name: "method", - type: "submit", - value: "password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010001, - text: "Sign in", - type: "info", - context: {}, - }, - }, - }, - ], - }, - created_at: "2022-08-29T09:51:13.308547Z", - updated_at: "2022-08-29T09:51:13.308547Z", - refresh: false, - requested_aal: "aal1", - state: "", -} - -export const loginNoneFixture: LoginFlow = { - id: "62a8739b-5866-4a4c-9951-acb39a49709c", - type: "browser", - expires_at: "2022-08-29T10:17:27.87015684Z", - issued_at: "2022-08-29T09:47:27.87015684Z", - request_url: "http://localhost:4000/self-service/login/browser", - ui: { - action: - "http://localhost:4000/self-service/login?flow=62a8739b-5866-4a4c-9951-acb39a49709c", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "FFydsmckUnGEN4NMGn5uuW1TTy0XNTd1YrAIS6szdbuQY5DsdkXIt6ovKDK9Rds+8INPPKI/sREhyzGUObrShw==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - ], - }, - created_at: "2022-08-29T09:47:27.876079Z", - updated_at: "2022-08-29T09:47:27.876079Z", - refresh: false, - requested_aal: "aal1", - state: "", -} - -export const loginRefreshFixture: LoginFlow = { - id: "8a23a143-c08d-4635-b9fc-f9036db53227", - oauth2_login_challenge: "", - type: "browser", - expires_at: "2023-01-09T14:00:47.355708383Z", - issued_at: "2023-01-09T13:00:47.355708383Z", - request_url: "http://localhost:4000/self-service/login/browser?refresh=true", - ui: { - action: - "http://localhost:4000/self-service/login?flow=8a23a143-c08d-4635-b9fc-f9036db53227", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "Uw3zN207hJcnQgQMqipxgHLmmaua3afaJKrTHDbUpjKXdlBe7QAJpL/ZVp7AClu6zDBhvfnh5JXsHxiXlDmyhA==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "default", - attributes: { - name: "identifier", - type: "hidden", - value: "johndoe@acme.com", - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "password", - attributes: { - name: "password", - type: "password", - required: true, - autocomplete: "current-password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070001, - text: "Password", - type: "info", - }, - }, - }, - { - type: "input", - group: "password", - attributes: { - name: "method", - type: "submit", - value: "password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010001, - text: "Sign in", - type: "info", - context: {}, - }, - }, - }, - ], - messages: [ - { - id: 1010003, - text: "Please confirm this action by verifying that it is you.", - type: "info", - context: {}, - }, - ], - }, - created_at: "2023-01-09T13:00:47.48922Z", - updated_at: "2023-01-09T13:00:47.48922Z", - refresh: true, - requested_aal: "aal1", - state: "", -} - -export const loginSubmitIncorrectCredentialsFixture: LoginFlow = { - id: "400c0e81-16ba-4c1c-a6e1-ab1eac2bd413", - oauth2_login_challenge: "", - type: "browser", - expires_at: "2023-03-16T12:49:22.219258Z", - issued_at: "2023-03-16T12:19:22.219258Z", - request_url: - "https://localhost:4000/self-service/login/browser?refresh=true&aal=aal1", - ui: { - action: - "https://localhost:4000/self-service/login?flow=400c0e81-16ba-4c1c-a6e1-ab1eac2bd413", - method: "POST", - nodes: [ - { - type: "input", - group: "oidc", - attributes: { - name: "provider", - type: "submit", - value: "discord", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010002, - text: "Sign in with Discord", - type: "info", - context: { provider: "Discord" }, - }, - }, - }, - { - type: "input", - group: "oidc", - attributes: { - name: "provider", - type: "submit", - value: "facebook", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010002, - text: "Sign in with Facebook", - type: "info", - context: { provider: "Facebook" }, - }, - }, - }, - { - type: "input", - group: "oidc", - attributes: { - name: "provider", - type: "submit", - value: "github", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010002, - text: "Sign in with GitHub", - type: "info", - context: { provider: "GitHub" }, - }, - }, - }, - { - type: "input", - group: "oidc", - attributes: { - name: "provider", - type: "submit", - value: "google", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010002, - text: "Sign in with Google", - type: "info", - context: { provider: "Google" }, - }, - }, - }, - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "Tj03XA71hPNteczHS2gPV5r+Bwo9BVwrO8m3l8bMG/erq0Ea8SBnlU53ndj14MGiwUcp52socpZliGL7YpbUow==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "default", - attributes: { - name: "identifier", - type: "text", - value: "asdasfew@fwefwe.com", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { label: { id: 1070004, text: "ID", type: "info" } }, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "method", - type: "submit", - value: "webauthn", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010001, - text: "Sign in with security key", - type: "info", - context: {}, - }, - }, - }, - { - type: "input", - group: "password", - attributes: { - name: "password", - type: "password", - required: true, - autocomplete: "current-password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { label: { id: 1070001, text: "Password", type: "info" } }, - }, - { - type: "input", - group: "password", - attributes: { - name: "method", - type: "submit", - value: "password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { id: 1010001, text: "Sign in", type: "info", context: {} }, - }, - }, - ], - messages: [ - { - id: 4000006, - text: "The provided credentials are invalid, check for spelling mistakes in your password or username, email address, or phone number.", - type: "error", - context: {}, - }, - ], - }, - created_at: "2023-03-16T12:19:22.331239Z", - updated_at: "2023-03-16T12:19:22.331239Z", - refresh: false, - requested_aal: "aal1", - state: "", -} - -export const loginTwoFactorFixture: LoginFlow = { - id: "3f9319a6-7105-4004-aa16-80d3f5281164", - type: "browser", - expires_at: "2022-09-22T15:59:26.051983Z", - issued_at: "2022-09-22T15:29:26.051983Z", - request_url: "https://localhost:4000/self-service/login/browser?aal=aal2", - ui: { - action: - "https://localhost:4000/self-service/login?flow=3f9319a6-7105-4004-aa16-80d3f5281164", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "sylBsTLGrttAzMQtXZtb+Cpk4K/Pe9P+vz2WBUJoLunc8h5ff/7aloMMy/vJsnp/IwojlWaAfnuAwaqA5+i+Lg==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "default", - attributes: { - name: "identifier", - type: "hidden", - value: "aecaf2bf-b33f-4271-9c4d-0c0eb722fcf8", - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_login_trigger", - type: "button", - value: "", - disabled: false, - onclick: - 'window.__oryWebAuthnLogin({"publicKey":{"challenge":"zk6j9Qfetb7N3DIZflBKrTSQvXwwAAw1/HFliAXJOR0=","timeout":60000,"rpId":"localhost:4000","allowCredentials":[{"type":"public-key","id":"jeuNGRy/jfYfxNhZ8JvfCy/dE5gs5m1djdMrtRb+Tuwq9tgP+U1o6JR8BWrt7oLWHQbxnh0t3Ebu1EtTKzwJbw=="}],"userVerification":"discouraged"}})', - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010008, - text: "Use security key", - type: "info", - }, - }, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_login", - type: "hidden", - value: "", - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "script", - group: "webauthn", - attributes: { - src: "https://localhost:4000/.well-known/ory/webauthn.js", - async: true, - referrerpolicy: "no-referrer", - crossorigin: "anonymous", - integrity: - "sha512-E3ctShTQEYTkfWrjztRCbP77lN7L0jJC2IOd6j8vqUKslvqhX/Ho3QxlQJIeTI78krzAWUQlDXd9JQ0PZlKhzQ==", - type: "text/javascript", - id: "webauthn_script", - nonce: "c3c7199e-8a94-4878-b5ac-dddbfd94029e", - node_type: "script", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "totp", - attributes: { - name: "totp_code", - type: "text", - value: "", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010006, - text: "Authentication code", - type: "info", - context: {}, - }, - }, - }, - { - type: "input", - group: "totp", - attributes: { - name: "method", - type: "submit", - value: "totp", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010009, - text: "Use Authenticator", - type: "info", - context: {}, - }, - }, - }, - ], - messages: [ - { - id: 1010004, - text: "Please complete the second authentication challenge.", - type: "info", - context: {}, - }, - ], - }, - created_at: "2022-09-22T15:29:26.311469Z", - updated_at: "2022-09-22T15:29:26.311469Z", - refresh: false, - requested_aal: "aal2", - state: "", -} - -export const loginPasswordlessFixture: LoginFlow = { - id: "13de599b-5fc0-472c-9635-b1d19c0ea9e3", - type: "browser", - expires_at: "2022-08-29T10:22:39.093619222Z", - issued_at: "2022-08-29T09:52:39.093619222Z", - request_url: "http://localhost:4000/self-service/login/browser", - ui: { - action: - "http://localhost:4000/self-service/login?flow=13de599b-5fc0-472c-9635-b1d19c0ea9e3", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "ze0GFCqJ9j8C+ePPezAZl1j/Hu+7BKPXX8wxAe/Ky1xJ0gtKO+hs+SzhSLHcC6wQxS8e/g4OJbMctwjefUNsYA==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "default", - attributes: { - name: "identifier", - type: "text", - value: "", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070004, - text: "ID", - type: "info", - }, - }, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "method", - type: "submit", - value: "webauthn", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010001, - text: "Sign in with security key", - type: "info", - context: {}, - }, - }, - }, - ], - }, - created_at: "2022-08-29T09:52:39.101785Z", - updated_at: "2022-08-29T09:52:39.101785Z", - refresh: false, - requested_aal: "aal1", - state: "", -} - -export const loginCodeFixture: LoginFlow = { - id: "abee8b51-4e39-4d0a-9ac7-64ff0ff6c502", - type: "browser", - expires_at: "2023-08-22T07:02:40.795179386Z", - issued_at: "2023-08-22T06:02:40.795179386Z", - request_url: "http://localhost:4433/self-service/login/browser", - ui: { - action: - "http://localhost:4455/self-service/login?flow=abee8b51-4e39-4d0a-9ac7-64ff0ff6c502", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "oh1/UgG2XUnGqK/GrmaAd2KPV5H2t6fQsQd5GXBPeIRJUZ5Bs5ViBMcLw3+Ydf1E5dKBNnLLf1GpTvhbSnWtoQ==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "default", - attributes: { - name: "identifier", - type: "text", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070004, - text: "ID", - type: "info", - }, - }, - }, - { - type: "input", - group: "code", - attributes: { - name: "method", - type: "submit", - value: "code", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010015, - text: "Sign in with code", - type: "info", - }, - }, - }, - ], - }, - created_at: "2023-08-22T08:02:40.797052+02:00", - updated_at: "2023-08-22T08:02:40.797052+02:00", - refresh: false, - requested_aal: "aal1", - state: "choose_method", -} - -export const loginCodeTwoFixture: LoginFlow = { - id: "2b739b09-4d06-4489-9895-6b8a55634ff6", - type: "browser", - expires_at: "2023-08-22T07:13:25.194774403Z", - issued_at: "2023-08-22T06:13:25.194774403Z", - request_url: "http://localhost:4433/self-service/login/browser", - active: "code", - ui: { - action: - "http://localhost:4455/self-service/login?flow=2b739b09-4d06-4489-9895-6b8a55634ff6", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "8oV4sZaVTX6Ho1+UdshHlsAA4fRkBcuaqLVGT2hWaaufINifEbCGaQ/emgdUiHp833a2duHjCv3axZ9907alzw==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "default", - attributes: { - name: "identifier", - type: "text", - value: "example@example.com", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070004, - text: "ID", - type: "info", - }, - }, - }, - { - type: "input", - group: "code", - attributes: { - name: "method", - type: "hidden", - value: "code", - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "code", - attributes: { - name: "code", - type: "text", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070013, - text: "Login code", - type: "info", - }, - }, - }, - { - type: "input", - group: "code", - attributes: { - name: "method", - type: "submit", - value: "code", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070005, - text: "Submit", - type: "info", - }, - }, - }, - { - type: "input", - group: "code", - attributes: { - name: "resend", - type: "submit", - value: "code", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070008, - text: "Resend code", - type: "info", - }, - }, - }, - ], - messages: [ - { - id: 1010014, - text: "An email containing a code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and retry the login.", - type: "info", - context: {}, - }, - ], - }, - created_at: "2023-08-22T08:13:25.196412+02:00", - updated_at: "2023-08-22T08:13:25.196412+02:00", - refresh: false, - requested_aal: "aal1", - state: "sent_email", -} - -export const loginFixtureOAuth2: LoginFlow = { - id: "31f9170d-c28d-4f6c-8cf8-54b999a4f172", - type: "browser", - oauth2_login_request: { - client: { - client_id: "oauth2-login-client", - client_uri: "https://www.ory.sh/docs/ecosystem/sdks", - }, - challenge: "a1b2c3d4e5f6g7h8i9j0", - request_url: "http://localhost:4000/self-service/login/browser", - requested_access_token_audience: ["https://api.ory.sh/"], - requested_scope: ["offline", "openid"], - skip: false, - subject: "", - }, - expires_at: "2022-08-29T10:21:13.298704656Z", - issued_at: "2022-08-29T09:51:13.298704656Z", - request_url: "http://localhost:4000/self-service/login/browser", - ui: { - action: - "http://localhost:4000/self-service/login?flow=31f9170d-c28d-4f6c-8cf8-54b999a4f172", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "gRBwj0LpxhDugD8sNq1/H6HABvVKMoZepLuLHU+7leIFL33RU4hc1sCYlFKRlsqYPBAG5P84ADrnwLLC3TIy3g==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "default", - attributes: { - name: "identifier", - type: "text", - value: "", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070004, - text: "ID", - type: "info", - }, - }, - }, - { - type: "input", - group: "password", - attributes: { - name: "password", - type: "password", - required: true, - autocomplete: "current-password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070001, - text: "Password", - type: "info", - }, - }, - }, - { - type: "input", - group: "password", - attributes: { - name: "method", - type: "submit", - value: "password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010001, - text: "Sign in", - type: "info", - context: {}, - }, - }, - }, - ], - }, - created_at: "2022-08-29T09:51:13.308547Z", - updated_at: "2022-08-29T09:51:13.308547Z", - refresh: false, - requested_aal: "aal1", - state: "", -} - -export const loginConfirmWithTwoFactor: LoginFlow = { - id: "e4e5b13b-9bd5-4bd1-8a63-1750d9f48647", - organization_id: null, - type: "browser", - expires_at: "2023-09-29T14:34:42.513317131Z", - issued_at: "2023-09-29T13:34:42.513317131Z", - request_url: - "http://localhost:4433/self-service/login/browser?aal=aal2&refresh=true&return_to=&organization=", - ui: { - action: - "http://localhost:4455/self-service/login?flow=e4e5b13b-9bd5-4bd1-8a63-1750d9f48647", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "iCA+nEJQI5nnQe4EumaNq2xbW4/5slDiPSI2Ky33LqqzpzO/hR41Vi3DnJhP7g+wsrfUQCHZmUqNjBeGcLXZ1w==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "default", - attributes: { - name: "identifier", - type: "hidden", - value: "0.lazsin4d3eb@ory.sh", - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_login_trigger", - type: "button", - value: "", - disabled: false, - onclick: - 'window.__oryWebAuthnLogin({"publicKey":{"challenge":"96kZd1xu1hmcjQA7mLiM4PrBTiZrVnTuFsDZwjwzgNk","timeout":120000,"rpId":"localhost","allowCredentials":[{"type":"public-key","id":"NvEfBTQBiQF6iv5plEpA2nC9xyjF_Ok09-2ZmAJ1zs8"}],"userVerification":"discouraged"}})', - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1010008, - text: "Use security key", - type: "info", - }, - }, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_login", - type: "hidden", - value: "", - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "script", - group: "webauthn", - attributes: { - src: "http://localhost:4455/.well-known/ory/webauthn.js", - async: true, - referrerpolicy: "no-referrer", - crossorigin: "anonymous", - integrity: - "sha512-RI23aG5lwYTo7zknGdc++eHUMimUWhkyFzrGid6HkVSdUSjdESPtM3KufXGq/lo4Ut0jI9mDiZeT8tHoSvaHvg==", - type: "text/javascript", - id: "webauthn_script", - nonce: "4ff0f844-fd4a-45cf-9ab0-ddebf9bc7f92", - node_type: "script", - }, - messages: [], - meta: {}, - }, - ], - messages: [ - { - id: 1010003, - text: "Please confirm this action by verifying that it is you.", - type: "info", - }, - ], - }, - created_at: "2023-09-29T15:34:42.517067+02:00", - updated_at: "2023-09-29T15:34:42.517067+02:00", - refresh: true, - requested_aal: "aal2", - state: "choose_method", -} diff --git a/src/test/fixtures/recovery.ts b/src/test/fixtures/recovery.ts deleted file mode 100644 index 91c98fd63..000000000 --- a/src/test/fixtures/recovery.ts +++ /dev/null @@ -1,185 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { - ErrorBrowserLocationChangeRequired, - GenericError, - RecoveryFlow, -} from "@ory/client" - -export const recoverySubmitEmailFixture: RecoveryFlow = { - id: "ccd0d54c-ebc2-408c-ae7e-97d96dae832b", - type: "browser", - expires_at: "2023-03-21T07:55:14.102072Z", - issued_at: "2023-03-21T07:25:14.102072Z", - request_url: "http://localhost:4000/self-service/recovery/browser", - active: "code", - ui: { - action: - "http://localhost:4000/self-service/recovery?flow=ccd0d54c-ebc2-408c-ae7e-97d96dae832b", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "YE0J2zNLlx/GnvYeJ/G6cRrd9BLccwMt+Jn+9bkUWKU0JGh8V/lVZwD5PWBbs33za8UJ9UOJcKpxR2enhW1g3A==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "code", - attributes: { - name: "code", - type: "text", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { label: { id: 1070006, text: "Verify code", type: "info" } }, - }, - { - type: "input", - group: "code", - attributes: { - name: "method", - type: "hidden", - value: "code", - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "code", - attributes: { - name: "method", - type: "submit", - value: "code", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { label: { id: 1070005, text: "Submit", type: "info" } }, - }, - { - type: "input", - group: "code", - attributes: { - name: "email", - type: "submit", - value: "example@example.com", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { label: { id: 1070008, text: "Resend code", type: "info" } }, - }, - ], - messages: [ - { - id: 1060003, - text: "An email containing a recovery code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", - type: "info", - context: {}, - }, - ], - }, - state: "sent_email", -} - -export const recoverySubmitCodeFixture: Omit< - ErrorBrowserLocationChangeRequired, - "error" -> & { - error: GenericError -} = { - error: { - id: "browser_location_change_required", - code: 422, - status: "Unprocessable Entity", - reason: - "In order to complete this flow please redirect the browser to: /ui/settings?flow=22b3ad6f-c50a-4c2f-8c94-a16e9dc20083", - message: "browser location change required", - }, - redirect_browser_to: "/ui/settings?flow=22b3ad6f-c50a-4c2f-8c94-a16e9dc20083", -} - -export const recoveryFixture: RecoveryFlow = { - id: "5c857a5a-6a21-48cb-9acd-da9b81c1ed13", - state: "choose_method", - type: "browser", - request_url: "https://localhost:4000", - ui: { - action: - "https://localhost:4000/self-service/recovery?flow=5c857a5a-6a21-48cb-9acd-da9b81c1ed13", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: "", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "link", - attributes: { - name: "email", - type: "email", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070007, - text: "Email", - type: "info", - }, - }, - }, - { - type: "input", - group: "link", - attributes: { - name: "method", - type: "submit", - value: "link", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070005, - text: "Submit", - type: "info", - }, - }, - }, - ], - }, - issued_at: "2022-08-22T22:02:15.825471Z", - expires_at: "2022-08-22T22:02:15.825471Z", -} diff --git a/src/test/fixtures/registration.ts b/src/test/fixtures/registration.ts deleted file mode 100644 index 67a527e5f..000000000 --- a/src/test/fixtures/registration.ts +++ /dev/null @@ -1,760 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { RegistrationFlow } from "@ory/client" - -export const registrationFixture: RegistrationFlow = { - id: "1c09e31f-fb4c-4eac-8f17-ec7ae01cab97", - type: "browser", - expires_at: "2022-08-29T10:19:47.350346654Z", - issued_at: "2022-08-29T09:49:47.350346654Z", - request_url: "http://localhost:4000/self-service/registration/browser", - ui: { - action: - "http://localhost:4000/self-service/registration?flow=1c09e31f-fb4c-4eac-8f17-ec7ae01cab97", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "uWnnuBgYQAXyeCuZ+c6aBNfj55zPo+0ACTcp+rzrIcQ9VurmCXnaw9xggOde9S+DSjPnjXqpa2RKTBAlLmKG+A==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "password", - attributes: { - name: "traits.email", - type: "email", - required: true, - autocomplete: "email", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070002, - text: "E-Mail", - type: "info", - }, - }, - }, - { - type: "input", - group: "password", - attributes: { - name: "password", - type: "password", - required: true, - autocomplete: "new-password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070001, - text: "Password", - type: "info", - }, - }, - }, - { - type: "input", - group: "password", - attributes: { - name: "traits.firstName", - type: "text", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070002, - text: "First Name", - type: "info", - }, - }, - }, - { - type: "input", - group: "password", - attributes: { - name: "method", - type: "submit", - value: "password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1040001, - text: "Sign up", - type: "info", - context: {}, - }, - }, - }, - ], - }, - state: "", -} - -export const registrationNoneFixture: RegistrationFlow = { - id: "d045d585-0813-45fe-bb91-ef8d44e39dc9", - type: "browser", - expires_at: "2022-08-29T10:16:42.581562361Z", - issued_at: "2022-08-29T09:46:42.581562361Z", - request_url: "http://localhost:4000/self-service/registration/browser", - ui: { - action: - "http://localhost:4000/self-service/registration?flow=d045d585-0813-45fe-bb91-ef8d44e39dc9", - method: "POST", - nodes: [], - }, - state: "", -} - -export const registrationSubmitDuplicateAccountFixture: RegistrationFlow = { - id: "cabee281-f75c-4239-8014-10bbdfdcede4", - type: "browser", - expires_at: "2023-03-20T15:46:54.152799Z", - issued_at: "2023-03-20T15:16:54.152799Z", - request_url: "https://localhost:4000/self-service/registration/browser", - ui: { - action: - "https://localhost:4000/self-service/registration?flow=cabee281-f75c-4239-8014-10bbdfdcede4", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "traits.email", - type: "email", - required: true, - autocomplete: "email", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { label: { id: 1070002, text: "E-Mail", type: "info" } }, - }, - { - type: "input", - group: "default", - attributes: { - name: "traits.tos", - type: "checkbox", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { label: { id: 1070002, text: "Accept Tos", type: "info" } }, - }, - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "vmmwe7f2wCUjNFSqDzb+yDekr0u+FsvPswxHjhCjC4DlqgNkOStsL/nzCfMsxImixjB+t/VpkG/+GcrA0p2yRA==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "oidc", - attributes: { - name: "provider", - type: "submit", - value: "discord", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1040002, - text: "Sign up with Discord", - type: "info", - context: { provider: "Discord" }, - }, - }, - }, - { - type: "input", - group: "oidc", - attributes: { - name: "provider", - type: "submit", - value: "facebook", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1040002, - text: "Sign up with Facebook", - type: "info", - context: { provider: "Facebook" }, - }, - }, - }, - { - type: "input", - group: "oidc", - attributes: { - name: "provider", - type: "submit", - value: "github", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1040002, - text: "Sign up with GitHub", - type: "info", - context: { provider: "GitHub" }, - }, - }, - }, - { - type: "input", - group: "oidc", - attributes: { - name: "provider", - type: "submit", - value: "google", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1040002, - text: "Sign up with Google", - type: "info", - context: { provider: "Google" }, - }, - }, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_register_displayname", - type: "text", - value: "", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1050013, - text: "Name of the security key", - type: "info", - }, - }, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_register", - type: "hidden", - value: "", - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_register_trigger", - type: "button", - value: "", - disabled: false, - onclick: - 'window.__oryWebAuthnRegistration({"publicKey":{"challenge":"/rIbvxaP8Yrcs7Dk4lLvgVFydqZpIq6OOuHjkUJzhho=","rp":{"name":"","id":"example.com"},"user":{"name":"placeholder","icon":"https://via.placeholder.com/128","displayName":"placeholder","id":"DUx1NdG4RyKx41vpmWmYJA=="},"pubKeyCredParams":[{"type":"public-key","alg":-7},{"type":"public-key","alg":-35},{"type":"public-key","alg":-36},{"type":"public-key","alg":-257},{"type":"public-key","alg":-258},{"type":"public-key","alg":-259},{"type":"public-key","alg":-37},{"type":"public-key","alg":-38},{"type":"public-key","alg":-39},{"type":"public-key","alg":-8}],"authenticatorSelection":{"userVerification":"discouraged"},"timeout":60000}})', - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1040004, - text: "Sign up with security key", - type: "info", - }, - }, - }, - { - type: "script", - group: "webauthn", - attributes: { - src: "https://localhost:4000/.well-known/ory/webauthn.js", - async: true, - referrerpolicy: "no-referrer", - crossorigin: "anonymous", - integrity: - "sha512-8GWpMHzEByiefeXeZNxg1k16eFoSoff1mQVa4vUUruBughTU/Yt4WGl7yteMa11UgygiMEbH8Xn1oKxh8PbkiA==", - type: "text/javascript", - id: "webauthn_script", - nonce: "1331af6d-20e0-4775-b5b9-b93d502ff8f7", - node_type: "script", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "password", - attributes: { - name: "password", - type: "password", - required: true, - autocomplete: "new-password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { label: { id: 1070001, text: "Password", type: "info" } }, - }, - { - type: "input", - group: "password", - attributes: { - name: "method", - type: "submit", - value: "password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { id: 1040001, text: "Sign up", type: "info", context: {} }, - }, - }, - ], - messages: [ - { - id: 4000007, - text: "An account with the same identifier (email, phone, username, ...) exists already.", - type: "error", - context: {}, - }, - ], - }, - state: "", -} - -export const registrationPasswordlessFixture: RegistrationFlow = { - id: "e8cc19c1-66f1-4c22-8099-66126a420353", - type: "browser", - expires_at: "2022-08-29T10:12:12.731545764Z", - issued_at: "2022-08-29T09:42:12.731545764Z", - request_url: "http://localhost:4000/self-service/registration/browser", - ui: { - action: - "http://localhost:4000/self-service/registration?flow=e8cc19c1-66f1-4c22-8099-66126a420353", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "traits.email", - type: "email", - required: true, - autocomplete: "email", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070002, - text: "E-Mail", - type: "info", - }, - }, - }, - { - type: "input", - group: "default", - attributes: { - name: "traits.firstName", - type: "text", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070002, - text: "First Name", - type: "info", - }, - }, - }, - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "h37vdPr40Oc/jJJuh7Hi97MFYkITgp5eU51UP34qG3kDQeIq65lKIRGUORAgildwLtViU6aIGDoQ5m3g7KO8RQ==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_register_displayname", - type: "text", - value: "", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1050013, - text: "Name of the security key", - type: "info", - }, - }, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_register", - type: "hidden", - value: "", - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_register_trigger", - type: "button", - value: "", - disabled: false, - onclick: - 'window.__oryWebAuthnRegistration({"publicKey":{"challenge":"","rp":{"name":"Test","id":"localhost:4000"},"user":{"name":"placeholder","icon":"https://via.placeholder.com/128","displayName":"placeholder","id":"xY1S9EHMQyGB3+MTZRt5jA=="},"pubKeyCredParams":[{"type":"public-key","alg":-7},{"type":"public-key","alg":-35},{"type":"public-key","alg":-36},{"type":"public-key","alg":-257},{"type":"public-key","alg":-258},{"type":"public-key","alg":-259},{"type":"public-key","alg":-37},{"type":"public-key","alg":-38},{"type":"public-key","alg":-39},{"type":"public-key","alg":-8}],"authenticatorSelection":{"userVerification":"discouraged"},"timeout":60000}})', - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1040004, - text: "Sign up with security key", - type: "info", - }, - }, - }, - { - type: "script", - group: "webauthn", - attributes: { - src: "http://localhost:4000/.well-known/ory/webauthn.js", - async: true, - referrerpolicy: "no-referrer", - crossorigin: "anonymous", - integrity: "", - type: "text/javascript", - id: "webauthn_script", - nonce: "378c397a-1803-4d04-9dfb-33e575bd6942", - node_type: "script", - }, - messages: [], - meta: {}, - }, - ], - }, - state: "", -} - -export const registrationCodeFixture: RegistrationFlow = { - id: "1c09e31f-fb4c-4eac-8f17-ec7ae01cab97", - type: "browser", - expires_at: "2022-08-29T10:19:47.350346654Z", - issued_at: "2022-08-29T09:49:47.350346654Z", - request_url: "http://localhost:4000/self-service/registration/browser", - ui: { - action: - "http://localhost:4000/self-service/registration?flow=1c09e31f-fb4c-4eac-8f17-ec7ae01cab97", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "uWnnuBgYQAXyeCuZ+c6aBNfj55zPo+0ACTcp+rzrIcQ9VurmCXnaw9xggOde9S+DSjPnjXqpa2RKTBAlLmKG+A==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "default", - attributes: { - name: "traits.email", - type: "email", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070002, - text: "E-Mail", - type: "info", - }, - }, - }, - { - type: "input", - group: "default", - attributes: { - name: "traits.firstName", - type: "text", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070002, - text: "First Name", - type: "info", - }, - }, - }, - { - type: "input", - group: "code", - attributes: { - name: "method", - type: "submit", - value: "code", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1040006, - text: "Sign up with code", - type: "info", - }, - }, - }, - ], - }, - state: "choose_method", -} - -export const registrationCodeStepTwoFixture: RegistrationFlow = { - id: "28554fd0-cbf5-4ff3-a1f7-c033e5ad459c", - type: "browser", - expires_at: "2023-09-28T06:38:36.109217Z", - issued_at: "2023-09-28T06:08:36.109217Z", - request_url: - "https://auth.terblanche.eu/self-service/registration/browser?return_to=", - active: "code", - ui: { - action: - "https://auth.terblanche.eu/self-service/registration?flow=28554fd0-cbf5-4ff3-a1f7-c033e5ad459c", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "traits.email", - type: "hidden", - value: "alano@ory.sh", - required: true, - autocomplete: "email", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070002, - text: "E-Mail", - type: "info", - context: { - title: "E-Mail", - }, - }, - }, - }, - { - type: "input", - group: "default", - attributes: { - name: "traits.tos", - type: "hidden", - value: true, - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070002, - text: "Accept Tos", - type: "info", - context: { - title: "Accept Tos", - }, - }, - }, - }, - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "RWrc7sJjlrv2xAdtlvlFmRg/vExgYOiXjdReeIYQ8uyptoPfF5vCqPdBmKW76qq6ZE6YjINL5yRPNO4ycAAHFQ==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "code", - attributes: { - name: "method", - type: "hidden", - value: "code", - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "code", - attributes: { - name: "code", - type: "text", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070012, - text: "Registration code", - type: "info", - }, - }, - }, - { - type: "input", - group: "code", - attributes: { - name: "method", - type: "submit", - value: "code", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070005, - text: "Submit", - type: "info", - }, - }, - }, - { - type: "input", - group: "code", - attributes: { - name: "resend", - type: "submit", - value: "code", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070008, - text: "Resend code", - type: "info", - }, - }, - }, - ], - messages: [ - { - id: 1040005, - text: "An email containing a code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and retry the registration.", - type: "info", - }, - ], - }, - state: "sent_email", -} diff --git a/src/test/fixtures/settings.ts b/src/test/fixtures/settings.ts deleted file mode 100644 index ed3163c5e..000000000 --- a/src/test/fixtures/settings.ts +++ /dev/null @@ -1,317 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { SettingsFlow } from "@ory/client" - -export const settingsFixture: SettingsFlow = { - id: "211d1b28-6144-4b0e-9001-8f73e18c4a82", - type: "browser", - expires_at: "2022-08-29T14:09:37.514116692Z", - issued_at: "2022-08-29T13:39:37.514116692Z", - request_url: "http://localhost:4000/self-service/settings/browser", - ui: { - action: - "http://localhost:4000/self-service/settings?flow=211d1b28-6144-4b0e-9001-8f73e18c4a82", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "CA1DBzOMYjlLmjKDQ66PUSAPF+9nG+umyOeKvVeM5CLNlXF068/V9nEXNzk6KfXVsPYt4+Y5acxUZwPJW8bzDQ==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "profile", - attributes: { - name: "traits.email", - type: "email", - value: "test@test.com", - required: true, - autocomplete: "email", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070002, - text: "E-Mail", - type: "info", - }, - }, - }, - { - type: "input", - group: "profile", - attributes: { - name: "method", - type: "submit", - value: "profile", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070003, - text: "Save", - type: "info", - }, - }, - }, - { - type: "input", - group: "password", - attributes: { - name: "password", - type: "password", - required: true, - autocomplete: "new-password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070001, - text: "Password", - type: "info", - }, - }, - }, - { - type: "input", - group: "password", - attributes: { - name: "method", - type: "submit", - value: "password", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070003, - text: "Save", - type: "info", - }, - }, - }, - { - type: "input", - group: "lookup_secret", - attributes: { - name: "lookup_secret_regenerate", - type: "submit", - value: "true", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1050008, - text: "Generate new backup recovery codes", - type: "info", - }, - }, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_register_displayname", - type: "text", - value: "", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1050013, - text: "Name of the security key", - type: "info", - }, - }, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_register", - type: "hidden", - value: "", - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "webauthn", - attributes: { - name: "webauthn_register_trigger", - type: "button", - value: "", - disabled: false, - onclick: - 'window.__oryWebAuthnRegistration({"publicKey":{"challenge":"","rp":{"name":"Test","id":"test.com"},"user":{"name":"placeholder","icon":"https://via.placeholder.com/128","displayName":"placeholder","id":""},"pubKeyCredParams":[{"type":"public-key","alg":-7},{"type":"public-key","alg":-35},{"type":"public-key","alg":-36},{"type":"public-key","alg":-257},{"type":"public-key","alg":-258},{"type":"public-key","alg":-259},{"type":"public-key","alg":-37},{"type":"public-key","alg":-38},{"type":"public-key","alg":-39},{"type":"public-key","alg":-8}],"authenticatorSelection":{"userVerification":"discouraged"},"timeout":60000}})', - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1050012, - text: "Add security key", - type: "info", - }, - }, - }, - { - type: "script", - group: "webauthn", - attributes: { - src: "http://localhost:4000/.well-known/ory/webauthn.js", - async: true, - referrerpolicy: "no-referrer", - crossorigin: "anonymous", - integrity: - "sha512-E3ctShTQEYTkfWrjztRCbP77lN7L0jJC2IOd6j8vqUKslvqhX/Ho3QxlQJIeTI78krzAWUQlDXd9JQ0PZlKhzQ==", - type: "text/javascript", - id: "webauthn_script", - nonce: "98844887-ab03-4551-841a-693c5ac802ca", - node_type: "script", - }, - messages: [], - meta: {}, - }, - { - type: "img", - group: "totp", - attributes: { - src: "data:image/png;base64,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", - id: "totp_qr", - width: 256, - height: 256, - node_type: "img", - }, - messages: [], - meta: { - label: { - id: 1050005, - text: "Authenticator app QR code", - type: "info", - }, - }, - }, - { - type: "text", - group: "totp", - attributes: { - text: { - id: 1050006, - text: "AH4EGV22CTLLZ57BJ4CAAICBB5Z3RQNB", - type: "info", - context: { - secret: "AH4EGV22CTLLZ57BJ4CAAICBB5Z3RQNB", - }, - }, - id: "totp_secret_key", - node_type: "text", - }, - messages: [], - meta: { - label: { - id: 1050017, - text: "This is your authenticator app secret. Use it if you can not scan the QR code.", - type: "info", - }, - }, - }, - { - type: "input", - group: "totp", - attributes: { - name: "totp_code", - type: "text", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070006, - text: "Verify code", - type: "info", - }, - }, - }, - { - type: "input", - group: "totp", - attributes: { - name: "method", - type: "submit", - value: "totp", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070003, - text: "Save", - type: "info", - }, - }, - }, - ], - }, - identity: { - id: "6ef63ac1-0f07-406f-87ef-ebbc87e5a3f9", - schema_id: "preset://email", - schema_url: "http://localhost:4000/schemas/cHJlc2V0Oi8vZW1haWw", - state: "active", - state_changed_at: "2022-02-10T13:57:53.668318Z", - traits: { - email: "test@test.com", - }, - verifiable_addresses: [ - { - id: "3b0f2966-b5d7-4273-b8a0-b07b96c7591b", - value: "test@test.com", - verified: false, - via: "email", - status: "sent", - created_at: "2022-02-10T13:57:53.705359Z", - updated_at: "2022-02-10T13:57:53.705359Z", - }, - ], - recovery_addresses: [ - { - id: "02b54483-8de9-4b7f-ba1d-ebf8a41e74b7", - value: "test@test.com", - via: "email", - created_at: "2022-02-10T13:57:53.712317Z", - updated_at: "2022-02-10T13:57:53.712317Z", - }, - ], - created_at: "2022-02-10T13:57:53.676513Z", - updated_at: "2022-02-10T13:57:53.676513Z", - }, - state: "show_form", -} diff --git a/src/test/fixtures/verification.ts b/src/test/fixtures/verification.ts deleted file mode 100644 index f4381615c..000000000 --- a/src/test/fixtures/verification.ts +++ /dev/null @@ -1,214 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { VerificationFlow } from "@ory/client" - -export const verificationSubmitEmailFixture: VerificationFlow = { - id: "62032417-d78a-4282-b735-79e4f471df0e", - type: "browser", - expires_at: "2023-03-16T13:37:46.821552Z", - issued_at: "2023-03-16T13:07:46.821552Z", - request_url: "https://localhost:4000/self-service/verification/browser", - active: "code", - ui: { - action: - "https://localhost:4000/self-service/verification?flow=62032417-d78a-4282-b735-79e4f471df0e", - method: "POST", - nodes: [ - { - type: "input", - group: "code", - attributes: { - name: "code", - type: "text", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { label: { id: 1070006, text: "Verify code", type: "info" } }, - }, - { - type: "input", - group: "code", - attributes: { - name: "method", - type: "hidden", - value: "code", - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "code", - attributes: { - name: "method", - type: "submit", - value: "code", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { label: { id: 1070005, text: "Submit", type: "info" } }, - }, - { - type: "input", - group: "code", - attributes: { - name: "email", - type: "submit", - value: "sdfwetrq2r@sdfasdfwqef", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { label: { id: 1070008, text: "Resend code", type: "info" } }, - }, - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "+Qx9HfyNOqHx1gHU9uWMxfhS/J0x9NzW2qq1cq1+DBocmgtbA1jZx9LYUMtIbUIwo+vScGfZ8muE62AeCSTDTg==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - ], - messages: [ - { - id: 1080003, - text: "An email containing a verification code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", - type: "info", - context: {}, - }, - ], - }, - state: "sent_email", -} - -export const verificationSubmitCodeFixture: VerificationFlow = { - id: "b800d5a7-9199-43a2-a8c6-068c1caac0cd", - type: "browser", - expires_at: "2023-03-16T14:54:40.201568Z", - issued_at: "2023-03-16T14:24:40.201568Z", - request_url: "https://localhost:4000/self-service/verification/browser", - active: "code", - ui: { - action: "https://localhost:4000/", - method: "GET", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: - "Ql2fapJ/hpjARJeaMH6tQaCKJww9E5xxjIAhHKMDw+2ny+ksbapl/uNKxoWO9mO0+zMJ4Ws+sszSwfRwB1kMuQ==", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "a", - group: "code", - attributes: { - href: "https://localhost:4000/", - title: { id: 1070009, text: "Continue", type: "info" }, - id: "continue", - node_type: "a", - }, - messages: [], - meta: { label: { id: 1070009, text: "Continue", type: "info" } }, - }, - ], - messages: [ - { - id: 1080002, - text: "You successfully verified your email address.", - type: "success", - }, - ], - }, - state: "passed_challenge", -} - -export const verificationFixture: VerificationFlow = { - id: "5c857a5a-6a21-48cb-9acd-da9b81c1ed13", - state: "choose_method", - type: "browser", - request_url: "https://localhost:4000", - ui: { - action: - "https://localhost:4000/self-service/verification?flow=5c857a5a-6a21-48cb-9acd-da9b81c1ed13", - method: "POST", - nodes: [ - { - type: "input", - group: "default", - attributes: { - name: "csrf_token", - type: "hidden", - value: "", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: {}, - }, - { - type: "input", - group: "link", - attributes: { - name: "email", - type: "email", - required: true, - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070007, - text: "Email", - type: "info", - }, - }, - }, - { - type: "input", - group: "link", - attributes: { - name: "method", - type: "submit", - value: "link", - disabled: false, - node_type: "input", - }, - messages: [], - meta: { - label: { - id: 1070005, - text: "Submit", - type: "info", - }, - }, - }, - ], - }, - issued_at: "2022-08-22T22:02:15.825471Z", - expires_at: "2022-08-22T22:02:15.825471Z", -} diff --git a/src/test/index.ts b/src/test/index.ts deleted file mode 100644 index 64ec75336..000000000 --- a/src/test/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -export * from "./error-messages" -export * from "./fixtures" -export * from "./mock" -export * from "./models" -export * from "./playwright-fixture" -export * from "./traits" -export * from "./types" -export * from "./utils" diff --git a/src/test/mock/index.ts b/src/test/mock/index.ts deleted file mode 100644 index 4a8eb73aa..000000000 --- a/src/test/mock/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -export * from "./login" -export * from "./recovery" -export * from "./registration" -export * from "./utils" -export * from "./verification" diff --git a/src/test/mock/login.ts b/src/test/mock/login.ts deleted file mode 100644 index cde5024ed..000000000 --- a/src/test/mock/login.ts +++ /dev/null @@ -1,109 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { expect, test } from "@playwright/test" -import { loginSubmitIncorrectCredentialsFixture } from "../fixtures" -import { LoginPage } from "../models/LoginPage" -import { UUIDv4 } from "../utils" -import { defaultMockFlowResponse } from "./utils" - -const setupLoginFlow = async (loginPage: LoginPage) => { - await test.step("mock the whoami response to be logged out", async () => { - await loginPage.registerMockWhoamiResponse({ - state: "session_forbidden", - }) - }) - - await test.step("mock the create login response", async () => { - // mock the Ory Network service - await loginPage.registerMockCreateResponse({}) - - // create a network intercept for the login response - const createRequest = loginPage.interceptCreateResponse() - - // navigate to the login page - // this should trigger the create request - await loginPage.goto() - - // intercept the create response - const createResponse = await createRequest - expect(createResponse.status()).toBe(200) - - // validate that the form fields are present - await loginPage.expectTraitFields() - }) - - await test.step("mock the fetch login flow", async () => { - // mock the Ory Network service - await loginPage.registerMockFetchResponse({}) - - const fetchRequest = loginPage.interceptFetchResponse() - - // reload the page to trigger the fetch request since the flow id should be in the url - await loginPage.page.goto( - new URL("?flow=" + UUIDv4(), loginPage.page.url()).href, - ) - - const fetchResponse = await fetchRequest - expect(fetchResponse.status()).toBe(200) - }) -} - -export const LoginMocks = { - // LoginSuccessTest is a mock for a successful login flow - // it mocks the following requests: - // - whoami response to be logged out - // - create login response - // - fetch login flow - // - submit login response - // - whoami response to be logged in - LoginSuccessTest: async (loginPage: LoginPage) => { - await setupLoginFlow(loginPage) - - await test.step("mock the submit login response", async () => { - // mock the Ory Network service - await loginPage.registerMockSubmitResponse({}) - - const submitRequest = loginPage.interceptSubmitResponse() - await loginPage.submitForm() - - const submitResponse = await submitRequest - expect(submitResponse.status()).toBe(200) - }) - - await test.step("mock the whoami response to be logged in", async () => { - // register an active session - await loginPage.registerMockWhoamiResponse({ - state: "session_active", - }) - }) - }, - // LoginInvalidLoginCredentialsTest is a mock for a login flow with invalid credentials - // it mocks the following requests: - // - whoami response to be logged out - // - create login response - // - fetch login flow - // - submit login flow with error response (invalid credentials) - LoginInvalidLoginCredentialsTest: async (loginPage: LoginPage) => { - await setupLoginFlow(loginPage) - - await test.step("mock the submit login response", async () => { - // mock the Ory Network service - await loginPage.registerMockSubmitResponse({ - response: { - ...defaultMockFlowResponse, - status: 400, - body: loginSubmitIncorrectCredentialsFixture, - }, - }) - - const submitRequest = loginPage.interceptSubmitResponse() - await loginPage.submitForm() - - const submitResponse = await submitRequest - expect(submitResponse.status()).toBe(400) - - await loginPage.expectFlowMessage("provided credentials are invalid") - }) - }, -} diff --git a/src/test/mock/recovery.ts b/src/test/mock/recovery.ts deleted file mode 100644 index 7c7d827ea..000000000 --- a/src/test/mock/recovery.ts +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { expect, test } from "@playwright/test" -import { RecoveryPage } from "../models/RecoveryPage" -import { defaultRecoveryTraitsWithCode } from "../traits" -import { UUIDv4 } from "../utils" -import { ErrorBrowserLocationChangeRequired } from "@ory/client" - -export const RecoveryMocks = { - // RecoverySuccessTest is a mock for a successful recovery `code` flow - // it mocks the following requests: - // - whoami response to be logged out - // - create recovery response - // - fetch recovery flow - // - submit email recovery response - // - submit code reocvery response - // - whoami response to be logged in - RecoverySuccessTest: async (recoveryPage: RecoveryPage) => { - await test.step("mock the whoami response to be logged in", async () => { - await recoveryPage.registerMockWhoamiResponse({ - state: "session_forbidden", - }) - }) - - await test.step("mock the create recovery response", async () => { - // Mock Ory Network service - await recoveryPage.registerMockCreateResponse({}) - - // Create a network intercept for the recovery response - const createRequest = recoveryPage.interceptCreateResponse() - await recoveryPage.goto() - - // Intercept the create response - const createResponse = await createRequest - expect(createResponse.status()).toBe(200) - - await expect(recoveryPage.page).toHaveScreenshot() - // Validate that the form fields are present - await recoveryPage.expectTraitFields() - }) - - await test.step("mock the fetch recovery flow", async () => { - // Mock Ory Network service - await recoveryPage.registerMockFetchResponse({}) - const fetchRequest = recoveryPage.interceptFetchResponse() - - // Reload the page to trigger the fetch request since the flow id should be in the url - await recoveryPage.page.goto( - new URL("?flow=" + UUIDv4(), recoveryPage.page.url()).href, - ) - - const fetchResponse = await fetchRequest - expect(fetchResponse.status()).toBe(200) - }) - - await test.step("submit the recovery form with a valid email", async () => { - // Mock Ory Network service - await recoveryPage.registerMockSubmitResponse({ - state: "recovery_sent_email", - }) - const submitRequest = recoveryPage.interceptSubmitResponse() - - await recoveryPage.locator - .locator("input[name='email']") - .fill(recoveryPage.traits.email.value) - await recoveryPage.submitForm() - - const submitResponse = await submitRequest - expect(submitResponse.status()).toBe(200) - - await expect(recoveryPage.page).toHaveScreenshot() - }) - - await test.step("submit the recovery form again with a valid code", async () => { - // Mock Ory Network service - await recoveryPage.registerMockSubmitResponse({ - state: "recovery_passed_challenge", - }) - await recoveryPage.registerMockWhoamiResponse({ - state: "session_active", - }) - - const submitRequest = recoveryPage.interceptSubmitResponse() - - // check that the form fields expect a code input field - await recoveryPage.expectTraitFields(defaultRecoveryTraitsWithCode) - - await recoveryPage.locator - .locator("input[name='code']") - .fill(defaultRecoveryTraitsWithCode.code.value) - await recoveryPage.submitForm("[name='method'][type='submit']") - - const submitResponse = await submitRequest - expect(submitResponse.status()).toBe(422) - const submitResponseBody = - (await submitResponse.json()) as ErrorBrowserLocationChangeRequired - expect(submitResponseBody).toHaveProperty("redirect_browser_to") - }) - }, -} diff --git a/src/test/mock/registration.ts b/src/test/mock/registration.ts deleted file mode 100644 index 2dea95262..000000000 --- a/src/test/mock/registration.ts +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { expect, test } from "@playwright/test" -import { registrationSubmitDuplicateAccountFixture } from "../fixtures" -import { RegistrationPage } from "../models" -import { UUIDv4 } from "../utils" -import { defaultMockFlowResponse } from "./utils" - -const setupRegistrationFlow = async (registrationPage: RegistrationPage) => { - await test.step("mock the whoami response to be logged in", async () => { - await registrationPage.registerMockWhoamiResponse({ - state: "session_forbidden", - }) - }) - - await test.step("mock the create registration response", async () => { - // Mock the Ory Network service - await registrationPage.registerMockCreateResponse({}) - - // Create a network intercept for the registration response - const createRequest = registrationPage.interceptCreateResponse() - - // Navigate to the registration page - // This should trigger the create request - await registrationPage.goto() - - // Intercept the create response - const createResponse = await createRequest - expect(createResponse.status()).toBe(200) - - // Validate that the form fields are present - await registrationPage.expectTraitFields() - }) - - await test.step("mock the fetch registration flow", async () => { - // Mock the Ory Network service - await registrationPage.registerMockFetchResponse({}) - const fetchRequest = registrationPage.interceptFetchResponse() - - // Reload the page to trigger the fetch request since the flow id should be in the url - await registrationPage.page.goto( - new URL("?flow=" + UUIDv4(), registrationPage.page.url()).href, - ) - - const fetchResponse = await fetchRequest - expect(fetchResponse.status()).toBe(200) - }) -} - -export const RegistrationMocks = { - // RegistrationSuccessTest is a mock for a successful registration flow - // it mocks the following requests: - // - whoami response to be logged out - // - create registration response - // - fetch registration flow - // - submit registration response - // - whoami response to be logged in - RegistrationSuccessTest: async (registrationPage: RegistrationPage) => { - await setupRegistrationFlow(registrationPage) - - await test.step("mock the submit registration response", async () => { - // Mock the Ory Network service - await registrationPage.registerMockSubmitResponse({}) - const submitRequest = registrationPage.interceptSubmitResponse() - await registrationPage.submitForm() - - const submitResponse = await submitRequest - expect(submitResponse.status()).toBe(200) - }) - - await test.step("mock the whoami response to be logged in", async () => { - // register an active session - await registrationPage.registerMockWhoamiResponse({ - state: "session_active", - }) - }) - }, - // RegistrationDuplicateAccountTest is a mock for a registration flow with a duplicate account - // it mocks the following requests: - // - whoami response to be logged out - // - create registration response - // - fetch registration flow - // - submit registration error response (duplicate account) - RegistrationDuplicateAccountTest: async ( - registrationPage: RegistrationPage, - ) => { - await setupRegistrationFlow(registrationPage) - - await test.step("mock the submit registration response", async () => { - // Mock the Ory Network service - await registrationPage.registerMockSubmitResponse({ - response: { - ...defaultMockFlowResponse, - status: 400, - body: registrationSubmitDuplicateAccountFixture, - }, - }) - - const submitRequest = registrationPage.interceptSubmitResponse() - await registrationPage.submitForm() - - const submitResponse = await submitRequest - expect(submitResponse.status()).toBe(400) - - await registrationPage.expectFlowMessage( - "An account with the same identifier", - ) - }) - }, -} diff --git a/src/test/mock/utils.ts b/src/test/mock/utils.ts deleted file mode 100644 index 38b9f1870..000000000 --- a/src/test/mock/utils.ts +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { MockFlowResponse } from "../types" - -// defaultMockFlowResponse is the default response for any flow request -// it is used to mock the Ory Network service -// the default response is a 200 with an empty body and a content type of application/json -export const defaultMockFlowResponse: MockFlowResponse = { - status: 200, - body: null, - headers: { - "Content-Type": "application/json", - }, -} diff --git a/src/test/mock/verification.ts b/src/test/mock/verification.ts deleted file mode 100644 index e80600630..000000000 --- a/src/test/mock/verification.ts +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { expect, test } from "@playwright/test" -import { VerificationPage } from "../models" -import { defaultVerificationTraitsWithCode } from "../traits" -import { UUIDv4 } from "../utils" - -export const VerificationMocks = { - // VerificationSuccessTest is a mock for a successful verification flow - // it mocks the following requests: - // - whoami response to be logged in - // - create verification response - // - fetch verification flow - // - submit email verification response - // - submit verification code response - VerificationSuccessTest: async (verificationPage: VerificationPage) => { - await test.step("mock the whoami response to be logged in", async () => { - await verificationPage.registerMockWhoamiResponse({ - state: "session_active", - }) - }) - - await test.step("mock the create verification response", async () => { - // Mock the Ory Network service - await verificationPage.registerMockCreateResponse({}) - - // Create a network intercept for the registration response - const createRequest = verificationPage.interceptCreateResponse() - - // Navigate to the registration page - // This should trigger the create request - await verificationPage.goto() - // Intercept the create response - const createResponse = await createRequest - expect(createResponse.status()).toBe(200) - // Validate that the form fields are present - await verificationPage.expectTraitFields() - - await expect(verificationPage.page).toHaveScreenshot() - }) - - await test.step("mock the fetch verification flow", async () => { - // Mock the Ory Network service - await verificationPage.registerMockFetchResponse({}) - const fetchRequest = verificationPage.interceptFetchResponse() - - // Reload the page to trigger the fetch request since the flow id should be in the url - await verificationPage.page.goto( - new URL("?flow=" + UUIDv4(), verificationPage.page.url()).href, - ) - - const fetchResponse = await fetchRequest - expect(fetchResponse.status()).toBe(200) - }) - - await test.step("mock the submit email verification response", async () => { - // mock the Ory Network service - await verificationPage.registerMockSubmitResponse({ - state: "verification_sent_email", - }) - - const submitRequest = verificationPage.interceptSubmitResponse() - await verificationPage.locator - .locator("input[name='email']") - .fill(verificationPage.traits.email.value) - await verificationPage.submitForm() - - const submitResponse = await submitRequest - expect(submitResponse.status()).toBe(200) - - // Validate that the form fields are present - await verificationPage.expectTraitFields({ - code: { - group: "code", - label: "Enter verification code", - type: "input", - value: "", - node_type: "input", - required: true, - }, - }) - - await expect(verificationPage.page).toHaveScreenshot() - }) - - await test.step("mock the submit verification code response", async () => { - // mock the Ory Network service - await verificationPage.registerMockSubmitResponse({ - state: "verification_passed_challenge", - }) - - const submitRequest = verificationPage.interceptSubmitResponse() - // check that the form fields expect a code input field - await verificationPage.expectTraitFields( - defaultVerificationTraitsWithCode, - ) - await verificationPage.locator - .locator("input[name='code']") - .fill(defaultVerificationTraitsWithCode.code.value) - await verificationPage.submitForm("[name='method'][type='submit']") - - const submitResponse = await submitRequest - expect(submitResponse.status()).toBe(200) - - await verificationPage.expectFlowMessage( - "You successfully verified your email address", - ) - }) - }, -} diff --git a/src/test/models/AuthPage.ts b/src/test/models/AuthPage.ts deleted file mode 100644 index e4720c922..000000000 --- a/src/test/models/AuthPage.ts +++ /dev/null @@ -1,193 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { Session, UiNode } from "@ory/client" -import { expect, Locator, Response } from "@playwright/test" -import { merge } from "lodash" -import { sessionForbiddenFixture } from "../fixtures" -import { MockFlow, MockFlowResponse, Traits } from "../types" -import { inputNodesToRecord, isUiNode, RandomEmail, UUIDv4 } from "../utils" - -export class AuthPage { - readonly locator: Locator - readonly traits: Record - readonly formFields: Record = {} - readonly flowMessage: Locator - - constructor(traits: Record | UiNode[], locator: Locator) { - this.locator = locator - this.traits = isUiNode(traits) ? inputNodesToRecord(traits) : traits - - for (const key in this.traits) { - this.formFields[key] = locator.locator( - `input[name="${this.traits[key].name ?? key}"]`, - ) - } - - // a wildcard selector for any ui/message node in the flow - // this is used to check for error messages - // since there is no way to check for a specific message - // inside of this model, we use a wildcard selector - // this can of course be chained with other selectors to be more specific - // this.flowmessage.locator("*[data-testid*='ui/message/10000']") - this.flowMessage = locator.locator("*[data-testid*='ui/message/']") - } - - async expectTraitFields(traits?: Record) { - const t = traits ?? this.traits - for (const key in t) { - if (t[key].type === "hidden") { - await expect(this.locator.locator(`*[name="${key}"]`)).toBeAttached() - } else { - await expect( - this.locator.locator( - `*[name="${t[key].name ?? key}"][type="${t[key].type}"]`, - ), - ).toBeVisible() - } - } - } - - async expectTraitLabels() { - for (const key in this.traits) { - await expect(this.locator).toContainText(this.traits[key].label) - } - } - - async submitForm(buttonLocator?: string) { - for (const key in this.traits) { - if (this.traits[key].type === "input") { - await this.formFields[key].fill(this.traits[key].value) - } else if (this.traits[key].type === "checkbox") { - await this.formFields[key].click() - } - } - await this.locator.locator(buttonLocator ?? '[type="submit"]').click() - } - - async expectFlowMessage(text: string) { - await expect(this.flowMessage).toContainText(text) - } - - sessionForbiddenResponse(): MockFlowResponse { - return { - status: 403, - headers: { - "Content-Type": "application/json", - }, - body: sessionForbiddenFixture, - } - } - - sessionSuccessResponse(): MockFlowResponse { - return { - status: 200, - headers: { - "Content-Type": "application/json", - }, - body: { - active: true, - id: UUIDv4(), - identity: { - id: UUIDv4(), - traits: this.traits, - schema_id: "default", - schema_url: `/schemas/default`, - created_at: new Date().toISOString(), - updated_at: new Date().toISOString(), - recovery_addresses: [ - { - id: UUIDv4(), - value: RandomEmail(), - via: "email", - created_at: new Date().toISOString(), - updated_at: new Date().toISOString(), - }, - ], - verifiable_addresses: [ - { - id: UUIDv4(), - value: RandomEmail(), - via: "email", - status: "verified", - verified: true, - created_at: new Date().toISOString(), - updated_at: new Date().toISOString(), - verified_at: new Date().toISOString(), - }, - ], - }, - } as Session, - } - } - - async registerMockCreateResponse({ flow, response }: MockFlow) { - return this.locator - .page() - .route(`**/self-service/${flow}/browser**`, async (route) => { - await route.fulfill({ - ...response, - body: JSON.stringify(response?.body), - }) - }) - } - - async registerMockFetchResponse({ flow, response }: MockFlow) { - return this.locator - .page() - .route(`**/self-service/${flow}/flows**`, async (route) => { - await route.fulfill({ - ...response, - body: JSON.stringify(response?.body), - }) - }) - } - - async registerMockSubmitResponse({ flow, response }: MockFlow) { - return this.locator - .page() - .route(`**/self-service/${flow}?flow**`, async (route) => { - await route.fulfill({ - ...response, - body: JSON.stringify(response?.body), - }) - }) - } - - async registerMockWhoamiResponse({ - response, - state, - }: Omit) { - !state && (state = "session_forbidden") - return this.locator.page().route("**/sessions/whoami", async (route) => { - await route.fulfill({ - ...merge( - {}, - state === "session_active" - ? this.sessionSuccessResponse() - : this.sessionForbiddenResponse(), - response, - ), - body: JSON.stringify(response?.body), - }) - }) - } - - async interceptCreateResponse(flow: string): Promise { - return this.locator - .page() - .waitForResponse(`**/self-service/${flow}/browser**`) - } - - async interceptFetchResponse(flow: string): Promise { - return this.locator - .page() - .waitForResponse(`**/self-service/${flow}/flows?id=**`) - } - - async interceptSubmitResponse(flow: string): Promise { - return this.locator - .page() - .waitForResponse(`**/self-service/${flow}?flow=**`) - } -} diff --git a/src/test/models/ConsentPage.ts b/src/test/models/ConsentPage.ts deleted file mode 100644 index 4bd1633a1..000000000 --- a/src/test/models/ConsentPage.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { expect, Locator } from "@playwright/test" - -export class ConsentPage { - readonly locator: Locator - readonly formFields: Record = {} - - constructor(locator: Locator) { - this.locator = locator - } - - async expectScopeFields(scopes: string[]) { - for (const scope of scopes) { - await expect( - this.locator.locator(`input[type="checkbox"][value="${scope}"]`), - ).toBeVisible() - } - } - - async expectUris(uris: string[]) { - for (const uri of uris) { - await expect(this.locator.locator(`a[href="${uri}"]`)).toBeVisible() - } - } - - async expectAllowSubmit() { - await expect( - this.locator.locator('button[value="accept"][type="submit"]'), - ).toBeVisible() - } - - async submitForm() { - await this.locator.locator('[type="submit"]').click() - } -} diff --git a/src/test/models/LoginPage.ts b/src/test/models/LoginPage.ts deleted file mode 100644 index 230ea670b..000000000 --- a/src/test/models/LoginPage.ts +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { LoginFlow, Session } from "@ory/client" -import { Page, Response } from "@playwright/test" -import { merge } from "lodash" -import { defaultLoginTraits } from "../traits" -import { MockFlow, MockFlowResponse, Traits } from "../types" -import { traitsToNodes, UUIDv4 } from "../utils" -import { AuthPage } from "./AuthPage" - -export class LoginPage extends AuthPage { - readonly pageUrl: URL - readonly oryProjectUrl: URL - readonly page: Page - - readonly loginActionPath = "/self-service/login?flow=" - - constructor( - page: Page, - baseUrl: string, - oryProjectUrl: string, - traits?: Record, - path?: string, - ) { - super(traits ?? defaultLoginTraits, page.getByTestId("login-auth-card")) - this.page = page - this.pageUrl = new URL(path ?? "/login", baseUrl) - this.oryProjectUrl = new URL(oryProjectUrl) - } - - async goto() { - await this.page.goto(this.pageUrl.href) - } - - getLoginFlowResponse(): MockFlowResponse { - return { - body: { - id: UUIDv4(), - expires_at: new Date().toISOString(), - issued_at: new Date().toISOString(), - type: "browser", - request_url: this.pageUrl.href, - refresh: false, - requested_aal: "aal1", - updated_at: new Date().toISOString(), - ui: { - action: new URL(this.loginActionPath, this.oryProjectUrl).href, - method: "POST", - nodes: traitsToNodes(this.traits, true), - }, - state: "choose_method", - } as LoginFlow, - headers: { - "Content-Type": "application/json", - }, - status: 200, - } - } - - async registerMockCreateResponse({ - response, - }: Omit): Promise { - return super.registerMockCreateResponse({ - flow: "login", - response: merge({}, this.getLoginFlowResponse(), response), - }) - } - - async registerMockFetchResponse({ - response, - }: Omit): Promise { - return super.registerMockFetchResponse({ - flow: "login", - response: merge({}, this.getLoginFlowResponse(), response), - }) - } - - async registerMockSubmitResponse({ - response, - }: Omit): Promise { - return super.registerMockSubmitResponse({ - flow: "login", - response: response ?? { - body: { - id: UUIDv4(), - identity: { - id: UUIDv4(), - traits: this.traits, - schema_id: "default", - schema_url: new URL("/schemas/default", this.oryProjectUrl).href, - }, - } as Session, - headers: { - "Content-Type": "application/json", - }, - status: 200, - }, - }) - } - - async interceptCreateResponse(): Promise { - return super.interceptCreateResponse("login") - } - - async interceptFetchResponse(): Promise { - return super.interceptFetchResponse("login") - } - - async interceptSubmitResponse(): Promise { - return super.interceptSubmitResponse("login") - } -} diff --git a/src/test/models/RecoveryPage.ts b/src/test/models/RecoveryPage.ts deleted file mode 100644 index 805d3777c..000000000 --- a/src/test/models/RecoveryPage.ts +++ /dev/null @@ -1,145 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { RecoveryFlow, RecoveryFlowState } from "@ory/client" -import { Page, Response } from "@playwright/test" -import { merge } from "lodash" -import { recoverySubmitCodeFixture } from "../fixtures" -import { defaultMockFlowResponse } from "../mock" -import { defaultRecoveryTraits, defaultRecoveryTraitsWithCode } from "../traits" -import { - ErrorBrowserLocationChangeRequired, - getFlowState, - MockFlow, - MockFlowResponse, -} from "../types" -import { traitsToNodes, UUIDv4 } from "../utils" -import { AuthPage } from "./AuthPage" - -export class RecoveryPage extends AuthPage { - readonly pageUrl: URL - readonly oryProjectUrl: URL - readonly page: Page - - readonly recoveryActionPath = "/self-service/recovery?flow=" - - constructor( - page: Page, - baseUrl: string, - oryProjectUrl: string, - path?: string, - ) { - super(defaultRecoveryTraits, page.getByTestId("recovery-auth-card")) - this.page = page - this.pageUrl = new URL(path ?? "/recovery", baseUrl) - this.oryProjectUrl = new URL(oryProjectUrl) - } - - async goto() { - await this.page.goto(this.pageUrl.href) - } - - getRecoveryFlowResponse( - state: RecoveryFlowState = "choose_method", - ): MockFlowResponse { - const body = (includeValues = false): RecoveryFlow => { - return { - id: UUIDv4(), - type: "browser", - state: state, - expires_at: new Date().toISOString(), - issued_at: new Date().toISOString(), - request_url: this.pageUrl.href, - ui: { - action: new URL(this.recoveryActionPath, this.oryProjectUrl).href, - method: "POST", - nodes: traitsToNodes(this.traits, true, includeValues), - messages: [], - }, - } - } - - switch (state) { - case "choose_method": - return { - ...defaultMockFlowResponse, - body: body(), - } - case "sent_email": - return { - ...defaultMockFlowResponse, - body: { - ...body(), - ui: { - ...body().ui, - nodes: traitsToNodes(defaultRecoveryTraitsWithCode, true, false), - messages: [ - { - id: 1060003, - text: "An email containing a recovery code has been sent to the email address you provided. If you have not received an email, check the spelling of the address and make sure to use the address you registered with.", - type: "info", - }, - ], - }, - }, - } - case "passed_challenge": - return { - ...defaultMockFlowResponse, - status: 422, - body: recoverySubmitCodeFixture as ErrorBrowserLocationChangeRequired, - } - default: - return { - ...defaultMockFlowResponse, - body: body(), - } - } - } - - registerMockCreateResponse({ - response, - }: Omit): Promise { - return super.registerMockCreateResponse({ - flow: "recovery", - response: merge({}, this.getRecoveryFlowResponse(), response), - }) - } - - registerMockFetchResponse({ - response, - }: Omit): Promise { - return super.registerMockFetchResponse({ - flow: "recovery", - response: merge({}, this.getRecoveryFlowResponse(), response), - }) - } - - registerMockSubmitResponse({ - response, - state, - }: Omit): Promise { - return super.registerMockSubmitResponse({ - flow: "recovery", - response: merge( - {}, - this.getRecoveryFlowResponse( - state ? getFlowState(state, "recovery") : "choose_method", - ), - response, - ), - }) - } - - interceptCreateResponse(): Promise { - return super.interceptCreateResponse("recovery") - } - - interceptFetchResponse(): Promise { - return super.interceptFetchResponse("recovery") - } - - interceptSubmitResponse(): Promise { - return super.interceptSubmitResponse("recovery") - } -} diff --git a/src/test/models/RegistrationPage.ts b/src/test/models/RegistrationPage.ts deleted file mode 100644 index e62a9d672..000000000 --- a/src/test/models/RegistrationPage.ts +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { RegistrationFlow } from "@ory/client" -import { Page, Response } from "@playwright/test" -import { merge } from "lodash" -import { defaultRegistrationTraits } from "../traits" -import { MockFlow, MockFlowResponse, Traits } from "../types" -import { traitsToNodes, UUIDv4 } from "../utils" -import { AuthPage } from "./AuthPage" - -export class RegistrationPage extends AuthPage { - readonly pageUrl: URL - readonly oryProjectUrl: URL - readonly page: Page - - readonly registrationActionPath = "/self-service/registration?flow=" - - constructor( - page: Page, - baseUrl: string, - oryProjectUrl: string, - traits?: Record, - path?: string, - ) { - super( - traits ?? defaultRegistrationTraits, - page.getByTestId("registration-auth-card"), - ) - this.page = page - this.pageUrl = new URL(path ?? "/registration", baseUrl) - this.oryProjectUrl = new URL(oryProjectUrl) - } - - async goto() { - await this.page.goto(this.pageUrl.href) - } - - getRegistrationFlowResponse(): MockFlowResponse { - return { - body: { - id: UUIDv4(), - expires_at: new Date().toISOString(), - issued_at: new Date().toISOString(), - type: "browser", - request_url: this.pageUrl.href, - ui: { - action: new URL(this.registrationActionPath, this.oryProjectUrl).href, - method: "POST", - nodes: traitsToNodes(this.traits, true), - messages: [], - }, - state: "choose_method", - } as RegistrationFlow, - headers: { - "Content-Type": "application/json", - }, - status: 200, - } - } - - registerMockCreateResponse({ - response, - }: Omit): Promise { - return super.registerMockCreateResponse({ - flow: "registration", - response: merge({}, this.getRegistrationFlowResponse(), response), - }) - } - - registerMockFetchResponse({ - response, - }: Omit): Promise { - return super.registerMockFetchResponse({ - flow: "registration", - response: merge({}, this.getRegistrationFlowResponse(), response), - }) - } - - registerMockSubmitResponse({ - response, - }: Omit): Promise { - return super.registerMockSubmitResponse({ - flow: "registration", - response: merge({}, this.getRegistrationFlowResponse(), response), - }) - } - - interceptCreateResponse(): Promise { - return super.interceptCreateResponse("registration") - } - - interceptFetchResponse(): Promise { - return super.interceptFetchResponse("registration") - } - - interceptSubmitResponse(): Promise { - return super.interceptSubmitResponse("registration") - } -} diff --git a/src/test/models/SettingsPage.ts b/src/test/models/SettingsPage.ts deleted file mode 100644 index 9fd6f5f8f..000000000 --- a/src/test/models/SettingsPage.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { Page } from "@playwright/test" -import { defaultTraits } from "../traits" -import { Traits } from "../types" -import { AuthPage } from "./AuthPage" - -export class SettingsPage extends AuthPage { - readonly pageUrl: URL - readonly page: Page - - constructor( - page: Page, - baseUrl: string, - traits?: Record, - path?: string, - ) { - super(traits ?? defaultTraits, page.getByTestId("settings-settings-card")) - this.page = page - this.pageUrl = new URL(path ?? "/settings", baseUrl) - } - - async goto() { - await this.page.goto(this.pageUrl.href) - } -} diff --git a/src/test/models/VerificationPage.ts b/src/test/models/VerificationPage.ts deleted file mode 100644 index 5777b728d..000000000 --- a/src/test/models/VerificationPage.ts +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { VerificationFlow, VerificationFlowState } from "@ory/client" -import { Page, Response } from "@playwright/test" -import { merge } from "lodash" -import { verificationSubmitCodeFixture } from "../fixtures" -import { defaultMockFlowResponse } from "../mock" -import { - defaultVerificationEmailTraits, - defaultVerificationTraitsWithCode, -} from "../traits" -import { getFlowState, MockFlow, MockFlowResponse } from "../types" -import { traitsToNodes, UUIDv4 } from "../utils" -import { AuthPage } from "./AuthPage" - -export class VerificationPage extends AuthPage { - readonly pageUrl: URL - readonly page: Page - readonly oryProjectUrl: URL - - readonly verificationActionPath = "/self-service/verification?flow=" - - constructor( - page: Page, - baseUrl: string, - oryProjectUrl: string, - path?: string, - ) { - super( - defaultVerificationEmailTraits, - page.getByTestId("verification-auth-card"), - ) - this.page = page - this.pageUrl = new URL(path ?? "/verification", baseUrl) - this.oryProjectUrl = new URL(oryProjectUrl) - } - - async goto() { - await this.page.goto(this.pageUrl.href) - } - - getVerificationFlowResponse( - state: VerificationFlowState = "choose_method", - ): MockFlowResponse { - const body: VerificationFlow = { - id: UUIDv4(), - expires_at: new Date().toISOString(), - issued_at: new Date().toISOString(), - state: state, - type: "browser", - request_url: this.pageUrl.href, - ui: { - action: new URL(this.verificationActionPath, this.oryProjectUrl).href, - method: "POST", - nodes: traitsToNodes(this.traits, true, false), - messages: [], - }, - } - - switch (state) { - case "choose_method": - return { - ...defaultMockFlowResponse, - body, - } - case "sent_email": - return { - ...defaultMockFlowResponse, - body: { - ...body, - ui: { - ...body.ui, - nodes: traitsToNodes(defaultVerificationTraitsWithCode, false), - }, - }, - } - case "passed_challenge": - return { - ...defaultMockFlowResponse, - body: verificationSubmitCodeFixture, - } - default: - return { - ...defaultMockFlowResponse, - body, - } - } - } - - async registerMockCreateResponse({ - response, - }: Omit): Promise { - return super.registerMockCreateResponse({ - flow: "verification", - response: merge({}, this.getVerificationFlowResponse(), response), - }) - } - - async registerMockFetchResponse({ - response, - }: Omit): Promise { - return super.registerMockFetchResponse({ - flow: "verification", - response: merge({}, this.getVerificationFlowResponse(), response), - }) - } - - async registerMockSubmitResponse({ - response, - state, - }: Omit): Promise { - return super.registerMockSubmitResponse({ - flow: "verification", - response: merge( - {}, - this.getVerificationFlowResponse( - state ? getFlowState(state, "verification") : "choose_method", - ), - response, - ), - }) - } - - async interceptCreateResponse(): Promise { - return super.interceptCreateResponse("verification") - } - - async interceptFetchResponse(): Promise { - return super.interceptFetchResponse("verification") - } - - async interceptSubmitResponse(): Promise { - return super.interceptSubmitResponse("verification") - } -} diff --git a/src/test/models/index.ts b/src/test/models/index.ts deleted file mode 100644 index ae2cb1d1e..000000000 --- a/src/test/models/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -export * from "../types" -export * from "./AuthPage" -export * from "./ConsentPage" -export * from "./LoginPage" -export * from "./RecoveryPage" -export * from "./RegistrationPage" -export * from "./SettingsPage" -export * from "./VerificationPage" diff --git a/src/test/playwright-fixture.ts b/src/test/playwright-fixture.ts deleted file mode 100644 index dc9da0b22..000000000 --- a/src/test/playwright-fixture.ts +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { test as base } from "@playwright/test" - -interface TestFixtures { - environment: { - applicationUrl: string - oryProjectUrl: string - projectApiToken: string - } -} - -export const test = base.extend({ - environment: [ - // eslint-disable-next-line no-empty-pattern - async ({}, use) => { - const environment = { - // applicationUrl is the URL where the application is running - // this should be the custom domain where these tests will be run on - // e.g. https://app.example.com - applicationUrl: process.env.APPLICATION_URL ?? "http://localhost:3000", - // oryProjectUrl is the Ory Network API URL - // this should be the custom domain where these tests will be run on - // e.g. https://auth.example.com which points to https://.projects.oryapis.com - // use the ory cli tunnel url instead if you are running tests locally without a custom domain. - oryProjectUrl: process.env.ORY_PROJECT_URL ?? "http://localhost:4000", - // projectApiToken is the Ory Network API token - // this should only be used when running tests that alter the state of the Ory project - // for example when creating a new user - // and deleting it after the test has run - projectApiToken: process.env.ORY_PROJECT_API_TOKEN ?? "", - } - await use(environment) - }, - { auto: false }, - ], -}) diff --git a/src/test/traits/defaults.ts b/src/test/traits/defaults.ts deleted file mode 100644 index f542b8f49..000000000 --- a/src/test/traits/defaults.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { Traits } from "../types" -import { RandomEmail, RandomPassword } from "../utils" - -export const email = RandomEmail() -export const password = RandomPassword() - -export const defaultTraits: Record = { - "traits.email": { - group: "default", - node_type: "input", - required: true, - label: "Email", - type: "email", - value: email, - }, - password: { - group: "password", - node_type: "input", - required: true, - label: "Password", - type: "password", - value: password, - }, -} diff --git a/src/test/traits/index.ts b/src/test/traits/index.ts deleted file mode 100644 index 85535c78b..000000000 --- a/src/test/traits/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -export * from "./defaults" -export * from "./login" -export * from "./recovery" -export * from "./registration" -export * from "./verification" diff --git a/src/test/traits/login.ts b/src/test/traits/login.ts deleted file mode 100644 index 90eeaed51..000000000 --- a/src/test/traits/login.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { Traits } from "../types" -import { email, password } from "./defaults" - -export const defaultLoginTraits: Record = { - identifier: { - group: "default", - label: "Email", - type: "input", - value: email, - node_type: "input", - required: true, - }, - password: { - group: "password", - node_type: "input", - required: true, - label: "Password", - type: "input", - value: password, - }, - submitButton: { - group: "password", - node_type: "input", - label: "Sign in", - type: "submit", - value: "password", - name: "method", - }, -} diff --git a/src/test/traits/recovery.ts b/src/test/traits/recovery.ts deleted file mode 100644 index 3825e7dee..000000000 --- a/src/test/traits/recovery.ts +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { Traits } from "../models" -import { email } from "./defaults" - -export const defaultRecoveryTraits: Record = { - email: { - group: "code", - label: "Email", - type: "email", - value: email, - node_type: "input", - required: true, - }, - submitButton: { - group: "code", - node_type: "input", - label: "Submit", - type: "submit", - value: "code", - name: "method", - }, -} - -export const defaultRecoveryTraitsWithCode: Record = { - code: { - group: "code", - label: "Verify code", - type: "input", - value: "123456", - node_type: "input", - required: true, - }, - resendButton: { - group: "code", - node_type: "input", - label: "Resend Code", - type: "submit", - name: "email", - value: email, - }, - submitButton: { - name: "method", - group: "code", - node_type: "input", - label: "Submit", - type: "submit", - value: "code", - }, -} diff --git a/src/test/traits/registration.ts b/src/test/traits/registration.ts deleted file mode 100644 index e61602757..000000000 --- a/src/test/traits/registration.ts +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { Traits } from "../types" -import { email, password } from "./defaults" - -export const defaultRegistrationTraits: Record = { - "traits.email": { - group: "password", - node_type: "input", - required: true, - label: "Email", - type: "input", - value: email, - }, - password: { - group: "password", - node_type: "input", - required: true, - label: "Password", - type: "input", - value: password, - }, - tos: { - group: "default", - node_type: "input", - required: true, - label: "I agree to the terms of service", - type: "checkbox", - value: "", - }, - submitButton: { - group: "default", - node_type: "input", - label: "Sign up", - type: "submit", - value: "password", - name: "method", - }, -} diff --git a/src/test/traits/verification.ts b/src/test/traits/verification.ts deleted file mode 100644 index 2f653b95f..000000000 --- a/src/test/traits/verification.ts +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { Traits } from "../types" -import { defaultTraits, email } from "./defaults" - -export const defaultVerificationEmailTraits: Record = { - email: { - group: "code", - label: "Email", - type: "email", - value: email, - node_type: "input", - required: true, - }, - submitButton: { - group: "code", - node_type: "input", - label: "Submit", - type: "submit", - value: "code", - name: "method", - }, -} - -export const defaultVerificationTraits: Record = { - "traits.email": defaultTraits["traits.email"], -} - -export const defaultVerificationTraitsWithCode: Record = { - code: { - group: "code", - label: "Verify code", - type: "input", - value: "123456", - node_type: "input", - required: true, - }, - resendButton: { - group: "code", - node_type: "input", - label: "Resend Code", - type: "submit", - name: "email", - value: email, - }, - submitButton: { - name: "method", - group: "code", - node_type: "input", - label: "Submit", - type: "submit", - value: "code", - }, -} diff --git a/src/test/types.ts b/src/test/types.ts deleted file mode 100644 index 386153066..000000000 --- a/src/test/types.ts +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { - GenericError, - LoginFlow, - RecoveryFlow, - RecoveryFlowState, - RegistrationFlow, - Session, - SettingsFlow, - UiNodeGroupEnum, - VerificationFlow, - VerificationFlowState, -} from "@ory/client" - -export type MockFlowStates = - | "verification_choose_method" - | "verification_sent_email" - | "verification_passed_challenge" - | "recovery_choose_method" - | "recovery_sent_email" - | "recovery_passed_challenge" - | "session_forbidden" - | "session_active" - -export interface MockFlow { - flow: string - response?: MockFlowResponse - state?: MockFlowStates -} - -export const getFlowState = ( - a: MockFlowStates, - flow: "verification" | "recovery", -): VerificationFlowState | RecoveryFlowState => - a.replace(flow + "_", "") as VerificationFlowState | RecoveryFlowState - -export interface Traits { - name?: string - group: UiNodeGroupEnum - value: string - type: - | "input" - | "checkbox" - | "button" - | "hidden" - | "submit" - | "email" - | "password" - label: string - required?: boolean - node_type?: string -} - -export interface ErrorBrowserLocationChangeRequired { - error: GenericError - redirect_browser_to: string -} - -export interface MockFlowResponse { - body: - | LoginFlow - | RegistrationFlow - | RecoveryFlow - | VerificationFlow - | SettingsFlow - | Session - | GenericError - | ErrorBrowserLocationChangeRequired - | null - status: number - headers: Record -} diff --git a/src/test/utils.ts b/src/test/utils.ts deleted file mode 100644 index 3ea4e0356..000000000 --- a/src/test/utils.ts +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import { UiNode, UiNodeAttributes, UiNodeMeta } from "@ory/client" -import { isUiNodeInputAttributes } from "../ui" -import { Traits } from "./types" - -export const isUiNode = (a: unknown): a is UiNode[] => { - return ( - Array.isArray(a) && - a.some((v) => typeof v === "object" && v !== null && "attributes" in v) - ) -} - -export const inputNodesToRecord = (nodes: UiNode[]): Record => { - return nodes.reduce((map: Record, { group, attributes }) => { - if (isUiNodeInputAttributes(attributes)) { - map[attributes.name] = { - group: group, - node_type: attributes.node_type, - required: attributes.required, - value: attributes.value as string, - type: attributes.type as Traits["type"], - label: attributes.label?.text ?? "", - name: attributes.name, - } - } - return map - }, {}) -} - -export const traitsToNodes = ( - traits: Record, - includeCsrf?: boolean, - includeValue = true, -): UiNode[] => { - const nodes = Object.entries(traits).map( - ([key, { group, label, type, value, node_type, required, name }]) => { - return { - group: group, - messages: [], - type: "input", - meta: { - label: { - id: Math.floor(Math.random() * 6) + 1, - text: label ?? name ?? key, - type: "info", - }, - } as UiNodeMeta, - attributes: { - name: name ?? key, - ...(includeValue && { value: value }), - type, - node_type: node_type ?? "input", - required: required ?? false, - } as UiNodeAttributes, - } - }, - ) - - includeCsrf && - nodes.push({ - group: "default", - type: "input", - attributes: { - name: "csrf_token", - value: RandomString(20), - type: "hidden", - node_type: "input", - disabled: false, - required: true, - }, - meta: {}, - messages: [], - } as UiNode) - - return nodes -} - -export const RandomString = (length = 20) => { - return Array(Math.ceil(length * 0.1)) - .fill(null) - .map(() => Math.random().toString(36).substring(2)) - .join("") - .substring(0, length) -} - -export const UUIDv4 = () => `22b3ad6f-c50a-4c2f-8c94-${RandomString(12)}` - -export const RandomEmail = () => `${RandomString(4)}@${RandomString(4)}.com` -export const RandomPassword = () => RandomString(10) diff --git a/src/tests.ts b/src/tests.ts deleted file mode 100644 index 00ca01cd8..000000000 --- a/src/tests.ts +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -export * from "./test" From 6899e8f608dcb829e0ebcdc638982746e144f93d Mon Sep 17 00:00:00 2001 From: Jonas Hungershausen Date: Fri, 30 Aug 2024 11:00:01 +0200 Subject: [PATCH 3/7] chore: format --- packages/test/tsup.config.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/test/tsup.config.ts b/packages/test/tsup.config.ts index 7191c9807..4f5a242d1 100644 --- a/packages/test/tsup.config.ts +++ b/packages/test/tsup.config.ts @@ -1,3 +1,6 @@ +// Copyright © 2024 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + import { defineConfig } from "tsup" import path from "path" From ea84a036e37e140200b9c67912aed0cc694ee207 Mon Sep 17 00:00:00 2001 From: Jonas Hungershausen Date: Fri, 30 Aug 2024 11:03:17 +0200 Subject: [PATCH 4/7] chore: remove vite config --- packages/test/vite.config.ts | 45 ------------------------------------ 1 file changed, 45 deletions(-) delete mode 100644 packages/test/vite.config.ts diff --git a/packages/test/vite.config.ts b/packages/test/vite.config.ts deleted file mode 100644 index b106e05b5..000000000 --- a/packages/test/vite.config.ts +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright © 2023 Ory Corp -// SPDX-License-Identifier: Apache-2.0 - -import path from "path" -import { defineConfig } from "vite" -import dts from "vite-plugin-dts" - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - dts({ - root: path.resolve(__dirname, "./src"), - // insertTypesEntry: true, - tsconfigPath: path.resolve(__dirname, "tsconfig.json"), - outDir: path.resolve(__dirname, "dist"), - rollupTypes: true, - - exclude: [ - "node_modules", - "dist", - "**/*.spec.ts", - path.resolve(__dirname, "../../node_modules"), - ], - }), - ], - build: { - target: "esnext", - sourcemap: true, - lib: { - name: "@ory/elements-test", - entry: path.resolve(__dirname, "./src/index.ts"), - formats: ["es", "umd"], - fileName: (format) => (format === "es" ? "index.mjs" : "index.umd.js"), - }, - rollupOptions: { - treeshake: "smallest", - external: ["@playwright/test"], - output: { - globals: { - "@playwright/test": "Playwright", - }, - }, - }, - }, -}) From 412dc03a7b2c0d31cb7d9a83706e2760ee2bf9db Mon Sep 17 00:00:00 2001 From: Jonas Hungershausen Date: Fri, 30 Aug 2024 14:00:39 +0200 Subject: [PATCH 5/7] chore: remove ory-prettier-styles --- .prettierrc | 5 +- examples/nextjs-spa/src/middleware.ts | 140 +++++++++--------- package.json | 2 - .../ory/helpers/filter-flow-nodes.tsx | 12 +- 4 files changed, 79 insertions(+), 80 deletions(-) diff --git a/.prettierrc b/.prettierrc index 2b658b402..085d5d131 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,6 +1,5 @@ { "proseWrap": "always", - "singleQuote": true, - "trailingComma": "none", - "parser": "typescript" + "trailingComma": "all", + "semi": false } diff --git a/examples/nextjs-spa/src/middleware.ts b/examples/nextjs-spa/src/middleware.ts index b3196589e..9fda713f7 100644 --- a/examples/nextjs-spa/src/middleware.ts +++ b/examples/nextjs-spa/src/middleware.ts @@ -16,78 +16,80 @@ export const middleware = async (request: NextRequest) => !["/", "/settings"].includes(new URL(request.url).pathname) ? NextResponse.next() : process.env.NEXT_PUBLIC_ORY_SDK_URL - ? fetch(`${process.env.NEXT_PUBLIC_ORY_SDK_URL}/sessions/whoami`, { - headers: { - cookie: request.headers.get("cookie") || "", - }, - }) - .then((resp) => { - // there must've been no response (invalid URL or something...) - if (!resp) { - return NextResponse.redirect( - new URL( - `/error?error=${JSON.stringify({ - message: - "Network error - this could be related to CORS or an incorrect URL set on the `NEXT_PUBLIC_ORY_SDK_URL` environment variable. " + - "Please check out the Ory documentation for more information: https://www.ory.sh/docs/getting-started/local-development", - })}`, - request.url, - ), - ) - } - - console.log( - `Global Session Middleware: ${JSON.stringify(resp.json())}`, - ) - - // the user is not signed in - if (resp.status === 401) { - return NextResponse.redirect(new URL("/login", request.url)) - } - - return NextResponse.next() + ? fetch(`${process.env.NEXT_PUBLIC_ORY_SDK_URL}/sessions/whoami`, { + headers: { + cookie: request.headers.get("cookie") || "", + }, }) - .catch((err) => { - console.log(`Global Session Middleware error: ${JSON.stringify(err)}`) - if (!err.response) - return NextResponse.redirect( - new URL( - `/error?error=${JSON.stringify({ - message: - "Network error - this could be related to CORS or an incorrect URL set on the `NEXT_PUBLIC_ORY_SDK_URL` environment variable. " + - "Please check out the Ory documentation for more information: https://www.ory.sh/docs/getting-started/local-development", - })}`, - request.url, - ), - ) - - switch (err.response?.status) { - // 422 we need to redirect the user to the location specified in the response - case 422: + .then((resp) => { + // there must've been no response (invalid URL or something...) + if (!resp) { return NextResponse.redirect( - err.response.data.redirect_browser_to, + new URL( + `/error?error=${JSON.stringify({ + message: + "Network error - this could be related to CORS or an incorrect URL set on the `NEXT_PUBLIC_ORY_SDK_URL` environment variable. " + + "Please check out the Ory documentation for more information: https://www.ory.sh/docs/getting-started/local-development", + })}`, + request.url, + ), ) - //return router.push("/login", { query: { aal: "aal2" } }) - case 401: - // The user is not logged in, so we redirect them to the login page. + } + + console.log( + `Global Session Middleware: ${JSON.stringify(resp.json())}`, + ) + + // the user is not signed in + if (resp.status === 401) { return NextResponse.redirect(new URL("/login", request.url)) - case 404: - // the SDK is not configured correctly - // we set this up so you can debug the issue in the browser - return NextResponse.redirect( - new URL(`/error?error=${JSON.stringify(err)}`, request.url), - ) - default: + } + + return NextResponse.next() + }) + .catch((err) => { + console.log( + `Global Session Middleware error: ${JSON.stringify(err)}`, + ) + if (!err.response) return NextResponse.redirect( - new URL(`/error?error=${JSON.stringify(err)}`, request.url), + new URL( + `/error?error=${JSON.stringify({ + message: + "Network error - this could be related to CORS or an incorrect URL set on the `NEXT_PUBLIC_ORY_SDK_URL` environment variable. " + + "Please check out the Ory documentation for more information: https://www.ory.sh/docs/getting-started/local-development", + })}`, + request.url, + ), ) - } - }) - : NextResponse.redirect( - new URL( - `/error?error=${JSON.stringify({ - message: "NEXT_PUBLIC_ORY_SDK_URL env variable is not set", - })}`, - request.url, - ), - ) + + switch (err.response?.status) { + // 422 we need to redirect the user to the location specified in the response + case 422: + return NextResponse.redirect( + err.response.data.redirect_browser_to, + ) + //return router.push("/login", { query: { aal: "aal2" } }) + case 401: + // The user is not logged in, so we redirect them to the login page. + return NextResponse.redirect(new URL("/login", request.url)) + case 404: + // the SDK is not configured correctly + // we set this up so you can debug the issue in the browser + return NextResponse.redirect( + new URL(`/error?error=${JSON.stringify(err)}`, request.url), + ) + default: + return NextResponse.redirect( + new URL(`/error?error=${JSON.stringify(err)}`, request.url), + ) + } + }) + : NextResponse.redirect( + new URL( + `/error?error=${JSON.stringify({ + message: "NEXT_PUBLIC_ORY_SDK_URL env variable is not set", + })}`, + request.url, + ), + ) diff --git a/package.json b/package.json index e56eae00e..367b3995e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,5 @@ { "name": "root", - "prettier": "ory-prettier-styles", "private": "true", "scripts": { "storybook": "storybook dev -p 6006", @@ -74,7 +73,6 @@ "jest": "29.7.0", "license-checker": "25.0.1", "nx": "19.5.4", - "ory-prettier-styles": "1.3.0", "playwright": "1.46.0", "postcss": "8.4.35", "prettier": "3.0.3", diff --git a/src/react-components/ory/helpers/filter-flow-nodes.tsx b/src/react-components/ory/helpers/filter-flow-nodes.tsx index bef818c4c..c26a89d78 100644 --- a/src/react-components/ory/helpers/filter-flow-nodes.tsx +++ b/src/react-components/ory/helpers/filter-flow-nodes.tsx @@ -38,12 +38,12 @@ export const FilterFlowNodes = ({ isUiNodeInputAttributes(node.attributes) ? node.attributes.name : isUiNodeImageAttributes(node.attributes) - ? node.attributes.src - : isUiNodeAnchorAttributes(node.attributes) || - isUiNodeTextAttributes(node.attributes) || - isUiNodeScriptAttributes(node.attributes) - ? node.attributes.id - : k + ? node.attributes.src + : isUiNodeAnchorAttributes(node.attributes) || + isUiNodeTextAttributes(node.attributes) || + isUiNodeScriptAttributes(node.attributes) + ? node.attributes.id + : k } {...overrides} /> From c901d50676d34254ddd59d716f9f331ac716683a Mon Sep 17 00:00:00 2001 From: Jonas Hungershausen Date: Fri, 30 Aug 2024 14:26:39 +0200 Subject: [PATCH 6/7] chore: missing swc --- package-lock.json | 125 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 120 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 11f424379..6acbfba3f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -63,7 +63,6 @@ "jest": "29.7.0", "license-checker": "25.0.1", "nx": "19.5.4", - "ory-prettier-styles": "1.3.0", "playwright": "1.46.0", "postcss": "8.4.35", "prettier": "3.0.3", @@ -18182,10 +18181,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ory-prettier-styles": { - "version": "1.3.0", - "dev": true - }, "node_modules/os-homedir": { "version": "1.0.2", "dev": true, @@ -23087,6 +23082,126 @@ "node": ">=16.16.0", "npm": ">=8.11.0" } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.5.tgz", + "integrity": "sha512-vXHOPCwfDe9qLDuq7U1OYM2wUY+KQ4Ex6ozwsKxp26BlJ6XXbHleOUldenM67JRyBfVjv371oneEvYd3H2gNSA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.5.tgz", + "integrity": "sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.5.tgz", + "integrity": "sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.5.tgz", + "integrity": "sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.5.tgz", + "integrity": "sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.5.tgz", + "integrity": "sha512-1GpG2VhbspO+aYoMOQPQiqc/tG3LzmsdBH0LhnDS3JrtDx2QmzXe0B6mSZZiN3Bq7IOMXxv1nlsjzoS1+9mzZw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.5.tgz", + "integrity": "sha512-Igh9ZlxwvCDsu6438FXlQTHlRno4gFpJzqPjSIBZooD22tKeI4fE/YMRoHVJHmrQ2P5YL1DoZ0qaOKkbeFWeMg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.5.tgz", + "integrity": "sha512-tEQ7oinq1/CjSG9uSTerca3v4AZ+dFa+4Yu6ihaG8Ud8ddqLQgFGcnwYls13H5X5CPDPZJdYxyeMui6muOLd4g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } } } } From e7ea28cee8fb41ecb371757a3606d5b37426d7e0 Mon Sep 17 00:00:00 2001 From: Jonas Hungershausen Date: Fri, 30 Aug 2024 14:31:39 +0200 Subject: [PATCH 7/7] chore: remove test --- examples/nextjs-spa/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/nextjs-spa/package.json b/examples/nextjs-spa/package.json index df5daf286..4751db6f6 100644 --- a/examples/nextjs-spa/package.json +++ b/examples/nextjs-spa/package.json @@ -7,7 +7,6 @@ "build": "next build", "start": "next start", "lint": "next lint", - "test": "playwright test", "debug": "playwright test --ui" }, "dependencies": {