diff --git a/.github/actions/test/action.yml b/.github/actions/test/action.yml index b4d4728f1..89395f703 100644 --- a/.github/actions/test/action.yml +++ b/.github/actions/test/action.yml @@ -28,11 +28,6 @@ runs: env: NODE_OPTIONS: --experimental-vm-modules - - name: Test Headless - uses: cypress-io/github-action@v5 - with: - command: 'pnpm test.headless.ci' - # - name: Build # shell: bash # run: npx nx affected:build --base=last-release --exclude=website diff --git a/apps/website-e2e/.eslintrc.json b/apps/website-e2e/.eslintrc.json deleted file mode 100644 index 696cb8b12..000000000 --- a/apps/website-e2e/.eslintrc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": ["plugin:cypress/recommended", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": {} - } - ] -} diff --git a/apps/website-e2e/cypress.config.ts b/apps/website-e2e/cypress.config.ts deleted file mode 100644 index a45b4fd68..000000000 --- a/apps/website-e2e/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress'; -import { nxE2EPreset } from '@nx/cypress/plugins/cypress-preset'; - -export default defineConfig({ - e2e: nxE2EPreset(__dirname, { - bundler: 'vite', - }), -}); diff --git a/apps/website-e2e/project.json b/apps/website-e2e/project.json deleted file mode 100644 index ab3df9ef8..000000000 --- a/apps/website-e2e/project.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "website-e2e", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "apps/website-e2e/src", - "projectType": "application", - "targets": { - "e2e": { - "executor": "@nx/cypress:cypress", - "options": { - "cypressConfig": "apps/website-e2e/cypress.config.ts", - "devServerTarget": "website:serve", - "testingType": "e2e" - }, - "configurations": { - "production": { - "devServerTarget": "website:serve:production" - } - } - }, - "lint": { - "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["apps/website-e2e/**/*.{js,ts}"] - } - } - }, - "tags": [], - "implicitDependencies": ["website"] -} diff --git a/apps/website-e2e/src/e2e/app.cy.ts b/apps/website-e2e/src/e2e/app.cy.ts deleted file mode 100644 index a758d06db..000000000 --- a/apps/website-e2e/src/e2e/app.cy.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { getGreeting } from '../support/app.po'; - -describe('website', () => { - beforeEach(() => cy.visit('/')); - - it('should display welcome message', () => { - // Custom command example, see `../support/commands.ts` file - cy.login('my-email@something.com', 'myPassword'); - - // Function helper example, see `../support/app.po.ts` file - getGreeting().contains('Welcome website'); - }); -}); diff --git a/apps/website-e2e/src/fixtures/example.json b/apps/website-e2e/src/fixtures/example.json deleted file mode 100644 index 294cbed6c..000000000 --- a/apps/website-e2e/src/fixtures/example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io" -} diff --git a/apps/website-e2e/src/support/app.po.ts b/apps/website-e2e/src/support/app.po.ts deleted file mode 100644 index 329342469..000000000 --- a/apps/website-e2e/src/support/app.po.ts +++ /dev/null @@ -1 +0,0 @@ -export const getGreeting = () => cy.get('h1'); diff --git a/apps/website-e2e/src/support/commands.ts b/apps/website-e2e/src/support/commands.ts deleted file mode 100644 index 310f1fa0e..000000000 --- a/apps/website-e2e/src/support/commands.ts +++ /dev/null @@ -1,33 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** - -// eslint-disable-next-line @typescript-eslint/no-namespace -declare namespace Cypress { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - interface Chainable { - login(email: string, password: string): void; - } -} -// -// -- This is a parent command -- -Cypress.Commands.add('login', (email, password) => { - console.log('Custom command example: Login', email, password); -}); -// -// -- This is a child command -- -// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/apps/website-e2e/src/support/e2e.ts b/apps/website-e2e/src/support/e2e.ts deleted file mode 100644 index 3d469a6b6..000000000 --- a/apps/website-e2e/src/support/e2e.ts +++ /dev/null @@ -1,17 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; diff --git a/apps/website-e2e/tsconfig.json b/apps/website-e2e/tsconfig.json deleted file mode 100644 index cc509a730..000000000 --- a/apps/website-e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "sourceMap": false, - "outDir": "../../dist/out-tsc", - "allowJs": true, - "types": ["cypress", "node"] - }, - "include": ["src/**/*.ts", "src/**/*.js", "cypress.config.ts"] -} diff --git a/apps/website/src/routes/docs/headless/tabs/examples/disabled.tsx b/apps/website/src/routes/docs/headless/tabs/examples/disabled.tsx index fe57b540c..d67adf0ce 100644 --- a/apps/website/src/routes/docs/headless/tabs/examples/disabled.tsx +++ b/apps/website/src/routes/docs/headless/tabs/examples/disabled.tsx @@ -1,32 +1,33 @@ -import { component$, useStyles$ } from '@builder.io/qwik'; +import { component$, useStore, useStyles$ } from '@builder.io/qwik'; import { Tabs } from '@qwik-ui/headless'; import styles from '.././index.css?inline'; export default component$(() => { useStyles$(styles); + + const store = useStore({ + tabs: [ + { tab: 'Tab 1', disabled: true }, + { tab: 'Tab 2' }, + { tab: 'Tab 3', disabled: true }, + { tab: 'Tab 4' }, + ], + }); return ( <> -
+

Dad jokes

- - Disabled Tab - - Joke 2 - Joke 3 - Joke 4 + {store.tabs.map((tab, i) => ( + + {tab.tab} + + ))} - - "What did the coffee report to the police", " A mugging." - - "What's brown and sticky", " A stick." - "How do the trees get on the internet?", "They log on." - "What did the fish say when he hit the wall", " Dam." + {store.tabs.map((tab, i) => ( + {tab.tab} Panel + ))}
diff --git a/apps/website/src/routes/docs/headless/tabs/examples/dynamic.tsx b/apps/website/src/routes/docs/headless/tabs/examples/dynamic.tsx index 83aa71511..fc440121c 100644 --- a/apps/website/src/routes/docs/headless/tabs/examples/dynamic.tsx +++ b/apps/website/src/routes/docs/headless/tabs/examples/dynamic.tsx @@ -4,32 +4,55 @@ import styles from '.././index.css?inline'; export default component$(() => { useStyles$(styles); - const tabsState = useStore(['Dynamic Tab 1', 'Dynamic Tab 2', 'Dynamic Tab 3']); + const store = useStore({ + tabs: ['Tab 1', 'Tab 2', 'Tab 3'], + }); return ( <> -
- - - {tabsState.map((tab) => ( - {tab} +
+ +
+ + + {store.tabs.map((tab, i) => ( + + {tab}{' '} + { + if (store.tabs.length > 1) { + store.tabs.splice(i, 1); + } + }} + > + x + + ))} - {tabsState.map((tab) => ( - {tab} Panel - ))} - + {store.tabs.map((tab, i) => { + return {tab} Panel; + })} +
); }); + +import { buttonVariants } from '@qwik-ui/styled'; +import { cn } from '@qwik-ui/utils'; diff --git a/apps/website/src/routes/docs/headless/tabs/examples/on-click.tsx b/apps/website/src/routes/docs/headless/tabs/examples/on-click.tsx index ac621da54..308f79828 100644 --- a/apps/website/src/routes/docs/headless/tabs/examples/on-click.tsx +++ b/apps/website/src/routes/docs/headless/tabs/examples/on-click.tsx @@ -9,9 +9,15 @@ export default component$(() => {

Danish Composers

(Hover over the tabs - they should not be selected)

- + - Maria + { + el.innerHTML = 'Jack'; + }} + > + Maria + Carl Ida diff --git a/apps/website/src/routes/docs/headless/tabs/examples/on-selected-index-change.tsx b/apps/website/src/routes/docs/headless/tabs/examples/on-selected-index-change.tsx index f3af532ee..b6764eba8 100644 --- a/apps/website/src/routes/docs/headless/tabs/examples/on-selected-index-change.tsx +++ b/apps/website/src/routes/docs/headless/tabs/examples/on-selected-index-change.tsx @@ -29,8 +29,8 @@ export default component$(() => {

Ida Henriette da Fonseca (July 27, 1802 - July 6, 1858) ...

- -

Selected Index: {selectedIndexSig.value}

+
+

Selected Index: {selectedIndexSig.value}

); diff --git a/apps/website/src/routes/docs/headless/tabs/examples/programmatic.tsx b/apps/website/src/routes/docs/headless/tabs/examples/programmatic.tsx new file mode 100644 index 000000000..41a1d4c11 --- /dev/null +++ b/apps/website/src/routes/docs/headless/tabs/examples/programmatic.tsx @@ -0,0 +1,39 @@ +import { component$, useSignal, useStyles$ } from '@builder.io/qwik'; +import { Tabs } from '@qwik-ui/headless'; +import styles from '.././index.css?inline'; + +export default component$(() => { + useStyles$(styles); + + const selectedIndex = useSignal(0); + + return ( + <> +
+

Danish Composers

+ + + Maria + Carl + Ida + + +

Maria Theresia Ahlefeldt (16 January 1755 - 20 December 1810) ...

+
+ +

Carl Joachim Andersen (29 April 1847 - 7 May 1909) ...

+
+ +

Ida Henriette da Fonseca (July 27, 1802 - July 6, 1858) ...

+
+
+
+ +
+ +
+ +
+ + ); +}); diff --git a/apps/website/src/routes/docs/headless/tabs/examples/selected-tab-id.tsx b/apps/website/src/routes/docs/headless/tabs/examples/selected-tab-id.tsx index 85868a0b4..0cc6059d0 100644 --- a/apps/website/src/routes/docs/headless/tabs/examples/selected-tab-id.tsx +++ b/apps/website/src/routes/docs/headless/tabs/examples/selected-tab-id.tsx @@ -11,9 +11,9 @@ export default component$(() => {

Danish Composers

- Maria - Carl - Ida + Maria + Carl + Ida

Maria Theresia Ahlefeldt (16 January 1755 - 20 December 1810) ...

diff --git a/apps/website/src/routes/docs/headless/tabs/examples/test-tabs-inside-of-tabs.tsx b/apps/website/src/routes/docs/headless/tabs/examples/test-tabs-inside-of-tabs.tsx new file mode 100644 index 000000000..6b5b74d80 --- /dev/null +++ b/apps/website/src/routes/docs/headless/tabs/examples/test-tabs-inside-of-tabs.tsx @@ -0,0 +1,45 @@ +import { component$, useStyles$ } from '@builder.io/qwik'; +import { Tabs } from '@qwik-ui/headless'; +import styles from '.././index.css?inline'; + +export default component$(() => { + useStyles$(styles); + return ( + <> +
+

Danish Composers

+ + + Maria + Carl + Ida + + + + + Maria + Carl + Ida + + +

Maria Theresia Ahlefeldt (16 January 1755 - 20 December 1810) ...

+
+ +

Carl Joachim Andersen (29 April 1847 - 7 May 1909) ...

+
+ +

Ida Henriette da Fonseca (July 27, 1802 - July 6, 1858) ...

+
+
+
+ +

Carl Joachim Andersen (29 April 1847 - 7 May 1909) ...

+
+ +

Ida Henriette da Fonseca (July 27, 1802 - July 6, 1858) ...

+
+
+
+ + ); +}); diff --git a/apps/website/src/routes/docs/headless/tabs/index.css b/apps/website/src/routes/docs/headless/tabs/index.css index 53e582eea..9e04c7dcd 100644 --- a/apps/website/src/routes/docs/headless/tabs/index.css +++ b/apps/website/src/routes/docs/headless/tabs/index.css @@ -2,29 +2,52 @@ width: 100%; } +.four-tabs-example [role='tab'] { + width: 6rem; + background: var(--background); + color: var(--foreground); +} + +.vertical-tabs-example [role='tab'] { + width: 12rem; + background: var(--background); + color: var(--foreground); + padding: 0.5rem 1rem; + display: flex; + justify-content: space-between; +} + .tabs-example [role='tab'] { - width: 138px; + width: 9rem; background: var(--background); color: var(--foreground); } -.tabs-example [role='tab'][disabled] { +.four-tabs-example [role='tab'][disabled][aria-disabled='true'], +.vertical-tabs-example [role='tab'][disabled][aria-disabled='true'], +.tabs-example [role='tab'][disabled][aria-disabled='true'] { + cursor: not-allowed; opacity: 0.3; font-weight: 400; } +.four-tabs-example [role='tab'][data-state='selected'], +.vertical-tabs-example [role='tab'][data-state='selected'], .tabs-example [role='tab'][data-state='selected'] { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); } +.four-tabs-example [role='tablist'], +.vertical-tabs-example [role='tablist'], .tabs-example [role='tablist'] { border: 2px dotted hsl(var(--foreground)); margin-bottom: 1rem; max-width: fit-content; } +.four-tabs-example h3, +.vertical-tabs-example h3, .tabs-example h3 { font-weight: 600; - margin-bottom: 0.5rem; } diff --git a/cypress.config.ts b/cypress.config.ts deleted file mode 100644 index aecc0dd24..000000000 --- a/cypress.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { defineConfig } from 'cypress'; - -export default defineConfig({ - e2e: { - setupNodeEvents(on, config) { - // implement node event listeners here - }, - }, -}); diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json deleted file mode 100644 index 02e425437..000000000 --- a/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/cypress/support/commands.ts b/cypress/support/commands.ts deleted file mode 100644 index 95857aea4..000000000 --- a/cypress/support/commands.ts +++ /dev/null @@ -1,37 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } diff --git a/cypress/support/e2e.ts b/cypress/support/e2e.ts deleted file mode 100644 index 598ab5f0d..000000000 --- a/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/e2e.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/package.json b/package.json index 73cd41c13..6dbb27248 100644 --- a/package.json +++ b/package.json @@ -50,8 +50,6 @@ "@changesets/get-github-info": "^0.6.0", "@changesets/types": "^6.0.0", "@clack/prompts": "^0.7.0", - "@cypress/code-coverage": "^3.12.39", - "@cypress/vite-dev-server": "^5.1.0", "@floating-ui/core": "^1.6.2", "@floating-ui/dom": "^1.6.5", "@fontsource-variable/inter": "^5.0.18", @@ -59,7 +57,6 @@ "@jscutlery/semver": "^4.2.0", "@k11r/nx-cloudflare-wrangler": "3.0.0-feat-sst-upgrade.1", "@modular-forms/qwik": "^0.24.0", - "@nx/cypress": "19.4.2", "@nx/devkit": "19.4.2", "@nx/eslint": "19.4.2", "@nx/eslint-plugin": "19.4.2", @@ -75,7 +72,6 @@ "@shikijs/transformers": "^1.11.0", "@swc-node/register": "^1.9.1", "@swc/core": "^1.5.7", - "@testing-library/cypress": "10.0.1", "@types/decompress": "4.2.7", "@types/eslint": "8.56.10", "@types/estree-jsx": "1.0.5", @@ -94,16 +90,11 @@ "class-variance-authority": "^0.7.0", "clipboard-copy": "^4.0.1", "clsx": "^2.1.1", - "cypress": "13.13.0", - "cypress-axe": "1.5.0", - "cypress-ct-qwik": "0.3.0", - "cypress-real-events": "1.12.0", "danger": "^11.3.1", "decompress": "4.2.1", "dotenv": "16.4.5", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-cypress": "^3.2.0", "eslint-plugin-playwright": "^1.6.2", "eslint-plugin-qwik": "1.7.3", "focus-trap": "7.5.4", diff --git a/packages/kit-headless/.eslintrc.json b/packages/kit-headless/.eslintrc.json index ad0a95486..705e3fa02 100644 --- a/packages/kit-headless/.eslintrc.json +++ b/packages/kit-headless/.eslintrc.json @@ -26,7 +26,7 @@ } }, "plugins": ["@typescript-eslint"], - "ignorePatterns": ["!**/*", "cypress.config.ts"], + "ignorePatterns": ["!**/*"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/packages/kit-headless/cypress.config.ts b/packages/kit-headless/cypress.config.ts deleted file mode 100644 index c11c02883..000000000 --- a/packages/kit-headless/cypress.config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineConfig } from 'cypress'; - -export default defineConfig({ - component: { - specPattern: '**/*.spec.{js,jsx,ts,tsx}', - screenshotOnRunFailure: true, - video: false, - devServer: { - framework: 'cypress-ct-qwik', - bundler: 'vite', - } as any, - }, -}); diff --git a/packages/kit-headless/cypress/fixtures/example.json b/packages/kit-headless/cypress/fixtures/example.json deleted file mode 100644 index 02e425437..000000000 --- a/packages/kit-headless/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/packages/kit-headless/cypress/support/commands.ts b/packages/kit-headless/cypress/support/commands.ts deleted file mode 100644 index 4b5c30b3f..000000000 --- a/packages/kit-headless/cypress/support/commands.ts +++ /dev/null @@ -1,37 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** - -import '@testing-library/cypress/add-commands'; -import 'cypress-real-events'; - -// eslint-disable-next-line @typescript-eslint/no-namespace -declare namespace Cypress { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - interface Chainable { - login(email: string, password: string): void; - } -} -// -// -- This is a parent command -- -Cypress.Commands.add('login', (email, password) => { - console.log('Custom command example: Login', email, password); -}); -// -// -- This is a child command -- -// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/packages/kit-headless/cypress/support/component-index.html b/packages/kit-headless/cypress/support/component-index.html deleted file mode 100644 index f5614c323..000000000 --- a/packages/kit-headless/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Headless Components App - - -
- - diff --git a/packages/kit-headless/cypress/support/component.ts b/packages/kit-headless/cypress/support/component.ts deleted file mode 100644 index a3fe56b6b..000000000 --- a/packages/kit-headless/cypress/support/component.ts +++ /dev/null @@ -1,44 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** -import { addQwikLoader, mount } from 'cypress-ct-qwik'; - -addQwikLoader(); - -// Import commands.ts using ES2015 syntax: -import './commands'; -import 'cypress-axe'; -import 'axe-core'; - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -declare global { - // eslint-disable-next-line @typescript-eslint/no-namespace - namespace Cypress { - interface Chainable { - mount: typeof mount; - checkA11yForComponent: () => void; - } - } -} - -Cypress.Commands.add('mount', mount); -Cypress.Commands.add('checkA11yForComponent', () => { - cy.checkA11y('[data-cy-root]'); -}); - -// Example use: -// cy.mount(MyComponent) diff --git a/packages/kit-headless/cypress/tsconfig.json b/packages/kit-headless/cypress/tsconfig.json deleted file mode 100644 index 4dc60f9dc..000000000 --- a/packages/kit-headless/cypress/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "outDir": "../../../dist/out-tsc", - "module": "commonjs", - "types": ["cypress", "@testing-library/cypress", "node", "cypress-real-events"], - "sourceMap": false - }, - "include": [ - "support/**/*.ts", - "../cypress.config.ts", - "../**/*.cy.ts", - "../**/*.cy.tsx", - "../**/*.cy.js", - "../**/*.cy.jsx", - "../**/*.spec.ts", - "../**/*.spec.tsx", - "../**/*.spec.js", - "../**/*.spec.jsx", - "../**/*.d.ts", - "../src/components/select/select.test.ts" - ] -} diff --git a/packages/kit-headless/project.json b/packages/kit-headless/project.json index 86b370168..8e2137aaa 100644 --- a/packages/kit-headless/project.json +++ b/packages/kit-headless/project.json @@ -25,28 +25,6 @@ "lintFilePatterns": ["packages/kit-headless/**/*.{ts,tsx,js,jsx}"] } }, - "component-test": { - "executor": "@nx/cypress:cypress", - "options": { - "cypressConfig": "packages/kit-headless/cypress.config.ts", - "testingType": "component", - "watch": true, - "skipNxCache": true, - "env": { - "pluginVisualRegressionCleanupUnusedImages": false - } - } - }, - "component-test-ci": { - "executor": "@nx/cypress:cypress", - "options": { - "cypressConfig": "packages/kit-headless/cypress.config.ts", - "testingType": "component", - "env": { - "pluginVisualRegressionCleanupUnusedImages": false - } - } - }, "e2e": { "executor": "@nx/playwright:playwright", "outputs": ["{workspaceRoot}/dist/.playwright/packages/kit-headless"], diff --git a/packages/kit-headless/src/components/carousel/carousel.test.ts b/packages/kit-headless/src/components/carousel/carousel.test.ts index 797cf5a4b..2b2bc727b 100644 --- a/packages/kit-headless/src/components/carousel/carousel.test.ts +++ b/packages/kit-headless/src/components/carousel/carousel.test.ts @@ -416,7 +416,7 @@ test.describe('Mobile / Touch Behavior', () => { await expect(d.getSlideAt(3)).toHaveAttribute('data-active'); await expect(d.getSlideAt(0)).not.toHaveAttribute('data-active'); }); - + // test(`GIVEN a mobile carousel // WHEN swiping to the next slide // THEN the next slide should snap to the left side of the scroller`, async ({ diff --git a/packages/kit-headless/src/components/tabs/tabs.driver.ts b/packages/kit-headless/src/components/tabs/tabs.driver.ts new file mode 100644 index 000000000..1f4237e13 --- /dev/null +++ b/packages/kit-headless/src/components/tabs/tabs.driver.ts @@ -0,0 +1,57 @@ +import { type Locator, type Page } from '@playwright/test'; + +export type DriverLocator = Locator | Page; + +export function createTabsTestDriver(rootLocator: T) { + const getRoot = () => { + return rootLocator; + }; + + const getTabsRoot = () => { + return getRoot(); + }; + + const getTabList = () => { + return getRoot().getByRole('tablist'); + }; + + const getTab = (index: number | 'last') => { + const tabs = getRoot().getByRole('tab'); + if (index === 'last') return tabs.last(); + return tabs.nth(index); + }; + + const getAllTabs = () => { + return getRoot().getByRole('tab'); + }; + + const getTabPanel = () => { + return getRoot().getByRole('tabpanel'); + }; + + const getAllTabPanels = () => { + return getRoot().locator('[role="tabpanel"]'); + }; + + const getSelectedIndexFromEvent = () => { + return getRoot().locator('[data-testid="selected-index-from-event"]'); + }; + + const getSelectedTabIdFromEvent = () => { + return getRoot().locator('[data-testid="selected-tab-id-from-event"]'); + }; + + return { + ...rootLocator, + locator: rootLocator, + getRoot, + getTabsRoot, + getTabList, + getTab, + getAllTabs, + getTabPanel, + getAllTabPanels, + getSelectedIndexFromEvent, + getSelectedTabIdFromEvent, + }; +} diff --git a/packages/kit-headless/src/components/tabs/tabs.spec.tsx b/packages/kit-headless/src/components/tabs/tabs.spec.tsx deleted file mode 100644 index 4d8886902..000000000 --- a/packages/kit-headless/src/components/tabs/tabs.spec.tsx +++ /dev/null @@ -1,833 +0,0 @@ -import { $, Slot, component$, useSignal, useStore } from '@builder.io/qwik'; -import { HTab, TabProps } from './tab'; -import { HTabPanel, TabPanelProps } from './tab-panel'; -import { HTabs } from './tabs'; -import { HTabList, TabListProps } from './tabs-list'; - -describe('Tabs', () => { - it('INIT', () => { - cy.mount(); - - cy.checkA11yForComponent(); - }); - - it(`GIVEN 3 tabs - WHEN clicking the middle one - THEN render the middle panel`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 2/i }).click(); - - cy.findByRole('tabpanel').should('contain', 'Panel 2'); - }); - - it(`GIVEN 3 tabs - WHEN changing the selected index programmatically to the middle - THEN render the middle panel`, () => { - cy.mount(); - - cy.findByRole('tabpanel').should('contain', 'Panel 1'); - - cy.findByRole('button', { name: /Change index/i }).click(); - - cy.findByRole('tabpanel').should('contain', 'Panel 2'); - }); - - it(`GIVEN 3 tabs - WHEN clicking the middle one - THEN onSelectedIndexChange should be called`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 2/i }).click(); - - cy.findByTestId('selected-index-from-event').should('contain.text', 1); - }); - - it(`GIVEN a tab with a custom onClick$ handler - WHEN tab is clicked on - THEN the handler should be called`, () => { - const TabsWithCustomOnClick = component$(() => { - const wasSelectedSig = useSignal(false); - return ( - - - (wasSelectedSig.value = true)}>HTab 1 - - Custom onClick was called: {`${wasSelectedSig.value}`} - - ); - }); - - cy.mount(); - - cy.findByRole('tab', { name: /Tab 1/i }).click(); - - cy.findByRole('tabpanel').should('contain', 'Custom onClick was called: true'); - }); - - describe('Dynamic Tabs', () => { - it(`GIVEN 3 tabs, - WHEN removing the last one dynamically - THEN only 2 should remain`, () => { - cy.mount(); - - cy.findByRole('button', { name: /remove tab/i }).click(); - - cy.findAllByRole('tab').should('have.length', 2); - }); - - it(`GIVEN 3 tabs, - WHEN selecting 3rd - AND removing 1st dynamically - AND clicking 2nd (now 1st) - THEN the correct tab should be displayed`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 3/i }).click(); - cy.findByTestId('selected-index-from-event').should('contain.text', ': 2'); - - cy.findByRole('button', { name: /remove tab/i }).click(); - - cy.findAllByRole('tab').should('have.length', 2); - - cy.findByRole('tab', { name: /Tab 2/i }).click(); - - cy.findByTestId('selected-index-from-event').should('contain.text', ': 0'); - cy.findByTestId('selected-tab-id-from-event').should( - 'contain.text', - ': Dynamic Tab 2', - ); - }); - - it(`GIVEN 3 tabs - WHEN clicking on the last one and then removing it - THEN tab 2 should be shown`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Dynamic Tab 3/i }).click(); - cy.findByRole('tabpanel').should('contain', 'Dynamic Tab 3 Panel'); - - cy.findByRole('button', { name: /remove tab/i }).click(); - - cy.findByRole('tabpanel').should('contain', 'Dynamic Tab 2 Panel'); - }); - - it(`GIVEN 4 tabs - WHEN clicking on the last one and then removing the 3rd - THEN tab 4 should be shown`, () => { - cy.mount(); - cy.findByRole('tab', { name: /Dynamic Tab 4/i }).click(); - cy.findByRole('button', { name: /remove tab/i }).click(); - - cy.findByRole('tabpanel').should('contain', 'Dynamic Tab 4 Panel'); - }); - - it(`GIVEN 4 tabs - WHEN selecting the 3rd one and adding a tab at the second one - THEN the correct tab should be displayed`, () => { - cy.mount(); - cy.findByRole('tab', { name: /Dynamic Tab 3/i }).click(); - cy.findByRole('button', { name: /add tab/i }).click(); - - cy.findByRole('tabpanel').should('contain', 'Dynamic Tab 3 Panel'); - }); - - interface DynamicTabsProps { - tabIndexToDelete?: number; - tabIndexToAdd?: number; - tabsLength: number; - } - - const DynamicTabsComponent = component$( - ({ tabIndexToDelete = 0, tabIndexToAdd = 0, tabsLength }: DynamicTabsProps) => { - const tabNames = Array(tabsLength) - .fill(1) - .map((_, index) => `Dynamic Tab ${index + 1}`); - - const tabsState = useStore(tabNames); - const selectedIndexSig = useSignal(0); - const selectedTabIdSig = useSignal(); - - return ( - <> - - - {tabsState.map((tab) => ( - {tab} - ))} - - {tabsState.map((tab) => ( - // Making sure the key is taken from the tab - {tab} Panel - ))} - - - - {selectedIndexSig.value !== undefined && ( -
- Selected index: {selectedIndexSig.value} -
- )} - {selectedTabIdSig.value !== undefined && ( -
- Selected tab id: {selectedTabIdSig.value} -
- )} - - ); - }, - ); - }); - - describe('Manual Tab Ids', () => { - it(`GIVEN 2 tabs and tab ids are set on tabs - WHEN clicking on the second tab - THEN the second panel should be displayed - and the selectTabId should match the second tab id - `, () => { - const ManualTabIdsComponent = component$(() => { - const selectedTabIdSig = useSignal(); - return ( - <> - - - Tab 1 - Tab 2 - - Panel 1 - Panel 2 - - {selectedTabIdSig.value && ( -
- Selected tab id: {selectedTabIdSig.value} -
- )} - - ); - }); - - cy.mount(); - - cy.findByRole('tab', { name: /Tab 2/i }).click(); - - cy.findByRole('tabpanel').should('contain', 'Panel 2'); - cy.findByTestId('selected-tab-id-from-event').should('contain', 'second'); - }); - }); - - describe('Tabs inside of tabs', () => { - it(`GIVEN tabs inside of tabs - WHEN clicking on the root second tab - THEN it should show only the selected root panel`, () => { - cy.mount(); - - cy.findAllByRole('tab', { name: /Tab 2/i }).first().click(); - - cy.findByRole('tabpanel').should('be.visible').should('contain', 'Root Panel 2'); - }); - - it(`GIVEN tabs inside of tabs - WHEN clicking on the child second tab - THEN it should show only the selected child panel`, () => { - cy.mount(); - - cy.findAllByRole('tab', { name: /Tab 2/i }).eq(1).as('childTab'); - cy.get('@childTab').click(); - - cy.findAllByRole('tabpanel').eq(1).should('contain', 'Child Panel 2'); - }); - - const TabsInsideOfTabs = component$(() => { - return ( - - - Tab 1 - Tab 2 - Tab 3 - - - - - - Tab 1 - Tab 2 - Tab 3 - - - Panel 1 - Child Panel 2 - Panel 3 - - - Root Panel 2 - Panel 3 - - ); - }); - }); - - describe('Orientation: Horizontal', () => { - describe('RIGHT key handling', () => { - it(`GIVEN 3 tabs and the focus is on the first, - WHEN triggering the right arrow key - THEN the focus should be on the next tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{rightarrow}'); - - cy.findByRole('tab', { name: /Tab 2/i }).should('have.focus'); - }); - - it(`GIVEN 3 tabs and the focus is on the last, - WHEN triggering the right arrow key - THEN the focus should be on the first tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 3/i }).type('{rightarrow}'); - - cy.findByRole('tab', { name: /Tab 1/i }).should('have.focus'); - }); - }); - - describe('LEFT key handling', () => { - it(`GIVEN 3 tabs and the focus is on the second, - WHEN triggering the left arrow key - THEN the focus should be on the first tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 2/i }).type('{leftarrow}'); - - cy.findByRole('tab', { name: /Tab 1/i }).should('have.focus'); - }); - - it(`GIVEN 3 tabs and the focus is on the first, - WHEN triggering the left arrow key - THEN the focus should be on the last tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{leftarrow}'); - - cy.findByRole('tab', { name: /Tab 3/i }).should('have.focus'); - }); - }); - - describe('Manual behavior', () => { - it(`GIVEN 3 tabs - WHEN clicking the first one and triggering the right arrow key and then "enter" - THEN the middle panel should be selected`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 1/i }).click().type('{rightarrow}'); - - const secondTab = cy.findByRole('tab', { name: /Tab 2/i }); - secondTab.should('be.focused'); - cy.findByRole('tabpanel').should('contain', 'Panel 1'); - - secondTab.type('{enter}'); - - cy.findByRole('tabpanel').should('contain', 'Panel 2'); - }); - }); - }); - - describe('Orientation: Vertical', () => { - describe('DOWN key handling', () => { - it(`GIVEN 3 vertical tabs and the focus is on the first, - WHEN triggering the down arrow key - THEN the focus should be on the next tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{downarrow}'); - - cy.findByRole('tab', { name: /Tab 2/i }).should('have.focus'); - }); - - it(`GIVEN 3 vertical tabs and the focus is on the last, - WHEN triggering the down arrow key - THEN the focus should be on the first tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 3/i }).type('{downarrow}'); - - cy.findByRole('tab', { name: /Tab 1/i }).should('have.focus'); - }); - - it(`GIVEN 3 vertical tabs and the focus is on the first, - WHEN triggering the right arrow key or left arrow key - THEN the focus should stay on the first tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{rightarrow}'); - - cy.findByRole('tab', { name: /Tab 1/i }).should('have.focus'); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{leftarrow}'); - - cy.findByRole('tab', { name: /Tab 1/i }).should('have.focus'); - }); - }); - - describe('UP key handling', () => { - it(`GIVEN 3 vertical tabs and the focus is on the second, - WHEN triggering the up arrow key - THEN the focus should be on the first tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 2/i }).type('{uparrow}'); - - cy.findByRole('tab', { name: /Tab 1/i }).should('have.focus'); - }); - - it(`GIVEN 3 vertical tabs and the focus is on the first, - WHEN triggering the up arrow key - THEN the focus should be on the last tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{uparrow}'); - - cy.findByRole('tab', { name: /Tab 3/i }).should('have.focus'); - }); - }); - }); - - describe('Home, End, PageUp and PageDown keys handling', () => { - it(`GIVEN 3 tabs and the focus is on the third, - WHEN triggering the 'home' key - THEN the focus should be on the first tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 3/i }).type('{home}'); - - cy.findByRole('tab', { name: /Tab 1/i }).should('have.focus'); - }); - - it(`GIVEN 3 vertical tabs and the focus is on the third, - WHEN triggering the 'home' key - THEN the focus should be on the first tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 3/i }).type('{home}'); - - cy.findByRole('tab', { name: /Tab 1/i }).should('have.focus'); - }); - - it(`GIVEN 3 tabs and the focus is on the third, - WHEN triggering the 'home' key - THEN the focus should be on the first tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 3/i }).type('{pageUp}'); - - cy.findByRole('tab', { name: /Tab 1/i }).should('have.focus'); - }); - - it(`GIVEN 3 tabs and the focus is on the third, - WHEN triggering the 'end' key - THEN the focus should be on the last tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{end}'); - - cy.findByRole('tab', { name: /Tab 3/i }).should('have.focus'); - }); - - it.skip( - `GIVEN 3 tabs on a long page and the focus is on the third, - WHEN triggering the 'end' key - THEN the focus should be on the last tab and page should not scroll`, - { scrollBehavior: false }, - () => { - cy.mount( -
-
- -
-
Outside
-
, - ); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{pageDown}'); - - cy.window().its('scrollY').should('equal', 0); - }, - ); - - it(`GIVEN 3 tabs and the focus is on the third, - WHEN triggering the 'end' key - THEN the focus should be on the first tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{pageDown}'); - - cy.findByRole('tab', { name: /Tab 3/i }).should('have.focus'); - }); - }); - - interface ThreeTabsCompProps { - isVertical?: boolean; - changeIndexTo?: number; - } - - const ThreeTabsComponent = component$( - ({ isVertical = false, changeIndexTo = 0 }: ThreeTabsCompProps) => { - const displayedSelectedIndexSig = useSignal(); - const onSelectedIndexChange$ = $((index: number) => { - displayedSelectedIndexSig.value = index; - }); - const selectedIndex = useSignal(0); - - return ( - <> - - - Tab 1 - Tab 2 - Tab 3 - - - Panel 1 - Panel 2 - Panel 3 - - -
- - - -
- - {displayedSelectedIndexSig.value !== undefined && ( -
- Selected index from event: {displayedSelectedIndexSig.value} -
- )} - - ); - }, - ); - - describe('Disabled tabs', () => { - it(`GIVEN 3 tabs and the first one is disabled - WHEN loading the component - THEN the selected tab should be the middle`, () => { - cy.mount(); - - cy.findByRole('tabpanel').should('contain', 'Panel 2'); - - cy.findByRole('tab', { name: /Tab 1/ }).should('not.have.class', 'selected'); - }); - - it(`GIVEN 5 tabs with tab 3 selected and tabs 3-5 are disabled - WHEN loading the component - THEN the selected tab should be the second tab`, () => { - cy.mount( - - - Tab 1 - Tab 2 - Tab 3 - Tab 4 - Tab 5 - - Panel 1 - Panel 2 - Panel 3 - Panel 4 - Panel 5 - , - ); - - cy.findByRole('tabpanel').should('contain', 'Panel 2'); - }); - - it(`GIVEN 3 tabs written with the short version and the middle TabPanel has a disabled prop - WHEN focusing on first component and hitting the right key - THEN the selected tab should be the third one`, () => { - cy.mount( - - Panel 1 - - Panel 2 - - Panel 3 - , - ); - cy.findByRole('tab', { name: /Tab 1/i }).type('{rightarrow}'); - cy.findByRole('tab', { name: /Tab 3/i }).should('have.focus'); - }); - - it(`GIVEN 3 disabled tab - WHEN loading the component - THEN no panel or tab should be selected`, () => { - cy.mount( - - - Tab 1 - - Panel 1 - , - ); - - cy.findByRole('tabpanel').should('not.exist'); - }); - - it(`GIVEN 3 horizontal tabs and the focus is on the first, - WHEN disabling the middle dynamically and triggering the right arrow key - THEN the focus should be on the third tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 2/i }).should('be.disabled'); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{rightarrow}'); - - cy.findByRole('tab', { name: /Tab 3/i }).should('have.focus'); - }); - - it(`GIVEN 3 horizontal tabs with the first one disabled and last one is focused - WHEN triggering the right arrow key - THEN the focus should be on the second tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 3/i }).type('{rightarrow}'); - - cy.findByRole('tab', { name: /Tab 2/i }).should('have.focus'); - }); - - it(`GIVEN 3 horizontal tabs with the first one disabled and last one is focused - WHEN triggering the right arrow key - THEN the focus should be on the second tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 2/i }).type('{rightarrow}'); - - cy.findByRole('tab', { name: /Tab 1/i }).should('have.focus'); - }); - - it(`GIVEN 3 tabs and the last is disabled and the focus is on the first, - WHEN triggering the 'end' key - THEN the focus should be on the second tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{end}'); - - cy.findByRole('tab', { name: /Tab 2/i }).should('have.focus'); - }); - - it(`GIVEN 3 tabs and the first is disabled and the focus is on the third, - WHEN triggering the 'home' key - THEN the focus should be on the second tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 3/i }).type('{home}'); - - cy.findByRole('tab', { name: /Tab 2/i }).should('have.focus'); - }); - - it(`GIVEN 3 tabs and the second is disabled and the focus is on the first, - WHEN triggering the right arrow key - THEN the focus should be on the third tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{rightarrow}'); - - cy.findByRole('tab', { name: /Tab 3/i }).should('have.focus'); - }); - - it(`GIVEN 3 tabs and the focus is on the first, - WHEN disabling the middle dynamically and triggering the down arrow key - THEN the focus should be on the third tab`, () => { - cy.mount(); - - cy.findByRole('button', { name: 'Toggle middle tab disabled' }).click(); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{rightarrow}'); - - cy.findByRole('tab', { name: /Tab 3/i }).should('have.focus'); - }); - - it(`GIVEN 3 tabs and the second is disabled and the focus is on the third, - WHEN triggering the left arrow key - THEN the focus should be on the first tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 3/i }).type('{leftarrow}'); - - cy.findByRole('tab', { name: /Tab 1/i }).should('have.focus'); - }); - - it(`GIVEN 3 vertical tabs and the second is disabled and the focus is on the first, - WHEN triggering the down arrow key - THEN the focus should be on the third tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 1/i }).type('{downarrow}'); - - cy.findByRole('tab', { name: /Tab 3/i }).should('have.focus'); - }); - - it(`GIVEN 3 vertical tabs and the second is disabled and the focus is on the third, - WHEN triggering the up arrow key - THEN the focus should be on the first tab`, () => { - cy.mount(); - - cy.findByRole('tab', { name: /Tab 3/i }).type('{uparrow}'); - - cy.findByRole('tab', { name: /Tab 1/i }).should('have.focus'); - }); - - const PotentiallyDisabledThreeTabs = component$( - (props: { - disabledIndex?: number; - isVertical?: boolean; - showDisableButton?: boolean; - }) => { - const isMiddleDisabledSig = useSignal(false); - return ( -
- - - Tab 1 - - Tab 2 - - Tab 3 - - Panel 1 - Panel 2 - Panel 3 - - {props.showDisableButton && ( - - )} -
- ); - }, - ); - }); - - describe('Shorthand API', () => { - it(`GIVEN 3 tabs written using shorthand - WHEN clicking the middle one - THEN render the middle panel`, () => { - cy.mount( - - HTab 1 - Panel 1 - Panel 2 - Panel 3 - HTab 3 - , - ); - - cy.get('[role="tab"]').should('have.length', 3); - - cy.findByRole('tabpanel').should('contain', 'Panel 3'); - - cy.findByRole('tab', { name: /Tab 2/i }).click(); - - cy.findByRole('tabpanel').should('contain', 'Panel 2'); - - cy.findByRole('tablist').should('exist'); - }); - }); - - describe('User-defined reusable TabList/Tab/TabPanel components', () => { - const CustomTabList = component$(() => { - return ( - - - - ); - }); - - const CustomTab = component$(({ ...props }) => { - return ( - - - - ); - }); - - const CustomTabPanel = component$(({ ...props }) => { - return ( - - - - ); - }); - - const CustomThreeTabsComponent = component$(() => { - return ( - <> - - - Tab 1 - Tab 2 - Tab 3 - - Panel 1 - Panel 2 - Panel 3 - - - ); - }); - it(`GIVEN a user-defined TabList to Tabs - WHEN clicking the middle Tab - THEN render the middle panel`, () => { - cy.mount(); - - cy.get('[role="tab"]').should('have.length', 3); - - cy.findByRole('tabpanel').should('contain', 'Panel 1'); - - cy.findByRole('tab', { name: /Tab 2/i }).click(); - - cy.findByRole('tabpanel').should('contain', 'Panel 2'); - - cy.findByRole('tablist').should('exist'); - }); - }); -}); diff --git a/packages/kit-headless/src/components/tabs/tabs.test.ts b/packages/kit-headless/src/components/tabs/tabs.test.ts new file mode 100644 index 000000000..249d93a5d --- /dev/null +++ b/packages/kit-headless/src/components/tabs/tabs.test.ts @@ -0,0 +1,511 @@ +import AxeBuilder from '@axe-core/playwright'; +import { expect, test, type Page } from '@playwright/test'; +import { createTabsTestDriver } from './tabs.driver'; + +async function setup(page: Page, exampleName: string) { + await page.goto(`/headless/tabs/${exampleName}`); + + const driver = createTabsTestDriver(page.locator('[data-qui-tabs-root]')); + + return { + driver, + }; +} + +test.describe.only('Tabs', () => { + test('INIT', async ({ page }) => { + const { driver: d } = await setup(page, 'first'); + await expect(d.getTabsRoot()).toBeVisible(); + const axeResults = await new AxeBuilder({ page }) + .include('[data-qui-tabs-root]') + .analyze(); + expect(axeResults.violations).toEqual([]); + }); + + test(`GIVEN 3 tabs + WHEN clicking the middle one + THEN render the middle panel`, async ({ page }) => { + const { driver: d } = await setup(page, 'first'); + + await d.getTab(1).click(); + await expect(d.getTab(0)).toHaveAttribute('aria-selected', 'false'); + await expect(d.getTab(1)).toHaveAttribute('aria-selected', 'true'); + await expect(d.getTab(2)).toHaveAttribute('aria-selected', 'false'); + await expect(d.getTabPanel()).toBeVisible(); + await expect(d.getTabPanel()).toHaveId(/_1/); + }); + + test(`GIVEN 3 tabs + WHEN changing the selected index programmatically to the middle + THEN render the middle panel`, async ({ page }) => { + const { driver: d } = await setup(page, 'programmatic'); + + await expect(d.getTabPanel()).toHaveId(/_0/); + await page.getByRole('button', { name: /Select Tab 1/i }).click(); + await expect(d.getTabPanel()).toHaveId(/_1/); + }); + + test(`GIVEN 3 tabs + WHEN clicking the middle one + THEN onSelectedIndexChange should be called`, async ({ page }) => { + const { driver: d } = await setup(page, 'on-selected-index-change'); + + await expect(page.getByText(/Selected Index/i)).toContainText('0'); + await d.getTab(1).click(); + await expect(page.getByText(/Selected Index/i)).toContainText('1'); + }); + + test(`GIVEN a tab with a custom onClick$ handler + WHEN tab is clicked on + THEN the handler should be called`, async ({ page }) => { + const { driver: d } = await setup(page, 'on-click'); + + await expect(d.getTab(0)).toContainText('Maria'); + await d.getTab(0).click(); + await expect(d.getTab(0)).toContainText('Jack'); + }); + + test.describe('Dynamic Tabs', () => { + test(`GIVEN 3 tabs, + WHEN removing the last one dynamically + THEN only 2 should remain`, async ({ page }) => { + const { driver: d } = await setup(page, 'dynamic'); + + await d.getTab(2).getByText('x').click(); + await expect(d.getAllTabs()).toHaveCount(2); + }); + + test(`GIVEN 3 tabs, + WHEN selecting 3rd + AND removing 1st dynamically + AND clicking 2nd (now 1st) + THEN the correct tab should be displayed`, async ({ page }) => { + const { driver: d } = await setup(page, 'dynamic'); + + await d.getTab(2).click(); + await expect(d.getTabPanel()).toHaveId(/_2/); + + await d.getTab(0).getByText('x').click(); + await expect(d.getAllTabs()).toHaveCount(2); + + await d.getTab(0).click(); + await expect(d.getTabPanel()).toHaveId(/_0/); + }); + + test(`GIVEN 3 tabs + WHEN clicking on the last one and then removing it + THEN the second tab should be shown`, async ({ page }) => { + const { driver: d } = await setup(page, 'dynamic'); + + await d.getTab(2).click(); + await expect(d.getTabPanel()).toHaveId(/_2/); + + await d.getTab(2).getByText('x').click(); + await expect(d.getTabPanel()).toHaveId(/_1/); + await expect(d.getTabPanel()).toHaveText(/Tab 2/); + }); + + test(`GIVEN 3 tabs + WHEN clicking on the 3rd one and then removing the 2nd + THEN the third tab should be shown`, async ({ page }) => { + const { driver: d } = await setup(page, 'dynamic'); + + await d.getTab(2).click(); + await d.getTab(1).getByText('x').click(); + await expect(d.getTabPanel()).toHaveText(/Tab 3/); + await expect(d.getTabPanel()).toHaveId(/_1/); + }); + + // TODO: doesn't work atm, needs to be fixed + test.skip(`GIVEN 3 tabs + WHEN adding 1 tab before + the 2nd tab should remain selected + `, async () => { + // const { driver: d } = await setup(page, 'dynamic'); + // TODO: add logic + }); + }); + + test.describe('Manual Tab Ids', () => { + test(`GIVEN 2 tabs with custom tab ids + WHEN clicking on the second tab + THEN the second panel should be displayed + AND the selectedTabId should match the second tab id`, async ({ page }) => { + const { driver: d } = await setup(page, 'selected-tab-id'); + + await d.getTab(1).click(); + await expect(d.getTabPanel()).toHaveId(/id-1/i); + }); + }); + // TODO: Needs fix -> QWIK ERROR Code(3): Only primitive and object literals can be serialized [Function: HTabs] Error: Code(3): Only primitive and object literals can be serialized + test.describe.skip('Tabs inside of tabs', () => { + test(`GIVEN tabs inside of tabs + WHEN clicking on the root second tab + THEN it should show only the selected root panel`, async ({ page }) => { + const { driver: d } = await setup(page, 'test-tabs-inside-of-tabs'); + + await d.getAllTabs().nth(1).click(); + await expect(d.getTabPanel()).toBeVisible(); + await expect(d.getTabPanel()).toContainText(/Carl Joachim Andersen/i); + }); + + test(`GIVEN tabs inside of tabs + WHEN clicking on the child second tab + THEN it should show only the selected child panel`, async ({ page }) => { + const { driver: d } = await setup(page, 'test-tabs-inside-of-tabs'); + + await d.getAllTabs().nth(4).click(); // Click the child tab + await expect(d.getAllTabPanels().nth(1)).toContainText('Child Panel 2'); + }); + }); +}); + +test.describe('Orientation: Horizontal', () => { + test.describe('RIGHT key handling', () => { + test(`GIVEN 3 tabs and the focus is on the first, + WHEN triggering the right arrow key + THEN the focus should be on the next tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'first'); + + await d.getTab(0).focus(); + await d.getTab(0).press('ArrowRight'); + await expect(d.getTab(1)).toBeFocused(); + }); + + test(`GIVEN 3 tabs and the focus is on the last, + WHEN triggering the right arrow key + THEN the focus should be on the first tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'first'); + + await d.getTab(2).focus(); + await d.getTab(2).press('ArrowRight'); + await expect(d.getTab(0)).toBeFocused(); + }); + }); + + test.describe('LEFT key handling', () => { + test(`GIVEN 3 tabs and the focus is on the second, + WHEN triggering the left arrow key + THEN the focus should be on the first tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'first'); + + await d.getTab(1).focus(); + await d.getTab(1).press('ArrowLeft'); + await expect(d.getTab(0)).toBeFocused(); + }); + + test(`GIVEN 3 tabs and the focus is on the first, + WHEN triggering the left arrow key + THEN the focus should be on the last tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'first'); + + await d.getTab(0).focus(); + await d.getTab(0).press('ArrowLeft'); + await expect(d.getTab(2)).toBeFocused(); + }); + }); + + test.describe('Manual behavior', () => { + test(`GIVEN 3 tabs + WHEN clicking the first one and triggering the right arrow key and then "enter" + THEN the middle panel should be selected`, async ({ page }) => { + const { driver: d } = await setup(page, 'manual'); + + await d.getTab(0).click(); + await d.getTab(0).press('ArrowRight'); + await expect(d.getTabPanel()).toHaveId(/_0/); + await d.getTab(1).press('Enter'); + await expect(d.getTabPanel()).toHaveId(/_1/); + }); + }); +}); + +test.describe('Orientation: Vertical', () => { + test.describe('DOWN key handling', () => { + test(`GIVEN 3 vertical tabs and the focus is on the first, + WHEN triggering the down arrow key + THEN the focus should be on the next tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'vertical'); + + await d.getTab(0).focus(); + await d.getTab(0).press('ArrowDown'); + await expect(d.getTab(1)).toBeFocused(); + }); + + test(`GIVEN 3 vertical tabs and the focus is on the last, + WHEN triggering the down arrow key + THEN the focus should be on the first tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'vertical'); + + await d.getTab(2).focus(); + await d.getTab(2).press('ArrowDown'); + await expect(d.getTab(0)).toBeFocused(); + }); + + test(`GIVEN 3 vertical tabs and the focus is on the first, + WHEN triggering the right arrow key or left arrow key + THEN the focus should stay on the first tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'vertical'); + + await d.getTab(0).focus(); + await d.getTab(0).press('ArrowRight'); + await expect(d.getTab(0)).toBeFocused(); + + await d.getTab(0).press('ArrowLeft'); + await expect(d.getTab(0)).toBeFocused(); + }); + }); + + test.describe('UP key handling', () => { + test(`GIVEN 3 vertical tabs and the focus is on the second, + WHEN triggering the up arrow key + THEN the focus should be on the first tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'vertical'); + + await d.getTab(1).focus(); + await d.getTab(1).press('ArrowUp'); + await expect(d.getTab(0)).toBeFocused(); + }); + + test(`GIVEN 3 vertical tabs and the focus is on the first, + WHEN triggering the up arrow key + THEN the focus should be on the last tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'vertical'); + + await d.getTab(0).focus(); + await d.getTab(0).press('ArrowUp'); + await expect(d.getTab(2)).toBeFocused(); + }); + }); +}); + +test.describe('Home, End, PageUp and PageDown keys handling', () => { + test(`GIVEN 3 tabs and the focus is on the third, + WHEN triggering the 'home' key + THEN the focus should be on the first tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'first'); + + await d.getTab(2).focus(); + await d.getTab(2).press('Home'); + await expect(d.getTab(0)).toBeFocused(); + }); + + test(`GIVEN 3 vertical tabs and the focus is on the third, + WHEN triggering the 'home' key + THEN the focus should be on the first tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'vertical'); + + await d.getTab(2).focus(); + await d.getTab(2).press('Home'); + await expect(d.getTab(0)).toBeFocused(); + }); + + test(`GIVEN 3 tabs and the focus is on the third, + WHEN triggering the 'pageUp' key + THEN the focus should be on the first tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'first'); + + await d.getTab(2).focus(); + await d.getTab(2).press('PageUp'); + await expect(d.getTab(0)).toBeFocused(); + }); + + test(`GIVEN 3 tabs and the focus is on the first, + WHEN triggering the 'end' key + THEN the focus should be on the last tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'first'); + + await d.getTab(0).focus(); + await d.getTab(0).press('End'); + await expect(d.getTab(2)).toBeFocused(); + }); + + test(`GIVEN 3 tabs on a long page and the focus is on the third, + WHEN triggering the 'pageDown' key + THEN the focus should be on the last tab and the page should not scroll`, async ({ + page, + }) => { + const { driver: d } = await setup(page, 'first'); + + await d.getTab(0).focus(); + await d.getTab(0).press('PageDown'); + const scrollY = await page.evaluate(() => window.scrollY); + expect(scrollY).toBe(0); + }); + + test(`GIVEN 3 tabs and the focus is on the first, + WHEN triggering the 'pageDown' key + THEN the focus should be on the last tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'first'); + + await d.getTab(0).focus(); + await d.getTab(0).press('PageDown'); + await expect(d.getTab(2)).toBeFocused(); + }); +}); + +test.describe('Disabled tabs', () => { + test(`GIVEN 4 tabs and the first one is disabled + WHEN loading the component + THEN the selected tab be the second`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await expect(d.getTab(0)).toBeDisabled(); + await expect(d.getTabPanel()).toHaveId(/_1/); + }); + + // TODO: ask jack -> what is the purpose of this test? how can we have 4 tabs and 3-5 disabled 😅? + test.skip(`GIVEN 4 tabs with tab 3 selected and tabs 3-5 are disabled + WHEN loading the component + THEN the selected tab should be the second tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await expect(d.getTabPanel()).toContainText('Panel 2'); + await expect(d.getTab(2)).toBeDisabled(); + await expect(d.getTab(3)).toBeDisabled(); + await expect(d.getTab(4)).toBeDisabled(); + }); + + // skipping short version for now + test.skip(`GIVEN 4 tabs written with the short version and the middle TabPanel has a disabled prop + WHEN focusing on first component and hitting the right key + THEN the selected tab should be the third one`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await d.getTab(0).focus(); + await d.getTab(0).press('ArrowRight'); + await expect(d.getTab(2)).toBeFocused(); + }); + + // TODO: requires playwright component testing or a separete test-example file + test.skip(`GIVEN 4 disabled tabs + WHEN loading the component + THEN no panel or tab should be selected`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await expect(d.getTabPanel()).not.toBeVisible(); + }); + + test(`GIVEN 4 horizontal tabs and the first and third tabs are disabled and focus is on the second, + WHEN triggering the right arrow key + THEN the focus should be on the fourth tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await d.getTab(1).focus(); + await d.getTab(1).press('ArrowRight'); + await expect(d.getTab(3)).toBeFocused(); + }); + + test(`GIVEN 4 horizontal tabs with the first one disabled and last one is focused + WHEN triggering the right arrow key + THEN the focus should be on the second tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await d.getTab(3).focus(); + await d.getTab(3).press('ArrowRight'); + await expect(d.getTab(1)).toBeFocused(); + }); + + test(`GIVEN 4 tabs and the first and third are disabled and the focus is on the second, + WHEN triggering the 'end' key + THEN the focus should be on the fourth tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await d.getTab(1).focus(); + await d.getTab(1).press('End'); + await expect(d.getTab(3)).toBeFocused(); + }); + + test(`GIVEN 4 tabs and the first is disabled and the focus is on the fourth, + WHEN triggering the 'home' key + THEN the focus should be on the second tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await d.getTab(3).focus(); + await d.getTab(3).press('Home'); + await expect(d.getTab(1)).toBeFocused(); + }); + + test(`GIVEN 4 tabs and the first and thrid are disabled and the focus is on the second, + WHEN triggering the right arrow key + THEN the focus should be on the fourth tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await d.getTab(1).focus(); + await d.getTab(1).press('ArrowRight'); + await expect(d.getTab(3)).toBeFocused(); + }); + + // TODO: should this be the case? If so, it doesn't work. + test.skip(`GIVEN 4 tabs and the first and third are disabled and the focus is on the second, + WHEN triggering the down arrow key + THEN the focus should be on the fourth tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await d.getTab(1).focus(); + await d.getTab(1).press('ArrowDown'); + await expect(d.getTab(3)).toBeFocused(); + }); + + test(`GIVEN 4 tabs and the first and third are disabled and the focus is on the fourth, + WHEN triggering the left arrow key + THEN the focus should be on the second tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await d.getTab(3).focus(); + await d.getTab(3).press('ArrowLeft'); + await expect(d.getTab(1)).toBeFocused(); + }); + + // TODO: requires playwright component testing or a separete test-example file + test.skip(`GIVEN 3 vertical tabs and the second is disabled and the focus is on the first, + WHEN triggering the down arrow key + THEN the focus should be on the third tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await d.getTab(0).focus(); + await d.getTab(0).press('ArrowDown'); + await expect(d.getTab(2)).toBeFocused(); + }); + + // TODO: requires playwright component testing or a separete test-example file + test.skip(`GIVEN 3 vertical tabs and the second is disabled and the focus is on the third, + WHEN triggering the up arrow key + THEN the focus should be on the first tab`, async ({ page }) => { + const { driver: d } = await setup(page, 'disabled'); + + await d.getTab(2).focus(); + await d.getTab(2).press('ArrowUp'); + await expect(d.getTab(0)).toBeFocused(); + }); +}); + +test.skip('Shorthand API', () => { + test(`GIVEN 3 tabs written using shorthand + WHEN clicking the middle one + THEN render the middle panel`, async ({ page }) => { + const { driver: d } = await setup(page, 'shorthand-api-tabs'); + + await expect(d.getAllTabs()).toHaveCount(3); + + await expect(d.getTabPanel()).toContainText('Panel 3'); + await d.getTab(1).click(); + await expect(d.getTabPanel()).toContainText('Panel 2'); + await expect(d.getTabList()).toBeVisible(); + }); +}); + +test.describe.skip('User-defined reusable TabList/Tab/TabPanel components', () => { + test(`GIVEN a user-defined TabList to Tabs + WHEN clicking the middle Tab + THEN render the middle panel`, async ({ page }) => { + const { driver: d } = await setup(page, 'reusable'); + + await expect(d.getAllTabs()).toHaveCount(3); + + await expect(d.getTabPanel()).toContainText('Panel 1'); + await d.getTab(1).click(); + await expect(d.getTabPanel()).toContainText('Panel 2'); + await expect(d.getTabList()).toBeVisible(); + }); +}); diff --git a/packages/kit-headless/src/components/tabs/tabs.tsx b/packages/kit-headless/src/components/tabs/tabs.tsx index 708fbf3ac..57e6a0bc3 100644 --- a/packages/kit-headless/src/components/tabs/tabs.tsx +++ b/packages/kit-headless/src/components/tabs/tabs.tsx @@ -348,7 +348,7 @@ export const TabsImpl = component$((props: TabsProps & { tabInfoList: TabInfo[] useContextProvider(tabsContextId, contextService); return ( -
+
); diff --git a/packages/kit-headless/tsconfig.editor.json b/packages/kit-headless/tsconfig.editor.json index 0a701cad9..51c845a06 100644 --- a/packages/kit-headless/tsconfig.editor.json +++ b/packages/kit-headless/tsconfig.editor.json @@ -7,6 +7,6 @@ "src/components/carousel/carousel.test.ts" ], "compilerOptions": { - "types": ["node", "jest", "@testing-library/jest-dom", "@testing-library/cypress"] + "types": ["node", "jest", "@testing-library/jest-dom"] } } diff --git a/packages/kit-headless/tsconfig.json b/packages/kit-headless/tsconfig.json index 8e93230d4..f73b68be9 100644 --- a/packages/kit-headless/tsconfig.json +++ b/packages/kit-headless/tsconfig.json @@ -31,9 +31,6 @@ }, { "path": "./tsconfig.editor.json" - }, - { - "path": "./cypress/tsconfig.json" } ] } diff --git a/packages/kit-headless/tsconfig.lib.json b/packages/kit-headless/tsconfig.lib.json index 60d26e8a7..fba33888d 100644 --- a/packages/kit-headless/tsconfig.lib.json +++ b/packages/kit-headless/tsconfig.lib.json @@ -6,8 +6,6 @@ }, "files": [], "exclude": [ - "cypress/**/*", - "cypress.config.ts", "**/*.cy.ts", "**/*.cy.js", "**/*.cy.tsx", diff --git a/packages/kit-headless/tsconfig.spec.json b/packages/kit-headless/tsconfig.spec.json index e7af2b2a7..0a8516abd 100644 --- a/packages/kit-headless/tsconfig.spec.json +++ b/packages/kit-headless/tsconfig.spec.json @@ -4,9 +4,6 @@ "outDir": "../../dist/out-tsc", "types": [ "vitest/globals", - "cypress", - "cypress-axe", - "@testing-library/cypress", "node" ] }, diff --git a/packages/kit-styled/tsconfig.generators.json b/packages/kit-styled/tsconfig.generators.json index c60998c89..3d9ddbab5 100644 --- a/packages/kit-styled/tsconfig.generators.json +++ b/packages/kit-styled/tsconfig.generators.json @@ -8,8 +8,6 @@ }, "files": [], "exclude": [ - "cypress/**/*", - "cypress.config.ts", "**/*.cy.ts", "**/*.cy.js", "**/*.cy.tsx", diff --git a/packages/kit-styled/tsconfig.lib.json b/packages/kit-styled/tsconfig.lib.json index f9825f668..1f255190b 100644 --- a/packages/kit-styled/tsconfig.lib.json +++ b/packages/kit-styled/tsconfig.lib.json @@ -7,8 +7,6 @@ "files": [], "exclude": [ "jest.config.ts", - "cypress/**/*", - "cypress.config.ts", "**/*.cy.ts", "**/*.cy.js", "**/*.cy.tsx", diff --git a/packages/themes/tsconfig.lib.json b/packages/themes/tsconfig.lib.json index f9825f668..1f255190b 100644 --- a/packages/themes/tsconfig.lib.json +++ b/packages/themes/tsconfig.lib.json @@ -7,8 +7,6 @@ "files": [], "exclude": [ "jest.config.ts", - "cypress/**/*", - "cypress.config.ts", "**/*.cy.ts", "**/*.cy.js", "**/*.cy.tsx", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0454327d2..0464388de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,12 +29,6 @@ importers: '@clack/prompts': specifier: ^0.7.0 version: 0.7.0 - '@cypress/code-coverage': - specifier: ^3.12.39 - version: 3.12.39(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))(babel-loader@9.1.3(@babel/core@7.24.6)(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)))(cypress@13.13.0)(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)) - '@cypress/vite-dev-server': - specifier: ^5.1.0 - version: 5.1.0 '@floating-ui/core': specifier: ^1.6.2 version: 1.6.2 @@ -56,9 +50,6 @@ importers: '@modular-forms/qwik': specifier: ^0.24.0 version: 0.24.0(@builder.io/qwik-city@1.7.3(@types/node@20.12.12)(rollup@4.18.0)(sass@1.77.4)(terser@5.31.1))(@builder.io/qwik@1.7.3(@types/node@20.12.12)(sass@1.77.4)(terser@5.31.1)) - '@nx/cypress': - specifier: 19.4.2 - version: 19.4.2(@babel/traverse@7.24.6)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))(@types/node@20.12.12)(@zkochan/js-yaml@0.0.7)(cypress@13.13.0)(eslint@8.57.0)(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11)))(typescript@5.4.5)(verdaccio@5.31.0(typanion@3.14.0)) '@nx/devkit': specifier: 19.4.2 version: 19.4.2(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))) @@ -104,9 +95,6 @@ importers: '@swc/core': specifier: ^1.5.7 version: 1.5.29(@swc/helpers@0.5.11) - '@testing-library/cypress': - specifier: 10.0.1 - version: 10.0.1(cypress@13.13.0) '@types/decompress': specifier: 4.2.7 version: 4.2.7 @@ -161,18 +149,6 @@ importers: clsx: specifier: ^2.1.1 version: 2.1.1 - cypress: - specifier: 13.13.0 - version: 13.13.0 - cypress-axe: - specifier: 1.5.0 - version: 1.5.0(axe-core@4.9.1)(cypress@13.13.0) - cypress-ct-qwik: - specifier: 0.3.0 - version: 0.3.0(@builder.io/qwik@1.7.3(@types/node@20.12.12)(sass@1.77.4)(terser@5.31.1))(cypress@13.13.0) - cypress-real-events: - specifier: 1.12.0 - version: 1.12.0(cypress@13.13.0) danger: specifier: ^11.3.1 version: 11.3.1 @@ -188,9 +164,6 @@ importers: eslint-config-prettier: specifier: ^9.1.0 version: 9.1.0(eslint@8.57.0) - eslint-plugin-cypress: - specifier: ^3.2.0 - version: 3.3.0(eslint@8.57.0) eslint-plugin-playwright: specifier: ^1.6.2 version: 1.6.2(eslint@8.57.0) @@ -1153,44 +1126,14 @@ packages: cpu: [x64] os: [win32] - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@cypress/code-coverage@3.12.39': - resolution: {integrity: sha512-ja7I/GRmkSAW9e3O7pideWcNUEHao0WT6sRyXQEURoxkJUASJssJ7Kb/bd3eMYmkUCiD5CRFqWR5BGF4mWVaUw==} - peerDependencies: - '@babel/core': ^7.0.1 - '@babel/preset-env': ^7.0.0 - babel-loader: ^8.3 || ^9 - cypress: '*' - webpack: ^4 || ^5 - - '@cypress/mount-utils@4.1.0': - resolution: {integrity: sha512-RDap/nVsIJIoJSBcceGdB2RFOgB1qPwJqdFrpwu7WIuMbaBhUASvZ1uYseE5NvpPsIx+sUjysGXeBG1BXNjUHA==} - '@cypress/request@3.0.1': resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} engines: {node: '>= 6'} - '@cypress/vite-dev-server@5.1.0': - resolution: {integrity: sha512-PrpL3S1m67JeHy6AXKxNgO8E/3Kg+P809oh4uPuGj8cZaWJ2mjfVTlTkzwJDPnaBV1KCxsOsY3bQUZlvPF/E7w==} - - '@cypress/webpack-preprocessor@6.0.2': - resolution: {integrity: sha512-0+1+4iy4W9PE6R5ywBNKAZoFp8Sf//w3UJ+CKTqkcAjA29b+dtsD0iFT70DsYE0BMqUM1PO7HXFGbXllQ+bRAA==} - peerDependencies: - '@babel/core': ^7.0.1 - '@babel/preset-env': ^7.0.0 - babel-loader: ^8.3 || ^9 - webpack: ^4 || ^5 - - '@cypress/xvfb@1.2.4': - resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} - '@emnapi/runtime@1.2.0': resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} @@ -1813,9 +1756,6 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@nrwl/cypress@19.4.2': - resolution: {integrity: sha512-Xse5MM7VMm6+CXeuPwz70sOkOTLBxK6rJBt9sfWN5xVXLy0kfvcYD6nk32eB5YUoNb589lORKGPpp78D1zT+fQ==} - '@nrwl/devkit@19.2.3': resolution: {integrity: sha512-OL6sc70gR/USasvbYzyYY44Hd5ZCde2UfiA5h8VeAYAJbq+JmtscpvjcnZ7OIsXyYEOxe1rypULElqu/8qpKzQ==} @@ -1863,14 +1803,6 @@ packages: '@nrwl/workspace@19.4.2': resolution: {integrity: sha512-+u8Ok6WF0rfaR5wL/WDIZtQhclLBREHvUdnjoLYtL8RspTyqSoQuOXQXP07Ln++rwLWmTIoE2NaSNKF7K0hLRQ==} - '@nx/cypress@19.4.2': - resolution: {integrity: sha512-b732py3ssBZJN2EJuQM3Ufo7IcqBk6XXNmMdqaXpi9MdpBHomRgZsMKG2IE87CI6nGWvZF7Bq/OhbZ8CJBtZLw==} - peerDependencies: - cypress: '>= 3 < 14' - peerDependenciesMeta: - cypress: - optional: true - '@nx/devkit@19.2.3': resolution: {integrity: sha512-if1WwRVexrQBBADObEcxVIivq4QRZWY/nYRhCQy/qfFI6Cu2jBSI6ZQ1uy7to2L2sQPLgn8v2beQZiAeZdIktg==} peerDependencies: @@ -2419,16 +2351,6 @@ packages: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - '@testing-library/cypress@10.0.1': - resolution: {integrity: sha512-e8uswjTZIBhaIXjzEcrQQ8nHRWHgZH7XBxKuIWxZ/T7FxfWhCR48nFhUX5nfPizjVOKSThEfOSv67jquc1ASkw==} - engines: {node: '>=12', npm: '>=6'} - peerDependencies: - cypress: ^12.0.0 || ^13.0.0 - - '@testing-library/dom@9.3.4': - resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} - engines: {node: '>=14'} - '@tootallnate/once@2.0.0': resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} @@ -2455,9 +2377,6 @@ packages: '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - '@types/aria-query@5.0.4': - resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -2479,9 +2398,6 @@ packages: '@types/decompress@4.2.7': resolution: {integrity: sha512-9z+8yjKr5Wn73Pt17/ldnmQToaFHZxK0N1GHysuk/JIPT8RIdQeoInM01wWPgypRcvb6VH1drjuFpQ4zmY437g==} - '@types/eslint-scope@3.7.7': - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - '@types/eslint@8.56.10': resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} @@ -2557,12 +2473,6 @@ packages: '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@types/sinonjs__fake-timers@8.1.1': - resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} - - '@types/sizzle@2.3.8': - resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} - '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -2581,9 +2491,6 @@ packages: '@types/yargs@17.0.32': resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - '@types/yauzl@2.10.3': - resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@7.9.0': resolution: {integrity: sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2812,57 +2719,6 @@ packages: '@vue/shared@3.4.27': resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} - '@webassemblyjs/ast@1.12.1': - resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} - - '@webassemblyjs/floating-point-hex-parser@1.11.6': - resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} - - '@webassemblyjs/helper-api-error@1.11.6': - resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - - '@webassemblyjs/helper-buffer@1.12.1': - resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} - - '@webassemblyjs/helper-numbers@1.11.6': - resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} - - '@webassemblyjs/helper-wasm-bytecode@1.11.6': - resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - - '@webassemblyjs/helper-wasm-section@1.12.1': - resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} - - '@webassemblyjs/ieee754@1.11.6': - resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} - - '@webassemblyjs/leb128@1.11.6': - resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} - - '@webassemblyjs/utf8@1.11.6': - resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - - '@webassemblyjs/wasm-edit@1.12.1': - resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} - - '@webassemblyjs/wasm-gen@1.12.1': - resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} - - '@webassemblyjs/wasm-opt@1.12.1': - resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} - - '@webassemblyjs/wasm-parser@1.12.1': - resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} - - '@webassemblyjs/wast-printer@1.12.1': - resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} - - '@xtuc/ieee754@1.2.0': - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - - '@xtuc/long@4.2.2': - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} @@ -2893,11 +2749,6 @@ packages: acorn-globals@7.0.1: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} - acorn-import-attributes@1.9.5: - resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} - peerDependencies: - acorn: ^8 - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -2927,41 +2778,16 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - aggregate-error@4.0.1: resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} engines: {node: '>=12'} - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - - ajv-keywords@3.5.2: - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - - ajv-keywords@5.1.0: - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 - ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - ajv@8.14.0: - resolution: {integrity: sha512-oYs1UUtO97ZO2lJ4bwnWeQW8/zvOIQLGKcvPTsWmvc2SYgBb+upuNS5NxoLaMU4h8Ju3Nbj6Cq8mD2LQoqVKFA==} - all-contributors-cli@6.26.1: resolution: {integrity: sha512-Ymgo3FJACRBEd1eE653FD1J/+uD0kqpUNYfr9zNC1Qby0LgbhDBzB3EF6uvkAbYpycStkk41J+0oo37Lc02yEw==} engines: {node: '>=4'} @@ -3057,16 +2883,6 @@ packages: resolution: {integrity: sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==} engines: {node: '>=8'} - append-transform@2.0.0: - resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} - engines: {node: '>=8'} - - arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - - archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -3079,9 +2895,6 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -3125,10 +2938,6 @@ packages: assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - astring@1.8.6: resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} hasBin: true @@ -3145,10 +2954,6 @@ packages: asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - atomic-sleep@1.0.0: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} @@ -3183,13 +2988,6 @@ packages: peerDependencies: '@babel/core': ^7.8.0 - babel-loader@9.1.3: - resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' - babel-plugin-const-enum@1.2.0: resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==} peerDependencies: @@ -3276,15 +3074,6 @@ packages: blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} - blob-util@2.0.2: - resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} - - bluebird@3.7.1: - resolution: {integrity: sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==} - - bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -3380,14 +3169,6 @@ packages: resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} engines: {node: '>=8'} - cachedir@2.4.0: - resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} - engines: {node: '>=6'} - - caching-transform@4.0.0: - resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} - engines: {node: '>=8'} - call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -3477,18 +3258,10 @@ packages: check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - check-more-types@2.24.0: - resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} - engines: {node: '>= 0.8.0'} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chrome-trace-event@1.0.4: - resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} - engines: {node: '>=6.0'} - ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -3499,10 +3272,6 @@ packages: class-variance-authority@0.7.0: resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - clean-stack@4.2.0: resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} engines: {node: '>=12'} @@ -3527,18 +3296,10 @@ packages: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - cli-truncate@0.2.1: resolution: {integrity: sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==} engines: {node: '>=0.10.0'} - cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} - cli-width@2.2.1: resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} @@ -3639,10 +3400,6 @@ packages: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - commander@6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -3651,16 +3408,6 @@ packages: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} - common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - - common-tags@1.8.2: - resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} - engines: {node: '>=4.0.0'} - - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} @@ -3766,9 +3513,6 @@ packages: engines: {node: '>=16'} hasBin: true - convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -3834,9 +3578,6 @@ packages: resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} engines: {node: '>=12'} - css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} - css-select@5.1.0: resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} @@ -3891,29 +3632,6 @@ packages: resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} engines: {node: '>= 0.1.90'} - cypress-axe@1.5.0: - resolution: {integrity: sha512-Hy/owCjfj+25KMsecvDgo4fC/781ccL+e8p+UUYoadGVM2ogZF9XIKbiM6KI8Y3cEaSreymdD6ZzccbI2bY0lQ==} - engines: {node: '>=10'} - peerDependencies: - axe-core: ^3 || ^4 - cypress: ^10 || ^11 || ^12 || ^13 - - cypress-ct-qwik@0.3.0: - resolution: {integrity: sha512-S1PcR6BbZMHprTYmYvYcZODNFy+WOQewUIWCGRA2ruq4H6I2zJSVLy0VxynKuxgSx3OKp5GYUIXSTmdxkTdk4Q==} - peerDependencies: - '@builder.io/qwik': '>0.23.0' - cypress: '>=12.8.1' - - cypress-real-events@1.12.0: - resolution: {integrity: sha512-oiy+4kGKkzc2PT36k3GGQqkGxNiVypheWjMtfyi89iIk6bYmTzeqxapaLHS3pnhZOX1IEbTDUVxh8T4Nhs1tyQ==} - peerDependencies: - cypress: ^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x || ^13.x - - cypress@13.13.0: - resolution: {integrity: sha512-ou/MQUDq4tcDJI2FsPaod2FZpex4kpIK43JJlcBgWrX8WX7R/05ZxGTuxedOuZBfxjZxja+fbijZGyxiLP6CFA==} - engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} - hasBin: true - danger@11.3.1: resolution: {integrity: sha512-+slkGnbf0czY7g4LSuYpYkKJgFrb9YIXFJvV5JAuLLF39CXLlUw0iebgeL3ASK1t6RDb8xe+Rk2F5ilh2Hdv2w==} engines: {node: '>=14.13.1'} @@ -3963,9 +3681,6 @@ packages: dayjs@1.11.10: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} - dayjs@1.11.11: - resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} - de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} @@ -3977,14 +3692,6 @@ packages: supports-color: optional: true - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -4060,10 +3767,6 @@ packages: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} - deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} - deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -4083,10 +3786,6 @@ packages: resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} engines: {node: '>=18'} - default-require-extensions@3.0.1: - resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} - engines: {node: '>=8'} - defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} @@ -4179,12 +3878,6 @@ packages: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} - dom-accessibility-api@0.5.16: - resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - - dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} - dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} @@ -4196,17 +3889,10 @@ packages: engines: {node: '>=12'} deprecated: Use your platform's native DOMException instead - domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} - domhandler@5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - domutils@3.1.0: resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} @@ -4281,10 +3967,6 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - enhanced-resolve@5.17.0: - resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} - engines: {node: '>=10.13.0'} - enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} @@ -4293,9 +3975,6 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} - entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -4323,12 +4002,6 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - - es-module-lexer@1.5.3: - resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} - es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} @@ -4344,9 +4017,6 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - esbuild@0.17.19: resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} @@ -4395,11 +4065,6 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-plugin-cypress@3.3.0: - resolution: {integrity: sha512-HPHMPzYBIshzJM8wqgKSKHG2p/8R0Gbg4Pb3tcdC9WrmkuqxiKxSKbjunUrajhV5l7gCIFrh1P7C7GuBqH6YuQ==} - peerDependencies: - eslint: '>=7' - eslint-plugin-playwright@1.6.2: resolution: {integrity: sha512-mraN4Em3b5jLt01q7qWPyLg0Q5v3KAWfJSlEWwldyUXoa7DSPrBR4k6B6LROLqipsG8ndkwWMdjl1Ffdh15tag==} engines: {node: '>=16.6.0'} @@ -4416,10 +4081,6 @@ packages: peerDependencies: eslint: ^8.57.0 - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4450,10 +4111,6 @@ packages: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -4494,17 +4151,10 @@ packages: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} - eventemitter2@6.4.7: - resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} - events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - execa@4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} - execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -4513,10 +4163,6 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - executable@4.1.1: - resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} - engines: {node: '>=4'} - exit-hook@2.2.1: resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} engines: {node: '>=6'} @@ -4562,11 +4208,6 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} - extract-zip@2.0.1: - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} - hasBin: true - extsprintf@1.3.0: resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} engines: {'0': node >=0.6.0} @@ -4657,14 +4298,6 @@ packages: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} - find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} - - find-cache-dir@4.0.0: - resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} - engines: {node: '>=14.16'} - find-up-simple@1.0.0: resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} engines: {node: '>=18'} @@ -4710,10 +4343,6 @@ packages: for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - foreground-child@2.0.0: - resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} - engines: {node: '>=8.0.0'} - foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} @@ -4748,9 +4377,6 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - fromentries@1.3.2: - resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} - front-matter@4.0.2: resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} @@ -4773,10 +4399,6 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} - fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -4846,9 +4468,6 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - getos@3.2.1: - resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} - getpass@0.1.7: resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} @@ -4993,10 +4612,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - hasha@5.2.2: - resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} - engines: {node: '>=8'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -5095,10 +4710,6 @@ packages: human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} - human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -5231,10 +4842,6 @@ packages: is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} @@ -5260,10 +4867,6 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} @@ -5345,10 +4948,6 @@ packages: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} - is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - is-natural-number@4.0.1: resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} @@ -5417,10 +5016,6 @@ packages: resolution: {integrity: sha512-ezxLUq30kiTvP0w/5n9tj4qTOKlrA07Oty1hwTQ+lcqw11x6uc8sp7VRb2OVGRzKfCHZ2A22T5Zsau/Q2Akb0g==} engines: {node: '>=12'} - is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.3: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} engines: {node: '>= 0.4'} @@ -5472,17 +5067,9 @@ packages: resolution: {integrity: sha512-LXdhGlYqUPdvEyIhWPEEwYYK3yrUiPcBjmFGlZNv1u5GtIL5qQRf7ddDyPNAvsMFqdzS923FROpTQU97tLe3JQ==} engines: {node: '>=12'} - is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} - engines: {node: '>= 0.4'} - is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} @@ -5515,14 +5102,6 @@ packages: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} - istanbul-lib-hook@3.0.0: - resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} - engines: {node: '>=8'} - - istanbul-lib-instrument@4.0.3: - resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} - engines: {node: '>=8'} - istanbul-lib-instrument@5.2.1: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} @@ -5531,10 +5110,6 @@ packages: resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} engines: {node: '>=10'} - istanbul-lib-processinfo@2.0.3: - resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==} - engines: {node: '>=8'} - istanbul-lib-report@3.0.1: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} @@ -5684,10 +5259,6 @@ packages: resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - jest-worker@29.7.0: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5852,10 +5423,6 @@ packages: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} - lazy-ass@1.6.0: - resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} - engines: {node: '> 0.8'} - leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -5900,15 +5467,6 @@ packages: resolution: {integrity: sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==} engines: {node: '>=4'} - listr2@3.14.0: - resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} - engines: {node: '>=10.0.0'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true - listr@0.14.3: resolution: {integrity: sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==} engines: {node: '>=6'} @@ -5917,10 +5475,6 @@ packages: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} engines: {node: '>=6'} - loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} - local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -5949,9 +5503,6 @@ packages: lodash.find@4.6.0: resolution: {integrity: sha512-yaRZoAV3Xq28F1iafWN1+a0rflOej93l1DQUejs3SZ41h2O9UJBoS9aueGjPDgAl4B6tPC0NuuchLKaDQQ3Isg==} - lodash.flattendeep@4.4.0: - resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} - lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} @@ -6019,10 +5570,6 @@ packages: resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==} engines: {node: '>=4'} - log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} - longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -6059,10 +5606,6 @@ packages: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} - lz-string@1.5.0: - resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} - hasBin: true - magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} @@ -6076,10 +5619,6 @@ packages: resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} engines: {node: '>=4'} - make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -6468,19 +6007,12 @@ packages: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} - node-html-parser@5.3.3: - resolution: {integrity: sha512-ncg1033CaX9UexbyA7e1N0aAoAYRDiV8jkTvzEnfd1GDvzFdrsXLzR4p4ik8mwLgnaKP/jyUFWDy9q3jvRT2Jw==} - node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} node-machine-id@1.1.12: resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} - node-preload@0.2.1: - resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} - engines: {node: '>=8'} - node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} @@ -6562,11 +6094,6 @@ packages: '@swc/core': optional: true - nyc@15.1.0: - resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} - engines: {node: '>=8.9'} - hasBin: true - object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -6578,10 +6105,6 @@ packages: object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} - engines: {node: '>= 0.4'} - object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} @@ -6656,9 +6179,6 @@ packages: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} - ospath@1.2.2: - resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} - outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} @@ -6709,14 +6229,6 @@ packages: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} - p-map@3.0.0: - resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} - engines: {node: '>=8'} - - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - p-map@5.5.0: resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} engines: {node: '>=12'} @@ -6737,10 +6249,6 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - package-hash@4.0.0: - resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} - engines: {node: '>=8'} - package-json@8.1.1: resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} engines: {node: '>=14.16'} @@ -6922,10 +6430,6 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} - pkg-dir@8.0.0: resolution: {integrity: sha512-4peoBq4Wks0riS0z8741NVv+/8IiTvqnZAr8QGgtdifrtpdXbNw/FxRS1l6NFqm4EMzuS0EDqNNx4XGaz8cuyQ==} engines: {node: '>=18'} @@ -7062,14 +6566,6 @@ packages: engines: {node: '>=14'} hasBin: true - pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} - - pretty-format@27.5.1: - resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -7095,10 +6591,6 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - process-on-spawn@1.0.0: - resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} - engines: {node: '>=8'} - process-warning@1.0.0: resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} @@ -7126,9 +6618,6 @@ packages: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} - proxy-from-env@1.0.0: - resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} - proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -7197,9 +6686,6 @@ packages: resolution: {integrity: sha512-lwqDGD6Z+IpX/vOJh2SuzWBmafYM4+6cbASGJNkdfR6jfaCJm6iKvHRGrom0xDvdTO3G9w+rnaSkN0hrkSL69w==} engines: {node: '>=18.0.0'} - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -7212,9 +6698,6 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} @@ -7325,10 +6808,6 @@ packages: peerDependencies: shiki: ^1.3.0 - release-zalgo@1.0.0: - resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==} - engines: {node: '>=4'} - remark-mdx@3.0.1: resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} @@ -7341,9 +6820,6 @@ packages: remove-accents@0.5.0: resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} - request-progress@3.0.0: - resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -7411,9 +6887,6 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - rimraf@2.4.5: resolution: {integrity: sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -7499,14 +6972,6 @@ packages: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} - - schema-utils@4.2.0: - resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} - engines: {node: '>= 12.13.0'} - scoped-regex@3.0.0: resolution: {integrity: sha512-yEsN6TuxZhZ1Tl9iB81frTNS292m0I/IG7+w8lTvfcJQP2x3vnpOoevjBoE3Np5A6KnZM2+RtVenihj9t6NiYg==} engines: {node: '>=12'} @@ -7550,9 +7015,6 @@ packages: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} @@ -7634,14 +7096,6 @@ packages: resolution: {integrity: sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==} engines: {node: '>=0.10.0'} - slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - - slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - smartwrap@2.0.2: resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} engines: {node: '>=6'} @@ -7684,10 +7138,6 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spawn-wrap@2.0.0: - resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} - engines: {node: '>=8'} - spawndamnit@2.0.0: resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} @@ -7742,10 +7192,6 @@ packages: steno@0.4.4: resolution: {integrity: sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==} - stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} - stoppable@1.1.0: resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} engines: {node: '>=4', npm: '>=6'} @@ -7937,10 +7383,6 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - tar-stream@1.6.2: resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} engines: {node: '>= 0.8.0'} @@ -7957,22 +7399,6 @@ packages: resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} engines: {node: '>=12'} - terser-webpack-plugin@5.3.10: - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - terser@5.31.1: resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} engines: {node: '>=10'} @@ -8002,9 +7428,6 @@ packages: thread-stream@2.7.0: resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} - throttleit@1.0.1: - resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} - through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -8326,10 +7749,6 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - update-browserslist-db@1.0.16: resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true @@ -8531,10 +7950,6 @@ packages: walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - watchpack@2.4.1: - resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} - engines: {node: '>=10.13.0'} - wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} @@ -8552,20 +7967,6 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - - webpack@5.92.0: - resolution: {integrity: sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - whatwg-encoding@2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} @@ -8596,10 +7997,6 @@ packages: which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} @@ -8824,7 +8221,7 @@ snapshots: '@babel/traverse': 7.24.6 '@babel/types': 7.24.6 convert-source-map: 2.0.0 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -8879,7 +8276,7 @@ snapshots: '@babel/core': 7.24.6 '@babel/helper-compilation-targets': 7.24.6 '@babel/helper-plugin-utils': 7.24.6 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -9555,7 +8952,7 @@ snapshots: '@babel/helper-split-export-declaration': 7.24.6 '@babel/parser': 7.24.6 '@babel/types': 7.24.6 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -9810,35 +9207,11 @@ snapshots: '@cloudflare/workerd-windows-64@1.20240524.0': optional: true - '@colors/colors@1.5.0': - optional: true - '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@cypress/code-coverage@3.12.39(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))(babel-loader@9.1.3(@babel/core@7.24.6)(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)))(cypress@13.13.0)(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19))': - dependencies: - '@babel/core': 7.24.6 - '@babel/preset-env': 7.24.6(@babel/core@7.24.6) - '@cypress/webpack-preprocessor': 6.0.2(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))(babel-loader@9.1.3(@babel/core@7.24.6)(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)))(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)) - babel-loader: 9.1.3(@babel/core@7.24.6)(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)) - chalk: 4.1.2 - cypress: 13.13.0 - dayjs: 1.11.10 - debug: 4.3.4 - execa: 4.1.0 - globby: 11.1.0 - istanbul-lib-coverage: 3.2.2 - js-yaml: 4.1.0 - nyc: 15.1.0 - webpack: 5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19) - transitivePeerDependencies: - - supports-color - - '@cypress/mount-utils@4.1.0': {} - - '@cypress/request@3.0.1': + '@cypress/request@3.0.1': dependencies: aws-sign2: 0.7.0 aws4: 1.13.0 @@ -9859,34 +9232,6 @@ snapshots: tunnel-agent: 0.6.0 uuid: 8.3.2 - '@cypress/vite-dev-server@5.1.0': - dependencies: - debug: 4.3.5(supports-color@8.1.1) - find-up: 6.3.0 - node-html-parser: 5.3.3 - semver: 7.6.2 - transitivePeerDependencies: - - supports-color - - '@cypress/webpack-preprocessor@6.0.2(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))(babel-loader@9.1.3(@babel/core@7.24.6)(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)))(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19))': - dependencies: - '@babel/core': 7.24.6 - '@babel/preset-env': 7.24.6(@babel/core@7.24.6) - babel-loader: 9.1.3(@babel/core@7.24.6)(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)) - bluebird: 3.7.1 - debug: 4.3.4 - lodash: 4.17.21 - webpack: 5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19) - transitivePeerDependencies: - - supports-color - - '@cypress/xvfb@1.2.4(supports-color@8.1.1)': - dependencies: - debug: 3.2.7(supports-color@8.1.1) - lodash.once: 4.1.1 - transitivePeerDependencies: - - supports-color - '@emnapi/runtime@1.2.0': dependencies: tslib: 2.6.2 @@ -10047,7 +9392,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -10101,7 +9446,7 @@ snapshots: '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -10383,6 +9728,7 @@ snapshots: dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + optional: true '@jridgewell/sourcemap-codec@1.4.15': {} @@ -10525,36 +9871,12 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@nrwl/cypress@19.4.2(@babel/traverse@7.24.6)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))(@types/node@20.12.12)(@zkochan/js-yaml@0.0.7)(cypress@13.13.0)(eslint@8.57.0)(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11)))(typescript@5.4.5)(verdaccio@5.31.0(typanion@3.14.0))': - dependencies: - '@nx/cypress': 19.4.2(@babel/traverse@7.24.6)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))(@types/node@20.12.12)(@zkochan/js-yaml@0.0.7)(cypress@13.13.0)(eslint@8.57.0)(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11)))(typescript@5.4.5)(verdaccio@5.31.0(typanion@3.14.0)) - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - '@zkochan/js-yaml' - - cypress - - debug - - eslint - - nx - - supports-color - - typescript - - verdaccio - '@nrwl/devkit@19.2.3(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11)))': dependencies: '@nx/devkit': 19.2.3(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))) transitivePeerDependencies: - nx - '@nrwl/devkit@19.3.0(nx@19.3.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11)))': - dependencies: - '@nx/devkit': 19.3.0(nx@19.3.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))) - transitivePeerDependencies: - - nx - '@nrwl/devkit@19.3.0(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11)))': dependencies: '@nx/devkit': 19.3.0(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))) @@ -10742,31 +10064,6 @@ snapshots: - '@swc/core' - debug - '@nx/cypress@19.4.2(@babel/traverse@7.24.6)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))(@types/node@20.12.12)(@zkochan/js-yaml@0.0.7)(cypress@13.13.0)(eslint@8.57.0)(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11)))(typescript@5.4.5)(verdaccio@5.31.0(typanion@3.14.0))': - dependencies: - '@nrwl/cypress': 19.4.2(@babel/traverse@7.24.6)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))(@types/node@20.12.12)(@zkochan/js-yaml@0.0.7)(cypress@13.13.0)(eslint@8.57.0)(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11)))(typescript@5.4.5)(verdaccio@5.31.0(typanion@3.14.0)) - '@nx/devkit': 19.4.2(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))) - '@nx/eslint': 19.4.2(@babel/traverse@7.24.6)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))(@types/node@20.12.12)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11)))(verdaccio@5.31.0(typanion@3.14.0)) - '@nx/js': 19.4.2(@babel/traverse@7.24.6)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))(@types/node@20.12.12)(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11)))(typescript@5.4.5)(verdaccio@5.31.0(typanion@3.14.0)) - '@phenomnomnominal/tsquery': 5.0.1(typescript@5.4.5) - detect-port: 1.6.1 - tslib: 2.6.2 - optionalDependencies: - cypress: 13.13.0 - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - '@zkochan/js-yaml' - - debug - - eslint - - nx - - supports-color - - typescript - - verdaccio - '@nx/devkit@19.2.3(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11)))': dependencies: '@nrwl/devkit': 19.2.3(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))) @@ -10782,7 +10079,7 @@ snapshots: '@nx/devkit@19.3.0(nx@19.3.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11)))': dependencies: - '@nrwl/devkit': 19.3.0(nx@19.3.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))) + '@nrwl/devkit': 19.3.0(nx@19.4.2(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.4.5))(@swc/core@1.5.29(@swc/helpers@0.5.11))) ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.1 @@ -11504,7 +10801,7 @@ snapshots: '@swc-node/sourcemap-support': 0.5.0 '@swc/core': 1.5.29(@swc/helpers@0.5.11) colorette: 2.0.20 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 pirates: 4.0.6 tslib: 2.6.2 typescript: 5.4.5 @@ -11582,23 +10879,6 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@testing-library/cypress@10.0.1(cypress@13.13.0)': - dependencies: - '@babel/runtime': 7.24.6 - '@testing-library/dom': 9.3.4 - cypress: 13.13.0 - - '@testing-library/dom@9.3.4': - dependencies: - '@babel/code-frame': 7.24.6 - '@babel/runtime': 7.24.6 - '@types/aria-query': 5.0.4 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - '@tootallnate/once@2.0.0': {} '@trysound/sax@0.2.0': {} @@ -11617,8 +10897,6 @@ snapshots: '@types/argparse@1.0.38': {} - '@types/aria-query@5.0.4': {} - '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.24.6 @@ -11655,11 +10933,6 @@ snapshots: dependencies: '@types/node': 20.12.12 - '@types/eslint-scope@3.7.7': - dependencies: - '@types/eslint': 8.56.10 - '@types/estree': 1.0.5 - '@types/eslint@8.56.10': dependencies: '@types/estree': 1.0.5 @@ -11740,10 +11013,6 @@ snapshots: '@types/semver@7.5.8': {} - '@types/sinonjs__fake-timers@8.1.1': {} - - '@types/sizzle@2.3.8': {} - '@types/stack-utils@2.0.3': {} '@types/tough-cookie@4.0.5': {} @@ -11758,11 +11027,6 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@types/yauzl@2.10.3': - dependencies: - '@types/node': 20.12.12 - optional: true - '@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 @@ -11787,7 +11051,7 @@ snapshots: '@typescript-eslint/types': 7.9.0 '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.9.0 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 eslint: 8.57.0 optionalDependencies: typescript: 5.4.5 @@ -11808,7 +11072,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5) '@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5) - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: @@ -11820,7 +11084,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5) '@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5) - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: @@ -11836,7 +11100,7 @@ snapshots: dependencies: '@typescript-eslint/types': 7.11.0 '@typescript-eslint/visitor-keys': 7.11.0 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 @@ -11851,7 +11115,7 @@ snapshots: dependencies: '@typescript-eslint/types': 7.9.0 '@typescript-eslint/visitor-keys': 7.9.0 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 @@ -12054,7 +11318,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.4 @@ -12151,86 +11415,6 @@ snapshots: '@vue/shared@3.4.27': {} - '@webassemblyjs/ast@1.12.1': - dependencies: - '@webassemblyjs/helper-numbers': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - - '@webassemblyjs/floating-point-hex-parser@1.11.6': {} - - '@webassemblyjs/helper-api-error@1.11.6': {} - - '@webassemblyjs/helper-buffer@1.12.1': {} - - '@webassemblyjs/helper-numbers@1.11.6': - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.6 - '@webassemblyjs/helper-api-error': 1.11.6 - '@xtuc/long': 4.2.2 - - '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} - - '@webassemblyjs/helper-wasm-section@1.12.1': - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/wasm-gen': 1.12.1 - - '@webassemblyjs/ieee754@1.11.6': - dependencies: - '@xtuc/ieee754': 1.2.0 - - '@webassemblyjs/leb128@1.11.6': - dependencies: - '@xtuc/long': 4.2.2 - - '@webassemblyjs/utf8@1.11.6': {} - - '@webassemblyjs/wasm-edit@1.12.1': - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/helper-wasm-section': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-opt': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - '@webassemblyjs/wast-printer': 1.12.1 - - '@webassemblyjs/wasm-gen@1.12.1': - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 - - '@webassemblyjs/wasm-opt@1.12.1': - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - - '@webassemblyjs/wasm-parser@1.12.1': - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-api-error': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 - - '@webassemblyjs/wast-printer@1.12.1': - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@xtuc/long': 4.2.2 - - '@xtuc/ieee754@1.2.0': {} - - '@xtuc/long@4.2.2': {} - '@yarnpkg/lockfile@1.1.0': {} '@yarnpkg/parsers@3.0.0-rc.46': @@ -12263,10 +11447,6 @@ snapshots: acorn: 8.11.3 acorn-walk: 8.3.2 - acorn-import-attributes@1.9.5(acorn@8.11.3): - dependencies: - acorn: 8.11.3 - acorn-jsx@5.3.2(acorn@8.11.3): dependencies: acorn: 8.11.3 @@ -12281,39 +11461,21 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 transitivePeerDependencies: - supports-color agent-base@7.1.1: dependencies: - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 transitivePeerDependencies: - supports-color - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - aggregate-error@4.0.1: dependencies: clean-stack: 4.2.0 indent-string: 5.0.0 - ajv-formats@2.1.1(ajv@8.14.0): - optionalDependencies: - ajv: 8.14.0 - - ajv-keywords@3.5.2(ajv@6.12.6): - dependencies: - ajv: 6.12.6 - - ajv-keywords@5.1.0(ajv@8.14.0): - dependencies: - ajv: 8.14.0 - fast-deep-equal: 3.1.3 - ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -12328,13 +11490,6 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 - ajv@8.14.0: - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - all-contributors-cli@6.26.1: dependencies: '@babel/runtime': 7.24.6 @@ -12409,14 +11564,6 @@ snapshots: apache-md5@1.1.8: {} - append-transform@2.0.0: - dependencies: - default-require-extensions: 3.0.1 - - arch@2.2.0: {} - - archy@1.0.0: {} - arg@4.1.3: {} arg@5.0.2: {} @@ -12427,10 +11574,6 @@ snapshots: argparse@2.0.1: {} - aria-query@5.1.3: - dependencies: - deep-equal: 2.2.3 - array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -12483,8 +11626,6 @@ snapshots: assertion-error@1.1.0: {} - astral-regex@2.0.0: {} - astring@1.8.6: {} async-retry@1.2.3: @@ -12497,8 +11638,6 @@ snapshots: asynckit@0.4.0: {} - at-least-node@1.0.0: {} - atomic-sleep@1.0.0: {} autoprefixer@10.4.19(postcss@8.4.38): @@ -12542,13 +11681,6 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.1.3(@babel/core@7.24.6)(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)): - dependencies: - '@babel/core': 7.24.6 - find-cache-dir: 4.0.0 - schema-utils: 4.2.0 - webpack: 5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19) - babel-plugin-const-enum@1.2.0(@babel/core@7.24.6): dependencies: '@babel/core': 7.24.6 @@ -12667,12 +11799,6 @@ snapshots: blake3-wasm@2.1.5: {} - blob-util@2.0.2: {} - - bluebird@3.7.1: {} - - bluebird@3.7.2: {} - body-parser@1.20.2: dependencies: bytes: 3.1.2 @@ -12796,15 +11922,6 @@ snapshots: normalize-url: 6.1.0 responselike: 2.0.1 - cachedir@2.4.0: {} - - caching-transform@4.0.0: - dependencies: - hasha: 5.2.2 - make-dir: 3.1.0 - package-hash: 4.0.0 - write-file-atomic: 3.0.3 - call-bind@1.0.7: dependencies: es-define-property: 1.0.0 @@ -12835,7 +11952,7 @@ snapshots: capnp-ts@0.7.0: dependencies: - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 tslib: 2.6.2 transitivePeerDependencies: - supports-color @@ -12895,8 +12012,6 @@ snapshots: dependencies: get-func-name: 2.0.2 - check-more-types@2.24.0: {} - chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -12909,8 +12024,6 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chrome-trace-event@1.0.4: {} - ci-info@3.9.0: {} cjs-module-lexer@1.3.1: {} @@ -12919,8 +12032,6 @@ snapshots: dependencies: clsx: 2.0.0 - clean-stack@2.2.0: {} - clean-stack@4.2.0: dependencies: escape-string-regexp: 5.0.0 @@ -12939,22 +12050,11 @@ snapshots: cli-spinners@2.9.2: {} - cli-table3@0.6.5: - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - cli-truncate@0.2.1: dependencies: slice-ansi: 0.0.4 string-width: 1.0.2 - cli-truncate@2.1.0: - dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 - cli-width@2.2.1: {} cli-width@3.0.0: {} @@ -13038,19 +12138,11 @@ snapshots: commander@4.1.1: {} - commander@6.2.1: {} - commander@7.2.0: {} commander@9.5.0: optional: true - common-path-prefix@3.0.0: {} - - common-tags@1.8.2: {} - - commondir@1.0.1: {} - compare-func@2.0.0: dependencies: array-ify: 1.0.0 @@ -13179,8 +12271,6 @@ snapshots: git-semver-tags: 7.0.1 meow: 12.1.1 - convert-source-map@1.9.0: {} - convert-source-map@2.0.0: {} cookie-signature@1.0.6: {} @@ -13256,14 +12346,6 @@ snapshots: dependencies: type-fest: 1.4.0 - css-select@4.3.0: - dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 4.3.1 - domutils: 2.8.0 - nth-check: 2.1.1 - css-select@5.1.0: dependencies: boolbase: 1.0.0 @@ -13317,66 +12399,6 @@ snapshots: csv-stringify: 5.6.5 stream-transform: 2.1.3 - cypress-axe@1.5.0(axe-core@4.9.1)(cypress@13.13.0): - dependencies: - axe-core: 4.9.1 - cypress: 13.13.0 - - cypress-ct-qwik@0.3.0(@builder.io/qwik@1.7.3(@types/node@20.12.12)(sass@1.77.4)(terser@5.31.1))(cypress@13.13.0): - dependencies: - '@builder.io/qwik': 1.7.3(@types/node@20.12.12)(sass@1.77.4)(terser@5.31.1) - '@cypress/mount-utils': 4.1.0 - cypress: 13.13.0 - - cypress-real-events@1.12.0(cypress@13.13.0): - dependencies: - cypress: 13.13.0 - - cypress@13.13.0: - dependencies: - '@cypress/request': 3.0.1 - '@cypress/xvfb': 1.2.4(supports-color@8.1.1) - '@types/sinonjs__fake-timers': 8.1.1 - '@types/sizzle': 2.3.8 - arch: 2.2.0 - blob-util: 2.0.2 - bluebird: 3.7.2 - buffer: 5.7.1 - cachedir: 2.4.0 - chalk: 4.1.2 - check-more-types: 2.24.0 - cli-cursor: 3.1.0 - cli-table3: 0.6.5 - commander: 6.2.1 - common-tags: 1.8.2 - dayjs: 1.11.11 - debug: 4.3.5(supports-color@8.1.1) - enquirer: 2.4.1 - eventemitter2: 6.4.7 - execa: 4.1.0 - executable: 4.1.1 - extract-zip: 2.0.1(supports-color@8.1.1) - figures: 3.2.0 - fs-extra: 9.1.0 - getos: 3.2.1 - is-ci: 3.0.1 - is-installed-globally: 0.4.0 - lazy-ass: 1.6.0 - listr2: 3.14.0(enquirer@2.4.1) - lodash: 4.17.21 - log-symbols: 4.1.0 - minimist: 1.2.8 - ospath: 1.2.2 - pretty-bytes: 5.6.0 - process: 0.11.10 - proxy-from-env: 1.0.0 - request-progress: 3.0.0 - semver: 7.6.2 - supports-color: 8.1.1 - tmp: 0.2.3 - untildify: 4.0.0 - yauzl: 2.10.0 - danger@11.3.1: dependencies: '@gitbeaker/core': 35.8.1 @@ -13386,7 +12408,7 @@ snapshots: chalk: 2.4.2 commander: 2.20.3 core-js: 3.37.1 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 fast-json-patch: 3.1.1 get-stdin: 6.0.0 http-proxy-agent: 5.0.0 @@ -13466,29 +12488,19 @@ snapshots: dayjs@1.11.10: {} - dayjs@1.11.11: {} - de-indent@1.0.2: {} debug@2.6.9: dependencies: ms: 2.0.0 - debug@3.2.7(supports-color@8.1.1): - dependencies: - ms: 2.1.3 - optionalDependencies: - supports-color: 8.1.1 - debug@4.3.4: dependencies: ms: 2.1.2 - debug@4.3.5(supports-color@8.1.1): + debug@4.3.5: dependencies: ms: 2.1.2 - optionalDependencies: - supports-color: 8.1.1 decamelize-keys@1.1.1: dependencies: @@ -13555,27 +12567,6 @@ snapshots: dependencies: type-detect: 4.0.8 - deep-equal@2.2.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - es-get-iterator: 1.1.3 - get-intrinsic: 1.2.4 - is-arguments: 1.1.1 - is-array-buffer: 3.0.4 - is-date-object: 1.0.5 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - isarray: 2.0.5 - object-is: 1.1.6 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - side-channel: 1.0.6 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 - deep-extend@0.6.0: {} deep-is@0.1.4: {} @@ -13589,10 +12580,6 @@ snapshots: bundle-name: 4.1.0 default-browser-id: 5.0.0 - default-require-extensions@3.0.1: - dependencies: - strip-bom: 4.0.0 - defaults@1.0.4: dependencies: clone: 1.0.4 @@ -13647,7 +12634,7 @@ snapshots: detect-port@1.6.1: dependencies: address: 1.2.2 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 transitivePeerDependencies: - supports-color @@ -13671,14 +12658,6 @@ snapshots: dependencies: esutils: 2.0.3 - dom-accessibility-api@0.5.16: {} - - dom-serializer@1.4.1: - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - entities: 2.2.0 - dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 @@ -13691,20 +12670,10 @@ snapshots: dependencies: webidl-conversions: 7.0.0 - domhandler@4.3.1: - dependencies: - domelementtype: 2.3.0 - domhandler@5.0.3: dependencies: domelementtype: 2.3.0 - domutils@2.8.0: - dependencies: - dom-serializer: 1.4.1 - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils@3.1.0: dependencies: dom-serializer: 2.0.0 @@ -13771,11 +12740,6 @@ snapshots: dependencies: once: 1.4.0 - enhanced-resolve@5.17.0: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - enquirer@2.3.6: dependencies: ansi-colors: 4.1.3 @@ -13785,8 +12749,6 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - entities@2.2.0: {} - entities@4.5.0: {} envinfo@7.13.0: {} @@ -13852,20 +12814,6 @@ snapshots: es-errors@1.3.0: {} - es-get-iterator@1.1.3: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.3 - is-set: 2.0.3 - is-string: 1.0.7 - isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 - - es-module-lexer@1.5.3: {} - es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 @@ -13886,8 +12834,6 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - es6-error@4.1.1: {} - esbuild@0.17.19: optionalDependencies: '@esbuild/android-arm': 0.17.19 @@ -13965,11 +12911,6 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-cypress@3.3.0(eslint@8.57.0): - dependencies: - eslint: 8.57.0 - globals: 13.24.0 - eslint-plugin-playwright@1.6.2(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -13980,11 +12921,6 @@ snapshots: eslint: 8.57.0 jsx-ast-utils: 3.3.5 - eslint-scope@5.1.1: - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 @@ -14005,7 +12941,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -14051,8 +12987,6 @@ snapshots: dependencies: estraverse: 5.3.0 - estraverse@4.3.0: {} - estraverse@5.3.0: {} estree-util-attach-comments@3.0.0: @@ -14093,22 +13027,8 @@ snapshots: event-target-shim@5.0.1: {} - eventemitter2@6.4.7: {} - events@3.3.0: {} - execa@4.1.0: - dependencies: - cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - execa@5.1.1: dependencies: cross-spawn: 7.0.3 @@ -14133,10 +13053,6 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - executable@4.1.1: - dependencies: - pify: 2.3.0 - exit-hook@2.2.1: {} exit-hook@4.0.0: {} @@ -14243,16 +13159,6 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 - extract-zip@2.0.1(supports-color@8.1.1): - dependencies: - debug: 4.3.5(supports-color@8.1.1) - get-stream: 5.2.0 - yauzl: 2.10.0 - optionalDependencies: - '@types/yauzl': 2.10.3 - transitivePeerDependencies: - - supports-color - extsprintf@1.3.0: {} fast-deep-equal@3.1.3: {} @@ -14347,17 +13253,6 @@ snapshots: transitivePeerDependencies: - supports-color - find-cache-dir@3.3.2: - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - - find-cache-dir@4.0.0: - dependencies: - common-path-prefix: 3.0.0 - pkg-dir: 7.0.0 - find-up-simple@1.0.0: {} find-up@4.1.0: @@ -14400,11 +13295,6 @@ snapshots: dependencies: is-callable: 1.2.7 - foreground-child@2.0.0: - dependencies: - cross-spawn: 7.0.3 - signal-exit: 3.0.7 - foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 @@ -14436,8 +13326,6 @@ snapshots: fresh@0.5.2: {} - fromentries@1.3.2: {} - front-matter@4.0.2: dependencies: js-yaml: 3.14.1 @@ -14464,13 +13352,6 @@ snapshots: jsonfile: 4.0.0 universalify: 0.1.2 - fs-extra@9.1.0: - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - fs.realpath@1.0.0: {} fsevents@2.3.2: @@ -14532,10 +13413,6 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - getos@3.2.1: - dependencies: - async: 3.2.5 - getpass@0.1.7: dependencies: assert-plus: 1.0.0 @@ -14709,11 +13586,6 @@ snapshots: dependencies: has-symbols: 1.0.3 - hasha@5.2.2: - dependencies: - is-stream: 2.0.1 - type-fest: 0.8.1 - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -14835,14 +13707,14 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 transitivePeerDependencies: - supports-color @@ -14869,21 +13741,19 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.4: dependencies: agent-base: 7.1.1 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 transitivePeerDependencies: - supports-color human-id@1.0.2: {} - human-signals@1.1.1: {} - human-signals@2.1.0: {} human-signals@5.0.0: {} @@ -15044,11 +13914,6 @@ snapshots: is-alphabetical: 2.0.1 is-decimal: 2.0.1 - is-arguments@1.1.1: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 @@ -15073,10 +13938,6 @@ snapshots: is-callable@1.2.7: {} - is-ci@3.0.1: - dependencies: - ci-info: 3.9.0 - is-core-module@2.13.1: dependencies: hasown: 2.0.2 @@ -15135,8 +13996,6 @@ snapshots: is-interactive@2.0.0: {} - is-map@2.0.3: {} - is-natural-number@4.0.1: {} is-negative-zero@2.0.3: {} @@ -15184,8 +14043,6 @@ snapshots: dependencies: scoped-regex: 3.0.0 - is-set@2.0.3: {} - is-shared-array-buffer@1.0.3: dependencies: call-bind: 1.0.7 @@ -15224,17 +14081,10 @@ snapshots: is-url-superb@6.1.0: {} - is-weakmap@2.0.2: {} - is-weakref@1.0.2: dependencies: call-bind: 1.0.7 - is-weakset@2.0.3: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-windows@1.0.2: {} is-wsl@2.2.0: @@ -15257,19 +14107,6 @@ snapshots: istanbul-lib-coverage@3.2.2: {} - istanbul-lib-hook@3.0.0: - dependencies: - append-transform: 2.0.0 - - istanbul-lib-instrument@4.0.3: - dependencies: - '@babel/core': 7.24.6 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.24.6 @@ -15290,15 +14127,6 @@ snapshots: transitivePeerDependencies: - supports-color - istanbul-lib-processinfo@2.0.3: - dependencies: - archy: 1.0.0 - cross-spawn: 7.0.3 - istanbul-lib-coverage: 3.2.2 - p-map: 3.0.0 - rimraf: 3.0.2 - uuid: 8.3.2 - istanbul-lib-report@3.0.1: dependencies: istanbul-lib-coverage: 3.2.2 @@ -15307,7 +14135,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -15316,7 +14144,7 @@ snapshots: istanbul-lib-source-maps@5.0.4: dependencies: '@jridgewell/trace-mapping': 0.3.25 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color @@ -15644,12 +14472,6 @@ snapshots: jest-util: 29.7.0 string-length: 4.0.2 - jest-worker@27.5.1: - dependencies: - '@types/node': 20.12.12 - merge-stream: 2.0.0 - supports-color: 8.1.1 - jest-worker@29.7.0: dependencies: '@types/node': 20.12.12 @@ -15856,8 +14678,6 @@ snapshots: dependencies: package-json: 8.1.1 - lazy-ass@1.6.0: {} - leven@3.1.0: {} levn@0.4.1: @@ -15903,19 +14723,6 @@ snapshots: date-fns: 1.30.1 figures: 2.0.0 - listr2@3.14.0(enquirer@2.4.1): - dependencies: - cli-truncate: 2.1.0 - colorette: 2.0.20 - log-update: 4.0.0 - p-map: 4.0.0 - rfdc: 1.3.1 - rxjs: 7.8.1 - through: 2.3.8 - wrap-ansi: 7.0.0 - optionalDependencies: - enquirer: 2.4.1 - listr@0.14.3: dependencies: '@samverschueren/stream-to-observable': 0.3.1(rxjs@6.6.7) @@ -15938,8 +14745,6 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 - loader-runner@4.3.0: {} - local-pkg@0.5.0: dependencies: mlly: 1.7.0 @@ -15967,8 +14772,6 @@ snapshots: lodash.find@4.6.0: {} - lodash.flattendeep@4.4.0: {} - lodash.get@4.4.2: {} lodash.includes@4.3.0: {} @@ -16023,13 +14826,6 @@ snapshots: cli-cursor: 2.1.0 wrap-ansi: 3.0.1 - log-update@4.0.0: - dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 - longest-streak@3.1.0: {} loupe@2.3.7: @@ -16065,8 +14861,6 @@ snapshots: lru-cache@7.18.3: {} - lz-string@1.5.0: {} - magic-string@0.25.9: dependencies: sourcemap-codec: 1.4.8 @@ -16085,10 +14879,6 @@ snapshots: dependencies: pify: 3.0.0 - make-dir@3.1.0: - dependencies: - semver: 6.3.1 - make-dir@4.0.0: dependencies: semver: 7.6.2 @@ -16434,7 +15224,7 @@ snapshots: micromark@4.0.0: dependencies: '@types/debug': 4.1.12 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -16622,19 +15412,10 @@ snapshots: node-forge@1.3.1: {} - node-html-parser@5.3.3: - dependencies: - css-select: 4.3.0 - he: 1.2.0 - node-int64@0.4.0: {} node-machine-id@1.1.12: {} - node-preload@0.2.1: - dependencies: - process-on-spawn: 1.0.0 - node-releases@2.0.14: {} normalize-package-data@2.5.0: @@ -16841,49 +15622,12 @@ snapshots: transitivePeerDependencies: - debug - nyc@15.1.0: - dependencies: - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - caching-transform: 4.0.0 - convert-source-map: 1.9.0 - decamelize: 1.2.0 - find-cache-dir: 3.3.2 - find-up: 4.1.0 - foreground-child: 2.0.0 - get-package-type: 0.1.0 - glob: 7.2.3 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-hook: 3.0.0 - istanbul-lib-instrument: 4.0.3 - istanbul-lib-processinfo: 2.0.3 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - make-dir: 3.1.0 - node-preload: 0.2.1 - p-map: 3.0.0 - process-on-spawn: 1.0.0 - resolve-from: 5.0.0 - rimraf: 3.0.2 - signal-exit: 3.0.7 - spawn-wrap: 2.0.0 - test-exclude: 6.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - supports-color - object-assign@4.1.1: {} object-hash@3.0.0: {} object-inspect@1.13.1: {} - object-is@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - object-keys@1.1.1: {} object.assign@4.1.5: @@ -16978,8 +15722,6 @@ snapshots: os-tmpdir@1.0.2: {} - ospath@1.2.2: {} - outdent@0.5.0: {} override-require@1.1.1: {} @@ -17022,14 +15764,6 @@ snapshots: p-map@2.1.0: {} - p-map@3.0.0: - dependencies: - aggregate-error: 3.1.0 - - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - p-map@5.5.0: dependencies: aggregate-error: 4.0.1 @@ -17045,13 +15779,6 @@ snapshots: p-try@2.2.0: {} - package-hash@4.0.0: - dependencies: - graceful-fs: 4.2.11 - hasha: 5.2.2 - lodash.flattendeep: 4.4.0 - release-zalgo: 1.0.0 - package-json@8.1.1: dependencies: got: 12.6.1 @@ -17232,10 +15959,6 @@ snapshots: dependencies: find-up: 4.1.0 - pkg-dir@7.0.0: - dependencies: - find-up: 6.3.0 - pkg-dir@8.0.0: dependencies: find-up-simple: 1.0.0 @@ -17313,14 +16036,6 @@ snapshots: prettier@3.2.5: {} - pretty-bytes@5.6.0: {} - - pretty-format@27.5.1: - dependencies: - ansi-regex: 5.0.1 - ansi-styles: 5.2.0 - react-is: 17.0.2 - pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 @@ -17349,10 +16064,6 @@ snapshots: process-nextick-args@2.0.1: {} - process-on-spawn@1.0.0: - dependencies: - fromentries: 1.3.2 - process-warning@1.0.0: {} process-warning@3.0.0: {} @@ -17375,8 +16086,6 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 - proxy-from-env@1.0.0: {} - proxy-from-env@1.1.0: {} pseudomap@1.0.2: {} @@ -17434,10 +16143,6 @@ snapshots: qwik-themes@0.2.0: {} - randombytes@2.1.0: - dependencies: - safe-buffer: 5.2.1 - range-parser@1.2.1: {} raw-body@2.5.2: @@ -17454,8 +16159,6 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-is@17.0.2: {} - react-is@18.3.1: {} read-cache@1.0.0: @@ -17606,10 +16309,6 @@ snapshots: unified: 11.0.4 unist-util-visit: 5.0.0 - release-zalgo@1.0.0: - dependencies: - es6-error: 4.1.1 - remark-mdx@3.0.1: dependencies: mdast-util-mdx: 3.0.0 @@ -17636,10 +16335,6 @@ snapshots: remove-accents@0.5.0: {} - request-progress@3.0.0: - dependencies: - throttleit: 1.0.1 - require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -17695,8 +16390,6 @@ snapshots: reusify@1.0.4: {} - rfdc@1.3.1: {} - rimraf@2.4.5: dependencies: glob: 6.0.4 @@ -17796,19 +16489,6 @@ snapshots: dependencies: xmlchars: 2.2.0 - schema-utils@3.3.0: - dependencies: - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - - schema-utils@4.2.0: - dependencies: - '@types/json-schema': 7.0.15 - ajv: 8.14.0 - ajv-formats: 2.1.1(ajv@8.14.0) - ajv-keywords: 5.1.0(ajv@8.14.0) - scoped-regex@3.0.0: {} seek-bzip@1.0.6: @@ -17856,10 +16536,6 @@ snapshots: transitivePeerDependencies: - supports-color - serialize-javascript@6.0.2: - dependencies: - randombytes: 2.1.0 - serve-static@1.15.0: dependencies: encodeurl: 1.0.2 @@ -17965,18 +16641,6 @@ snapshots: slice-ansi@0.0.4: {} - slice-ansi@3.0.0: - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - - slice-ansi@4.0.0: - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - smartwrap@2.0.2: dependencies: array.prototype.flat: 1.3.2 @@ -18023,15 +16687,6 @@ snapshots: space-separated-tokens@2.0.2: {} - spawn-wrap@2.0.0: - dependencies: - foreground-child: 2.0.0 - is-windows: 1.0.2 - make-dir: 3.1.0 - rimraf: 3.0.2 - signal-exit: 3.0.7 - which: 2.0.2 - spawndamnit@2.0.0: dependencies: cross-spawn: 5.1.0 @@ -18092,10 +16747,6 @@ snapshots: dependencies: graceful-fs: 4.2.11 - stop-iteration-iterator@1.0.0: - dependencies: - internal-slot: 1.0.7 - stoppable@1.1.0: {} stream-shift@1.0.3: {} @@ -18317,8 +16968,6 @@ snapshots: transitivePeerDependencies: - ts-node - tapable@2.2.1: {} - tar-stream@1.6.2: dependencies: bl: 1.2.3 @@ -18344,24 +16993,13 @@ snapshots: ansi-escapes: 5.0.0 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.10(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)): - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - jest-worker: 27.5.1 - schema-utils: 3.3.0 - serialize-javascript: 6.0.2 - terser: 5.31.1 - webpack: 5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19) - optionalDependencies: - '@swc/core': 1.5.29(@swc/helpers@0.5.11) - esbuild: 0.17.19 - terser@5.31.1: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 + optional: true test-exclude@6.0.0: dependencies: @@ -18389,8 +17027,6 @@ snapshots: dependencies: real-require: 0.2.0 - throttleit@1.0.1: {} - through@2.3.8: {} tinybench@2.8.0: {} @@ -18684,8 +17320,6 @@ snapshots: unpipe@1.0.0: {} - untildify@4.0.0: {} - update-browserslist-db@1.0.16(browserslist@4.23.0): dependencies: browserslist: 4.23.0 @@ -18788,7 +17422,7 @@ snapshots: clipanion: 3.2.1(typanion@3.14.0) compression: 1.7.4 cors: 2.8.5 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 envinfo: 7.13.0 express: 4.19.2 express-rate-limit: 5.5.1 @@ -18844,7 +17478,7 @@ snapshots: vite-node@1.6.0(@types/node@20.12.12)(sass@1.77.4)(terser@5.31.1): dependencies: cac: 6.7.14 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 pathe: 1.1.2 picocolors: 1.0.1 vite: 5.2.11(@types/node@20.12.12)(sass@1.77.4)(terser@5.31.1) @@ -18863,7 +17497,7 @@ snapshots: '@microsoft/api-extractor': 7.43.0(@types/node@20.12.12) '@rollup/pluginutils': 5.1.0(rollup@4.18.0) '@vue/language-core': 1.8.27(typescript@5.4.5) - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 kolorist: 1.8.0 magic-string: 0.30.10 typescript: 5.4.5 @@ -18887,7 +17521,7 @@ snapshots: dependencies: '@antfu/utils': 0.7.8 '@rollup/pluginutils': 5.1.0(rollup@4.18.0) - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 error-stack-parser-es: 0.1.4 fs-extra: 11.2.0 open: 10.1.0 @@ -18909,7 +17543,7 @@ snapshots: vite-tsconfig-paths@4.3.2(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.12)(sass@1.77.4)(terser@5.31.1)): dependencies: - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 globrex: 0.1.2 tsconfck: 3.1.0(typescript@5.4.5) optionalDependencies: @@ -18938,7 +17572,7 @@ snapshots: '@vitest/utils': 1.6.0 acorn-walk: 8.3.2 chai: 4.4.1 - debug: 4.3.5(supports-color@8.1.1) + debug: 4.3.5 execa: 8.0.1 local-pkg: 0.5.0 magic-string: 0.30.10 @@ -18988,11 +17622,6 @@ snapshots: dependencies: makeerror: 1.0.12 - watchpack@2.4.1: - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - wcwidth@1.0.1: dependencies: defaults: 1.0.4 @@ -19005,39 +17634,6 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-sources@3.2.3: {} - - webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19): - dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/wasm-edit': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.11.3 - acorn-import-attributes: 1.9.5(acorn@8.11.3) - browserslist: 4.23.0 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.17.0 - es-module-lexer: 1.5.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)(webpack@5.92.0(@swc/core@1.5.29(@swc/helpers@0.5.11))(esbuild@0.17.19)) - watchpack: 2.4.1 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - whatwg-encoding@2.0.0: dependencies: iconv-lite: 0.6.3 @@ -19073,13 +17669,6 @@ snapshots: is-string: 1.0.7 is-symbol: 1.0.4 - which-collection@1.0.2: - dependencies: - is-map: 2.0.3 - is-set: 2.0.3 - is-weakmap: 2.0.2 - is-weakset: 2.0.3 - which-module@2.0.1: {} which-pm@2.0.0: