From 7f2d5d6f9676fab59010bb8e1083db16d86e5912 Mon Sep 17 00:00:00 2001 From: Durga Date: Wed, 22 Jul 2026 13:09:15 -0400 Subject: [PATCH] Configure shopify-dev-tools for the CLI workspace Assisted-By: devx/2abd1361-dbec-45a7-83e1-85b4b8e82bb6 --- .gitignore | 3 + package.json | 44 + packages/shopify-dev-tools/.gitignore | 10 +- packages/shopify-dev-tools/package.json | 12 +- packages/shopify-dev-tools/project.json | 59 + .../shopify-dev-tools/src/types/verdict.d.ts | 34 + .../shopify-dev-tools/test-stubs/verdict.ts | 34 + packages/shopify-dev-tools/vite.config.js | 4 + pnpm-lock.yaml | 1189 +++++++++++++++-- pnpm-workspace.yaml | 20 +- 10 files changed, 1301 insertions(+), 108 deletions(-) create mode 100644 packages/shopify-dev-tools/project.json create mode 100644 packages/shopify-dev-tools/src/types/verdict.d.ts create mode 100644 packages/shopify-dev-tools/test-stubs/verdict.ts diff --git a/.gitignore b/.gitignore index 84de6f089f3..fe027c769af 100644 --- a/.gitignore +++ b/.gitignore @@ -182,6 +182,9 @@ eslint-report.json docs/api docs-shopify.dev/commands/interfaces/ +# Generated Shopify developer skills +packages/skills/ + vite.config.ts.timestamp* # from nested gitignores diff --git a/package.json b/package.json index a4f3c4f6a41..af66060d862 100644 --- a/package.json +++ b/package.json @@ -108,6 +108,9 @@ "use-resize-observer>react-dom": "19.2.4" } }, + "overrides": { + "@shopify/shopify-dev-tools>@shopify/verdict": "-" + }, "onlyBuiltDependencies": [ "@parcel/watcher", "esbuild", @@ -379,6 +382,47 @@ "@types/react-dom", "react-dom" ] + }, + "packages/shopify-dev-tools": { + "entry": [ + "src/index.ts!", + "src/instructions/skill-blocks.ts!", + "src/schemaOperations/loadAPISchemas.ts!", + "src/validation/extractComponentValidations.ts!", + "src/validation/format.ts!", + "scripts/*.{js,ts}!", + "src/agent-skills/scripts/*.ts!" + ], + "project": [ + "src/**/*.ts!", + "scripts/*.{js,ts}!", + "test-stubs/**/*.ts!", + "vite.config.js!" + ], + "ignore": [ + "src/data/**" + ], + "ignoreDependencies": [ + "@react-router/dev", + "@react-router/node", + "@shopify/app-bridge-react", + "@shopify/app-bridge-types", + "@shopify/hydrogen", + "@shopify/hydrogen-react", + "@shopify/polaris-types", + "@shopify/verdict", + "@types/react", + "isbot", + "preact", + "react-router", + "schema-dts", + "type-fest" + ], + "vite": { + "config": [ + "vite.config.js" + ] + } } } } diff --git a/packages/shopify-dev-tools/.gitignore b/packages/shopify-dev-tools/.gitignore index 2d260b5adce..af876ca4a93 100644 --- a/packages/shopify-dev-tools/.gitignore +++ b/packages/shopify-dev-tools/.gitignore @@ -22,7 +22,15 @@ npm-debug.log* # TypeScript build info *.tsbuildinfo +# The repository-wide ignore rules exclude nested dist directories and +# generated-looking index declarations. Here they are vendored reference data, +# not build output, so they must remain tracked. +!src/data/types/**/dist/ +!src/data/types/**/dist/** +!src/data/types/**/index.d.ts + data/*.json -# Generated by scripts/embed-schemas.ts (pnpm embed-schemas) +# Generated by package build and maintenance scripts. src/data-embedded/ +src/data/mcp-instructions/ diff --git a/packages/shopify-dev-tools/package.json b/packages/shopify-dev-tools/package.json index 2a4c04cf446..1d4df256de0 100644 --- a/packages/shopify-dev-tools/package.json +++ b/packages/shopify-dev-tools/package.json @@ -68,13 +68,15 @@ "embed-schemas": "pnpm exec tsx scripts/embed-schemas.ts", "generate_api_instructions": "pnpm exec tsx scripts/generate-api-instructions.ts", "generate_agent_skills": "pnpm exec tsx scripts/generate-agent-skills.ts", - "build": "pnpm embed-schemas && pnpm exec tsx scripts/generate-api-instructions.ts && vite build && tsc --emitDeclarationOnly", + "update-apis": "node scripts/update-apis.mjs", + "build": "nx build", "build:watch": "pnpm embed-schemas && vite build --watch", - "test": "vitest run", + "clean": "nx clean", + "test": "nx test", "test:watch": "vitest", - "typecheck": "pnpm embed-schemas && tsc --noEmit", - "lint": "prettier --check --cache --ignore-unknown .", - "lint:fix": "prettier --write --ignore-unknown ." + "typecheck": "nx type-check", + "lint": "nx lint", + "lint:fix": "nx lint:fix" }, "dependencies": { "@shopify/app-bridge-react": "catalog:", diff --git a/packages/shopify-dev-tools/project.json b/packages/shopify-dev-tools/project.json new file mode 100644 index 00000000000..6f98f454e28 --- /dev/null +++ b/packages/shopify-dev-tools/project.json @@ -0,0 +1,59 @@ +{ + "name": "shopify-dev-tools", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "packages/shopify-dev-tools/src", + "projectType": "library", + "tags": ["scope:feature"], + "targets": { + "clean": { + "executor": "nx:run-commands", + "options": { + "command": "pnpm rimraf dist/", + "cwd": "packages/shopify-dev-tools" + } + }, + "build": { + "executor": "nx:run-commands", + "outputs": ["{projectRoot}/dist"], + "inputs": [ + "{projectRoot}/src/**/*", + "{projectRoot}/scripts/**/*", + "{projectRoot}/package.json", + "{projectRoot}/tsconfig.json", + "{projectRoot}/vite.config.js" + ], + "options": { + "command": "pnpm embed-schemas && pnpm generate_api_instructions && pnpm exec vite build && pnpm exec tsc --emitDeclarationOnly", + "cwd": "packages/shopify-dev-tools" + } + }, + "lint": { + "executor": "nx:run-commands", + "options": { + "command": "pnpm exec prettier --check --cache --ignore-unknown .", + "cwd": "packages/shopify-dev-tools" + } + }, + "lint:fix": { + "executor": "nx:run-commands", + "options": { + "command": "pnpm exec prettier --write --ignore-unknown .", + "cwd": "packages/shopify-dev-tools" + } + }, + "test": { + "executor": "nx:run-commands", + "options": { + "command": "pnpm exec vitest run --config vite.config.js", + "cwd": "packages/shopify-dev-tools" + } + }, + "type-check": { + "executor": "nx:run-commands", + "options": { + "command": "pnpm embed-schemas && pnpm exec tsc --noEmit", + "cwd": "packages/shopify-dev-tools" + } + } + } +} diff --git a/packages/shopify-dev-tools/src/types/verdict.d.ts b/packages/shopify-dev-tools/src/types/verdict.d.ts new file mode 100644 index 00000000000..32db92d3afa --- /dev/null +++ b/packages/shopify-dev-tools/src/types/verdict.d.ts @@ -0,0 +1,34 @@ +declare module "@shopify/verdict/node" { + export type VariantAssignment = string; + export type VerdictError = unknown; + + export interface VerdictUserConfiguration { + apiKey: string; + appName: string; + useEdgeApi: boolean; + cacheConfiguration: { + cacheTTLSeconds: number; + staleWhileRevalidateSeconds: number; + staleIfErrorSeconds: number; + }; + fetchOptions: { timeout: number }; + logger: { + produce(event: { schemaId: string; payload: unknown }): Promise; + }; + onError(err: unknown): void; + } + + export class Verdict { + constructor(config: VerdictUserConfiguration); + + assignVariant( + experimentHandle: string, + subject: { type: "default"; subjectId: string }, + ): Promise; + + flagEnabled( + flagHandle: string, + subject: { type: "default"; subjectId: string }, + ): Promise; + } +} diff --git a/packages/shopify-dev-tools/test-stubs/verdict.ts b/packages/shopify-dev-tools/test-stubs/verdict.ts new file mode 100644 index 00000000000..84a2777dae0 --- /dev/null +++ b/packages/shopify-dev-tools/test-stubs/verdict.ts @@ -0,0 +1,34 @@ +export type VariantAssignment = string; +export type VerdictError = unknown; + +export interface VerdictUserConfiguration { + apiKey: string; + appName: string; + useEdgeApi: boolean; + cacheConfiguration: { + cacheTTLSeconds: number; + staleWhileRevalidateSeconds: number; + staleIfErrorSeconds: number; + }; + fetchOptions: { timeout: number }; + logger: { + produce(event: { schemaId: string; payload: unknown }): Promise; + }; + onError(err: unknown): void; +} + +export class Verdict { + constructor(_config: VerdictUserConfiguration) {} + + async assignVariant(): Promise { + throw new Error( + "The Verdict client is unavailable in the public repository test environment.", + ); + } + + async flagEnabled(): Promise { + throw new Error( + "The Verdict client is unavailable in the public repository test environment.", + ); + } +} diff --git a/packages/shopify-dev-tools/vite.config.js b/packages/shopify-dev-tools/vite.config.js index 27eb4c9457a..307a1239cea 100644 --- a/packages/shopify-dev-tools/vite.config.js +++ b/packages/shopify-dev-tools/vite.config.js @@ -163,6 +163,7 @@ export default defineConfig({ "graphql", "typescript", "html-tags", + "@shopify/verdict/node", ], output: { interop: "auto", @@ -184,6 +185,9 @@ export default defineConfig({ alias: { // Similar to the moduleNameMapper in Jest config "^(\\.{1,2}/.*)\\.js$": "$1", + "@shopify/verdict/node": fileURLToPath( + new URL("./test-stubs/verdict.ts", import.meta.url), + ), }, }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 90357c9c908..c7b7e6950e8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,54 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +catalogs: + default: + '@react-router/dev': + specifier: 7.15.1 + version: 7.15.1 + '@shopify/app-bridge-react': + specifier: 4.2.10 + version: 4.2.10 + '@shopify/app-bridge-types': + specifier: 0.7.0 + version: 0.7.0 + '@shopify/hydrogen': + specifier: 2026.1.3 + version: 2026.1.3 + '@shopify/hydrogen-react': + specifier: 2026.1.2 + version: 2026.1.2 + '@shopify/polaris-types': + specifier: 1.0.1 + version: 1.0.1 + '@types/node': + specifier: 25.3.3 + version: 25.3.3 + '@vitest/coverage-v8': + specifier: 4.1.0 + version: 4.1.0 + preact: + specifier: 10.28.4 + version: 10.28.4 + prettier: + specifier: 3.8.1 + version: 3.8.1 + react-router: + specifier: 7.15.1 + version: 7.15.1 + schema-dts: + specifier: 1.1.5 + version: 1.1.5 + type-fest: + specifier: 5.5.0 + version: 5.5.0 + typescript: + specifier: 5.9.3 + version: 5.9.3 + vitest: + specifier: 4.1.5 + version: 4.1.5 + overrides: '@types/react': 18.3.12 vite: 6.4.3 @@ -33,6 +81,7 @@ overrides: '@shopify/cli-hydrogen>@shopify/plugin-cloudflare': link:./packages/plugin-cloudflare nanoid: 3.3.8 graphql: 16.14.2 + '@shopify/shopify-dev-tools>@shopify/verdict': '-' importers: @@ -157,7 +206,7 @@ importers: version: 5.9.3 vitest: specifier: ^4.1.10 - version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/coverage-istanbul@3.2.7)(jsdom@28.1.0)(msw@2.15.0(@types/node@18.19.130)(typescript@5.9.3))(vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/coverage-istanbul@3.2.7)(jsdom@28.1.0)(msw@2.15.0(@types/node@18.19.130)(typescript@5.9.3))(vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) zod: specifier: 3.25.76 version: 3.25.76 @@ -276,7 +325,7 @@ importers: version: link:../app '@shopify/cli-hydrogen': specifier: 13.0.2 - version: 13.0.2(@graphql-codegen/cli@6.3.1(@parcel/watcher@2.5.6)(@types/node@18.19.130)(crossws@0.3.5)(graphql@16.14.2)(typescript@5.9.3))(graphql-config@5.1.6(@types/node@26.1.1)(crossws@0.3.5)(graphql@16.14.2)(typescript@5.9.3))(graphql@16.14.2)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0)) + version: 13.0.2(@graphql-codegen/cli@6.3.1(@parcel/watcher@2.5.6)(@types/node@18.19.130)(crossws@0.3.5)(graphql@16.14.2)(typescript@5.9.3))(graphql-config@5.1.6(@types/node@26.1.1)(crossws@0.3.5)(graphql@16.14.2)(typescript@5.9.3))(graphql@16.14.2)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) '@shopify/cli-kit': specifier: 4.5.0 version: link:../cli-kit @@ -587,7 +636,7 @@ importers: version: 8.56.1(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3) '@vitest/eslint-plugin': specifier: 1.1.44 - version: 1.1.44(@typescript-eslint/utils@8.56.1(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(@vitest/coverage-istanbul@3.2.7)(jsdom@28.1.0)(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0))) + version: 1.1.44(@typescript-eslint/utils@8.56.1(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(@vitest/coverage-istanbul@3.2.7(vitest@4.1.10))(jsdom@28.1.0)(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))) eslint: specifier: ^9.0.0 version: 9.39.5(jiti@2.6.1) @@ -665,6 +714,88 @@ importers: specifier: ^3.2.7 version: 3.2.7(vitest@4.1.10) + packages/shopify-dev-tools: + dependencies: + '@react-router/dev': + specifier: 'catalog:' + version: 7.15.1(@types/node@25.3.3)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(react-router@7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + '@shopify/app-bridge-react': + specifier: 'catalog:' + version: 4.2.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@shopify/app-bridge-types': + specifier: 'catalog:' + version: 0.7.0 + '@shopify/hydrogen': + specifier: 'catalog:' + version: 2026.1.3(@react-router/dev@7.15.1(@types/node@25.3.3)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(react-router@7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0))(react-dom@19.2.4(react@19.2.4))(react-router@7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(three@0.183.2)(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0)) + '@shopify/hydrogen-react': + specifier: 'catalog:' + version: 2026.1.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(three@0.183.2)(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0)) + '@shopify/polaris-types': + specifier: 'catalog:' + version: 1.0.1 + '@shopify/theme-check-common': + specifier: 3.24.0 + version: 3.24.0 + '@shopify/theme-check-docs-updater': + specifier: 3.24.0 + version: 3.24.0 + '@shopify/theme-check-node': + specifier: 3.24.0 + version: 3.24.0 + '@types/react': + specifier: 18.3.12 + version: 18.3.12 + graphql: + specifier: 16.14.2 + version: 16.14.2 + html-tags: + specifier: 5.1.0 + version: 5.1.0 + preact: + specifier: 'catalog:' + version: 10.28.4 + react-router: + specifier: 'catalog:' + version: 7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + schema-dts: + specifier: 'catalog:' + version: 1.1.5 + svg-tag-names: + specifier: 3.0.1 + version: 3.0.1 + type-fest: + specifier: 'catalog:' + version: 5.5.0 + typescript: + specifier: 'catalog:' + version: 5.9.3 + devDependencies: + '@types/node': + specifier: 'catalog:' + version: 25.3.3 + '@vitest/coverage-v8': + specifier: 'catalog:' + version: 4.1.0(vitest@4.1.5) + esbuild: + specifier: ^0.25.0 + version: 0.25.12 + prettier: + specifier: 'catalog:' + version: 3.8.1 + terser: + specifier: ^5.46.1 + version: 5.49.0 + tsx: + specifier: 4.21.0 + version: 4.21.0 + vite: + specifier: 6.4.3 + version: 6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0) + vitest: + specifier: 'catalog:' + version: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@25.3.3)(@vitest/coverage-istanbul@3.2.7)(@vitest/coverage-v8@4.1.0)(jsdom@28.1.0)(msw@2.15.0(@types/node@25.3.3)(typescript@5.9.3))(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0)) + packages/store: dependencies: '@graphql-typed-document-node/core': @@ -728,7 +859,7 @@ importers: version: 18.3.12 '@vitejs/plugin-react': specifier: ^5.2.0 - version: 5.2.0(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0)) + version: 5.2.0(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) jsdom: specifier: ^25.0.0 version: 25.0.1 @@ -740,7 +871,7 @@ importers: version: 18.3.1(react@18.3.1) vite: specifier: 6.4.3 - version: 6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0) + version: 6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) packages/ui-extensions-test-utils: devDependencies: @@ -1082,10 +1213,6 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==, tarball: https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz} - engines: {node: '>=6.9.0'} - '@babel/helper-globals@7.29.7': resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==, tarball: https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz} engines: {node: '>=6.9.0'} @@ -1154,10 +1281,6 @@ packages: resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==, tarball: https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==, tarball: https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.29.7': resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==, tarball: https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz} engines: {node: '>=6.9.0'} @@ -1174,11 +1297,6 @@ packages: resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==, tarball: https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz} engines: {node: '>=6.9.0'} - '@babel/parser@7.29.0': - resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==, tarball: https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/parser@7.29.7': resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==, tarball: https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz} engines: {node: '>=6.0.0'} @@ -1637,10 +1755,6 @@ packages: resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==, tarball: https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz} engines: {node: '>=6.9.0'} - '@babel/traverse@7.29.0': - resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==, tarball: https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz} - engines: {node: '>=6.9.0'} - '@babel/traverse@7.29.7': resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==, tarball: https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz} engines: {node: '>=6.9.0'} @@ -1653,6 +1767,10 @@ packages: resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==, tarball: https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz} engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@1.0.2': + resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==, tarball: https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz} + engines: {node: '>=18'} + '@bramus/specificity@2.4.2': resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==, tarball: https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz} hasBin: true @@ -2370,6 +2488,12 @@ packages: '@gerrit0/mini-shiki@3.23.0': resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==, tarball: https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.23.0.tgz} + '@google/model-viewer@4.3.1': + resolution: {integrity: sha512-GP+inXhAtY31E8rILVmByA6z8CZZjdlNajddppyI1/j1eIaSQiZcMRaUqTFe7+jv4mzRzwKIOiKBud0apiv+WQ==, tarball: https://registry.npmjs.org/@google/model-viewer/-/model-viewer-4.3.1.tgz} + engines: {node: '>=6.0.0'} + peerDependencies: + three: ^0.183.0 + '@graphql-codegen/add@6.0.1': resolution: {integrity: sha512-MSylSekjpVWbOBw2A/2ssk1fPY54sYb6Qk2C4AX5u7s2R+2pMQ9ws7DTXo8VU9qwTgWwVp6vGfdQ0AMpAn4Iug==, tarball: https://registry.npmjs.org/@graphql-codegen/add/-/add-6.0.1.tgz} engines: {node: '>=16'} @@ -2893,6 +3017,9 @@ packages: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, tarball: https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz} engines: {node: '>=6.0.0'} + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==, tarball: https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz} + '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, tarball: https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz} @@ -2914,6 +3041,12 @@ packages: '@kwsites/promise-deferred@1.1.1': resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==, tarball: https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz} + '@lit-labs/ssr-dom-shim@1.6.0': + resolution: {integrity: sha512-VHb0ALPMTlgKjM6yIxxoQNnpKyUKLD04VzeQdsiXkMqkvYlAHxq9glGLmgbb889/1GsohSOAjvQYoiBppXFqrQ==, tarball: https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.6.0.tgz} + + '@lit/reactive-element@2.1.2': + resolution: {integrity: sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==, tarball: https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.2.tgz} + '@luckycatfactory/esbuild-graphql-loader@3.8.1': resolution: {integrity: sha512-ovONIUSW6NAlCpiPMaVw4PpdFoO3Kqi8TGQ2hTtjKTQTdPpSOdekPI1ZRnwciTeUn0yCAQk7M2xdrbIZeTh6pw==, tarball: https://registry.npmjs.org/@luckycatfactory/esbuild-graphql-loader/-/esbuild-graphql-loader-3.8.1.tgz} peerDependencies: @@ -2933,6 +3066,14 @@ packages: '@microsoft/tsdoc@0.16.0': resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==, tarball: https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.16.0.tgz} + '@mjackson/node-fetch-server@0.2.0': + resolution: {integrity: sha512-EMlH1e30yzmTpGLQjlFmaDAjyOeZhng1/XCd7DExR8PNAnG/G1tyruZxEoUe11ClnwGhGrtsdnyyUx1frSzjng==, tarball: https://registry.npmjs.org/@mjackson/node-fetch-server/-/node-fetch-server-0.2.0.tgz} + + '@monogrid/gainmap-js@3.4.0': + resolution: {integrity: sha512-2Z0FATFHaoYJ8b+Y4y4Hgfn3FRFwuU5zRrk+9dFWp4uGAdHGqVEdP7HP+gLA3X469KXHmfupJaUbKo1b/aDKIg==, tarball: https://registry.npmjs.org/@monogrid/gainmap-js/-/gainmap-js-3.4.0.tgz} + peerDependencies: + three: '>= 0.159.0' + '@mswjs/interceptors@0.41.9': resolution: {integrity: sha512-VVPPgHyQ6ShqnrmDWuxjmUIsO9gWyOZFmuOfLd9LfBGQJwZfy0gvv9pbHSJuoFNIYC7ZDX9aoFwowjcdSC4E8w==, tarball: https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.41.9.tgz} engines: {node: '>=18'} @@ -3525,6 +3666,43 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==, tarball: https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz} + '@react-router/dev@7.15.1': + resolution: {integrity: sha512-BlFEU7SjPQHJDfYuw5qJU3+p4wMPEvKpf5Kj64/rRzQQjncXzhzkIJ0xreAQSYgGwJWjIXIK9swOaeE2czhulw==, tarball: https://registry.npmjs.org/@react-router/dev/-/dev-7.15.1.tgz} + engines: {node: '>=20.0.0'} + hasBin: true + peerDependencies: + '@react-router/serve': ^7.15.1 + '@vitejs/plugin-rsc': ~0.5.21 + react-router: ^7.15.1 + react-server-dom-webpack: ^19.2.3 + typescript: ^5.1.0 || ^6.0.0 + vite: 6.4.3 + wrangler: ^3.28.2 || ^4.0.0 + peerDependenciesMeta: + '@react-router/serve': + optional: true + '@vitejs/plugin-rsc': + optional: true + react-server-dom-webpack: + optional: true + typescript: + optional: true + wrangler: + optional: true + + '@react-router/node@7.15.1': + resolution: {integrity: sha512-lv68RaqmIa/ZRlIrGcl79HimaqpU3yV1CFKnmItU+xqI+xn9g5fqsh2Vj2LdNjnlzJgVsRMEpnv00t/6RgDrgw==, tarball: https://registry.npmjs.org/@react-router/node/-/node-7.15.1.tgz} + engines: {node: '>=20.0.0'} + peerDependencies: + react-router: 7.15.1 + typescript: ^5.1.0 || ^6.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@remix-run/node-fetch-server@0.13.3': + resolution: {integrity: sha512-UfjOXed/DQteaM5VyTfqTeGpHwyL2J5aoRGY6cydip4tt1ehNNeSwuXCC7AEGE0RWBs/7bgKxYkL/B/+UDe4AA==, tarball: https://registry.npmjs.org/@remix-run/node-fetch-server/-/node-fetch-server-0.13.3.tgz} + '@repeaterjs/repeater@3.0.6': resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==, tarball: https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.6.tgz} @@ -3671,6 +3849,15 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==, tarball: https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz} + '@shopify/app-bridge-react@4.2.10': + resolution: {integrity: sha512-/VhfsxIvWcK7w5rBY97WdSTApLEg+Z2dT9Zc+idAUiAi48R64nYalXDUG8ar5xRoINHFC/w+9WxYViAazpgfew==, tarball: https://registry.npmjs.org/@shopify/app-bridge-react/-/app-bridge-react-4.2.10.tgz} + peerDependencies: + react: '*' + react-dom: '*' + + '@shopify/app-bridge-types@0.7.0': + resolution: {integrity: sha512-A/DiGIjCBdd45ijMDKLgXrrGG68so3d25Yaeo0lv8ruWeljHGn3sA+UU1o/5BptSPkikDkgPPl8EQDxe4/KShw==, tarball: https://registry.npmjs.org/@shopify/app-bridge-types/-/app-bridge-types-0.7.0.tgz} + '@shopify/cli-hydrogen@13.0.2': resolution: {integrity: sha512-EI0Qs88M3zgLQLihAH08gR2A2Gcjy7yIHbPy+chfrYytQYoYW2JRaBxjn/PNHCrEJGhnKSGdXLyKQGRCsBmZrw==, tarball: https://registry.npmjs.org/@shopify/cli-hydrogen/-/cli-hydrogen-13.0.2.tgz} engines: {node: ^22 || ^24} @@ -3710,6 +3897,27 @@ packages: resolution: {integrity: sha512-BqeO3RgbE4Qmnz41K2YZCBY7kVPPFrIYt93Wq5HixGyzzIhHZTS/fz3ojNb3/Tw0P2nVq9CkZa42675+CHyn+Q==, tarball: https://registry.npmjs.org/@shopify/generate-docs/-/generate-docs-1.2.3.tgz} hasBin: true + '@shopify/graphql-client@1.4.1': + resolution: {integrity: sha512-/w4Uchx8ueI8gwmJd1ZbbIGndsjfMEFlzmay3P7rya5zj7K308xne/ggIvWDweueIut2qf1A8lI58xQl9Pu22w==, tarball: https://registry.npmjs.org/@shopify/graphql-client/-/graphql-client-1.4.1.tgz} + + '@shopify/hydrogen-react@2026.1.2': + resolution: {integrity: sha512-FV/D+5eK/cu51BAqVlqifhVjbf0VTg3J5Lr3lcwMghaFAY2WeQ37WMIDfeeg/zcr3/QiwENf1wxH160Vdi/YOQ==, tarball: https://registry.npmjs.org/@shopify/hydrogen-react/-/hydrogen-react-2026.1.2.tgz} + peerDependencies: + react: ^18.3.1 || ~19.0.3 || ~19.1.4 || ^19.2.3 + react-dom: ^18.3.1 || ~19.0.3 || ~19.1.4 || ^19.2.3 + vite: 6.4.3 + + '@shopify/hydrogen@2026.1.3': + resolution: {integrity: sha512-h6J9SemK4SqOmsmlPW7GhC1bdeCJ7ghcRVIqOMJwFrGENhbOOWKhEKJ2cEjw/eEfKmnY0BYUbCmYNVRaDivGjw==, tarball: https://registry.npmjs.org/@shopify/hydrogen/-/hydrogen-2026.1.3.tgz} + peerDependencies: + '@react-router/dev': 7.12.0 + react: ^18.3.1 || ~19.0.3 || ~19.1.4 || ^19.2.3 + react-router: 7.12.0 + vite: 6.4.3 + peerDependenciesMeta: + vite: + optional: true + '@shopify/liquid-html-parser@2.9.2': resolution: {integrity: sha512-2XJYqHaZxEBwuufGhzIZ0M6m9YA4HS7YlVOiZtYanFgkmoQeJm1c0JhKcuCXU5C1pc2M0rt1XzBX8SgWv7l8Ww==, tarball: https://registry.npmjs.org/@shopify/liquid-html-parser/-/liquid-html-parser-2.9.2.tgz} @@ -3735,6 +3943,9 @@ packages: resolution: {integrity: sha512-y4PDtRbFKGHwA6Lu7a3L4N9SDP6gZv4tw6u0viumtcXcbF0T2j1xPmyuJZNc9c7vmhNSARCg27NGQFpPgxuaEg==, tarball: https://registry.npmjs.org/@shopify/polaris-tokens/-/polaris-tokens-8.10.0.tgz} engines: {node: ^16.17.0 || >=18.12.0} + '@shopify/polaris-types@1.0.1': + resolution: {integrity: sha512-BZs47atXnaOVqFrCfTeXc6Vz8Vk8Vpj9o3nx/lYTvy9i4pPvd4K4mRKIhjrer2NWITCMvY6+nZ6GE1I9Qfq4rQ==, tarball: https://registry.npmjs.org/@shopify/polaris-types/-/polaris-types-1.0.1.tgz} + '@shopify/polaris@12.27.0': resolution: {integrity: sha512-Y8yus6iEjcfW2ZtEJtlqxbWeDJqTX3S/MOLH4GWRvU5gFYJQhlaHaETs0+OimbhEpO95mXbY8qB+KnIJaVBHwA==, tarball: https://registry.npmjs.org/@shopify/polaris/-/polaris-12.27.0.tgz} engines: {node: ^16.17.0 || >=18.12.0} @@ -3742,13 +3953,23 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 + '@shopify/theme-check-common@3.24.0': + resolution: {integrity: sha512-gbUsv+vK7GeZNkA30wXKc5ncZjLMJZquI9K6CZR0jJaArV+/dAc9zGA73nqyiIgEGd2pw0S/Vly6FgBIVcPmMg==, tarball: https://registry.npmjs.org/@shopify/theme-check-common/-/theme-check-common-3.24.0.tgz} + '@shopify/theme-check-common@3.27.0': resolution: {integrity: sha512-PqV1NIcFjJ/8AGuQtIVqaQ1LZLF3f9pR1o5pi6VLECESVuzfWZuYRSuy1MuzROpkDwPI+uhrOy5WVzjnlvbGdw==, tarball: https://registry.npmjs.org/@shopify/theme-check-common/-/theme-check-common-3.27.0.tgz} + '@shopify/theme-check-docs-updater@3.24.0': + resolution: {integrity: sha512-IX8jEMke6uaL6KiUerBoy6xkV7LTFmY5HKmZuiAQPfd2IP1q280T5jaYzYa52vqy85JDja4HGxMQItiwJG3J4w==, tarball: https://registry.npmjs.org/@shopify/theme-check-docs-updater/-/theme-check-docs-updater-3.24.0.tgz} + hasBin: true + '@shopify/theme-check-docs-updater@3.27.0': resolution: {integrity: sha512-bZzB2d614FcR+M6fLZ5KC2f6TjCjv11yM+HVyjHZrafXe5mE+BsBB5PGdgAT17AymajIsJ55Qs9Qc2KGyzHxlg==, tarball: https://registry.npmjs.org/@shopify/theme-check-docs-updater/-/theme-check-docs-updater-3.27.0.tgz} hasBin: true + '@shopify/theme-check-node@3.24.0': + resolution: {integrity: sha512-8AQLCoLxeREWENc4ELGQbn1GkZO6lVVKxhAPSeXEg9VGI/oc1G+fPXEdN4VnExqW5aP/dJCAnb/JH89bkIrm4Q==, tarball: https://registry.npmjs.org/@shopify/theme-check-node/-/theme-check-node-3.24.0.tgz} + '@shopify/theme-check-node@3.27.0': resolution: {integrity: sha512-HD34e6HPsBdlqjrFVPz/Vrids5e97qqnAKb35oMWy61YKRxbsnhCYTrDVB8n40beYuTiyucSqLOnvqAIYiiZUw==, tarball: https://registry.npmjs.org/@shopify/theme-check-node/-/theme-check-node-3.27.0.tgz} @@ -3971,12 +4192,12 @@ packages: '@types/node@18.19.130': resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==, tarball: https://registry.npmjs.org/@types/node/-/node-18.19.130.tgz} - '@types/node@22.19.17': - resolution: {integrity: sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==, tarball: https://registry.npmjs.org/@types/node/-/node-22.19.17.tgz} - '@types/node@22.20.1': resolution: {integrity: sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==, tarball: https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz} + '@types/node@25.3.3': + resolution: {integrity: sha512-DpzbrH7wIcBaJibpKo9nnSQL0MTRdnWttGyE5haGwK86xgMOkFLp7vEyfQPGLOJh5wNYiJ3V9PmUMDhV9u8kkQ==, tarball: https://registry.npmjs.org/@types/node/-/node-25.3.3.tgz} + '@types/node@26.1.1': resolution: {integrity: sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==, tarball: https://registry.npmjs.org/@types/node/-/node-26.1.1.tgz} @@ -4028,6 +4249,9 @@ packages: '@types/tinycolor2@1.4.6': resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==, tarball: https://registry.npmjs.org/@types/tinycolor2/-/tinycolor2-1.4.6.tgz} + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==, tarball: https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz} + '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==, tarball: https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz} @@ -4205,6 +4429,15 @@ packages: peerDependencies: vitest: 3.2.7 + '@vitest/coverage-v8@4.1.0': + resolution: {integrity: sha512-nDWulKeik2bL2Va/Wl4x7DLuTKAXa906iRFooIRPR+huHkcvp9QDkPQ2RJdmjOFrqOqvNfoSQLF68deE3xC3CQ==, tarball: https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.1.0.tgz} + peerDependencies: + '@vitest/browser': 4.1.0 + vitest: 4.1.0 + peerDependenciesMeta: + '@vitest/browser': + optional: true + '@vitest/eslint-plugin@1.1.44': resolution: {integrity: sha512-m4XeohMT+Dj2RZfxnbiFR+Cv5dEC0H7C6TlxRQT7GK2556solm99kxgzJp/trKrZvanZcOFyw7aABykUTfWyrg==, tarball: https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.44.tgz} peerDependencies: @@ -4221,6 +4454,9 @@ packages: '@vitest/expect@4.1.10': resolution: {integrity: sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==, tarball: https://registry.npmjs.org/@vitest/expect/-/expect-4.1.10.tgz} + '@vitest/expect@4.1.5': + resolution: {integrity: sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==, tarball: https://registry.npmjs.org/@vitest/expect/-/expect-4.1.5.tgz} + '@vitest/mocker@4.1.10': resolution: {integrity: sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==, tarball: https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.10.tgz} peerDependencies: @@ -4232,21 +4468,53 @@ packages: vite: optional: true + '@vitest/mocker@4.1.5': + resolution: {integrity: sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw==, tarball: https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.5.tgz} + peerDependencies: + msw: ^2.4.9 + vite: 6.4.3 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@4.1.0': + resolution: {integrity: sha512-3RZLZlh88Ib0J7NQTRATfc/3ZPOnSUn2uDBUoGNn5T36+bALixmzphN26OUD3LRXWkJu4H0s5vvUeqBiw+kS0A==, tarball: https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.0.tgz} + '@vitest/pretty-format@4.1.10': resolution: {integrity: sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==, tarball: https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.10.tgz} + '@vitest/pretty-format@4.1.5': + resolution: {integrity: sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==, tarball: https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.5.tgz} + '@vitest/runner@4.1.10': resolution: {integrity: sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==, tarball: https://registry.npmjs.org/@vitest/runner/-/runner-4.1.10.tgz} + '@vitest/runner@4.1.5': + resolution: {integrity: sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ==, tarball: https://registry.npmjs.org/@vitest/runner/-/runner-4.1.5.tgz} + '@vitest/snapshot@4.1.10': resolution: {integrity: sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==, tarball: https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.10.tgz} + '@vitest/snapshot@4.1.5': + resolution: {integrity: sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==, tarball: https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.5.tgz} + '@vitest/spy@4.1.10': resolution: {integrity: sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==, tarball: https://registry.npmjs.org/@vitest/spy/-/spy-4.1.10.tgz} + '@vitest/spy@4.1.5': + resolution: {integrity: sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==, tarball: https://registry.npmjs.org/@vitest/spy/-/spy-4.1.5.tgz} + + '@vitest/utils@4.1.0': + resolution: {integrity: sha512-XfPXT6a8TZY3dcGY8EdwsBulFCIw+BeeX0RZn2x/BtiY/75YGh8FeWGG8QISN/WhaqSrE2OrlDgtF8q5uhOTmw==, tarball: https://registry.npmjs.org/@vitest/utils/-/utils-4.1.0.tgz} + '@vitest/utils@4.1.10': resolution: {integrity: sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==, tarball: https://registry.npmjs.org/@vitest/utils/-/utils-4.1.10.tgz} + '@vitest/utils@4.1.5': + resolution: {integrity: sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==, tarball: https://registry.npmjs.org/@vitest/utils/-/utils-4.1.5.tgz} + '@vscode/l10n@0.0.18': resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==, tarball: https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz} @@ -4269,6 +4537,9 @@ packages: resolution: {integrity: sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==, tarball: https://registry.npmjs.org/@whatwg-node/promise-helpers/-/promise-helpers-1.3.2.tgz} engines: {node: '>=16.0.0'} + '@xstate/fsm@2.0.0': + resolution: {integrity: sha512-p/zcvBMoU2ap5byMefLkR+AM+Eh99CU/SDEQeccgKlmFNOMDwphaRGqdk+emvel/SaGZ7Rf9sDvzAplLzLdEVQ==, tarball: https://registry.npmjs.org/@xstate/fsm/-/fsm-2.0.0.tgz} + '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==, tarball: https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz} @@ -4390,6 +4661,9 @@ packages: arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, tarball: https://registry.npmjs.org/arg/-/arg-4.1.3.tgz} + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==, tarball: https://registry.npmjs.org/arg/-/arg-5.0.2.tgz} + argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, tarball: https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz} @@ -4460,6 +4734,12 @@ packages: ast-types-flow@0.0.8: resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==, tarball: https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz} + ast-v8-to-istanbul@0.3.12: + resolution: {integrity: sha512-BRRC8VRZY2R4Z4lFIL35MwNXmwVqBityvOIwETtsCSwvjl0IdgFsy9NhdaA6j74nUdtJJlIypeRhpDam19Wq3g==, tarball: https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.12.tgz} + + ast-v8-to-istanbul@1.0.5: + resolution: {integrity: sha512-UPAgKJFSEGMWSDr3LX4tqnAb4f7KGT8O40Tyx8wbYmmZ/yn58lNCm8h3svs3eXgiGd5AXxz8NDOvXWvicq+rJA==, tarball: https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.5.tgz} + astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, tarball: https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz} engines: {node: '>=8'} @@ -4503,6 +4783,9 @@ packages: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==, tarball: https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz} engines: {node: '>= 0.4'} + babel-dead-code-elimination@1.0.12: + resolution: {integrity: sha512-GERT7L2TiYcYDtYk1IpD+ASAYXjKbLTDPhBtYj7X1NuRMDTMtAx9kyBenub1Ev41lo91OHCKdmP+egTDmfQ7Ig==, tarball: https://registry.npmjs.org/babel-dead-code-elimination/-/babel-dead-code-elimination-1.0.12.tgz} + babel-plugin-const-enum@1.2.0: resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==, tarball: https://registry.npmjs.org/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz} peerDependencies: @@ -4638,6 +4921,10 @@ packages: resolution: {integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==, tarball: https://registry.npmjs.org/byline/-/byline-5.0.0.tgz} engines: {node: '>=0.10.0'} + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, tarball: https://registry.npmjs.org/cac/-/cac-6.7.14.tgz} + engines: {node: '>=8'} + cacheable-lookup@7.0.0: resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==, tarball: https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz} engines: {node: '>=14.16'} @@ -4722,6 +5009,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, tarball: https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz} engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==, tarball: https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz} + engines: {node: '>= 14.16.0'} + chokidar@5.0.0: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==, tarball: https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz} engines: {node: '>= 20.19.0'} @@ -4811,6 +5102,9 @@ packages: color-string@1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==, tarball: https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz} + color@3.2.1: + resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==, tarball: https://registry.npmjs.org/color/-/color-3.2.1.tgz} + color@4.2.3: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==, tarball: https://registry.npmjs.org/color/-/color-4.2.3.tgz} engines: {node: '>=12.5.0'} @@ -4842,6 +5136,9 @@ packages: resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==, tarball: https://registry.npmjs.org/commander/-/commander-13.1.0.tgz} engines: {node: '>=18'} + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, tarball: https://registry.npmjs.org/commander/-/commander-2.20.3.tgz} + commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, tarball: https://registry.npmjs.org/commander/-/commander-9.5.0.tgz} engines: {node: ^12.20.0 || >=14} @@ -4877,6 +5174,9 @@ packages: resolution: {integrity: sha512-jjyhlQ0ew/iwmtwsS2RaB6s8DBifcE2GYBEaw2SJDUY/slJJbNfY4GlDVzOs/ff8cM/Wua5CikqXgbFl5eu85A==, tarball: https://registry.npmjs.org/conf/-/conf-11.0.2.tgz} engines: {node: '>=14.16'} + confbox@0.2.4: + resolution: {integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==, tarball: https://registry.npmjs.org/confbox/-/confbox-0.2.4.tgz} + config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==, tarball: https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz} @@ -4889,6 +5189,10 @@ packages: constant-case@3.0.4: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==, tarball: https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz} + content-security-policy-builder@2.3.0: + resolution: {integrity: sha512-qmdEmn1M+WpadIeBLKr9Em8VJSCjtRINCSbYsyJHQ4liTwCmrLzIRpJdJpoVDnsvWUrR5iblYhQJqA4b4Hs/iw==, tarball: https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-2.3.0.tgz} + engines: {node: '>=18.0.0'} + content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==, tarball: https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz} engines: {node: '>= 0.6'} @@ -5061,6 +5365,14 @@ packages: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==, tarball: https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz} engines: {node: '>=10'} + dedent@1.7.2: + resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==, tarball: https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, tarball: https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz} engines: {node: '>=4.0.0'} @@ -5274,6 +5586,9 @@ packages: resolution: {integrity: sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==, tarball: https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz} engines: {node: '>= 0.4'} + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==, tarball: https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz} + es-module-lexer@2.3.1: resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==, tarball: https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz} @@ -5585,14 +5900,25 @@ packages: eventemitter3@5.0.4: resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==, tarball: https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz} + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, tarball: https://registry.npmjs.org/events/-/events-3.3.0.tgz} + engines: {node: '>=0.8.x'} + execa@7.2.0: resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==, tarball: https://registry.npmjs.org/execa/-/execa-7.2.0.tgz} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + exit-hook@2.2.1: + resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==, tarball: https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz} + engines: {node: '>=6'} + expect-type@1.4.0: resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==, tarball: https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz} engines: {node: '>=12.0.0'} + exsolve@1.1.0: + resolution: {integrity: sha512-D+42+T12DdIlJM3uepa55qGiL3sYdLBOxIl2ifQCzCHz4c7eiolaHsi3BIqEr7JxBzxv2pYZQX9kw16ziMcEmw==, tarball: https://registry.npmjs.org/exsolve/-/exsolve-1.1.0.tgz} + extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==, tarball: https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz} @@ -5712,6 +6038,9 @@ packages: find-yarn-workspace-root@2.0.0: resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==, tarball: https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz} + flame-chart-js@2.3.1: + resolution: {integrity: sha512-wi3g+BEYEWcxnFrakPt7A/oXVfMnun6Uvjve3kfscXXCrgP6f1O8o5LOseXfHnVI1jxTWOINnzdXPN/NLw9guQ==, tarball: https://registry.npmjs.org/flame-chart-js/-/flame-chart-js-2.3.1.tgz} + flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==, tarball: https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz} engines: {node: '>=16'} @@ -6073,6 +6402,10 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, tarball: https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz} + html-tags@5.1.0: + resolution: {integrity: sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==, tarball: https://registry.npmjs.org/html-tags/-/html-tags-5.1.0.tgz} + engines: {node: '>=20.10'} + http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==, tarball: https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz} @@ -6135,6 +6468,9 @@ packages: resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==, tarball: https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz} engines: {node: '>= 4'} + immediate@3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==, tarball: https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz} + immutable@3.7.6: resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==, tarball: https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz} engines: {node: '>=0.8.0'} @@ -6365,6 +6701,9 @@ packages: is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==, tarball: https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz} + is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==, tarball: https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz} + is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==, tarball: https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz} engines: {node: '>= 0.4'} @@ -6454,6 +6793,10 @@ packages: isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==, tarball: https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz} + isbot@5.2.1: + resolution: {integrity: sha512-dJ+LpKyClQZ7NG+j3OensC/mAZkGpukE9YUrgPYvAZj2doVL0edfDgywTUh5CXa0o+nW9a1V9e5+CJTX8+SxRw==, tarball: https://registry.npmjs.org/isbot/-/isbot-5.2.1.tgz} + engines: {node: '>=18'} + iserror@0.0.2: resolution: {integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==, tarball: https://registry.npmjs.org/iserror/-/iserror-0.0.2.tgz} @@ -6520,6 +6863,9 @@ packages: jose@5.10.0: resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==, tarball: https://registry.npmjs.org/jose/-/jose-5.10.0.tgz} + js-tokens@10.0.0: + resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==, tarball: https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, tarball: https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz} @@ -6561,6 +6907,11 @@ packages: canvas: optional: true + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==, tarball: https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz} + engines: {node: '>=6'} + hasBin: true + jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==, tarball: https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz} engines: {node: '>=6'} @@ -6665,6 +7016,9 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, tarball: https://registry.npmjs.org/levn/-/levn-0.4.1.tgz} engines: {node: '>= 0.8.0'} + lie@3.3.0: + resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==, tarball: https://registry.npmjs.org/lie/-/lie-3.3.0.tgz} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==, tarball: https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz} engines: {node: '>=14'} @@ -6691,6 +7045,15 @@ packages: resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==, tarball: https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz} engines: {node: '>=20.0.0'} + lit-element@4.2.2: + resolution: {integrity: sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==, tarball: https://registry.npmjs.org/lit-element/-/lit-element-4.2.2.tgz} + + lit-html@3.3.3: + resolution: {integrity: sha512-el8M6jK2o3RXBnrSHX3ZKrsN8zEV63pSExTO1wYJz7QndGYZ8353e2a5PPX+qHe2aGayfnchQmkAojaWAREOIA==, tarball: https://registry.npmjs.org/lit-html/-/lit-html-3.3.3.tgz} + + lit@3.3.3: + resolution: {integrity: sha512-fycuvZg/hkpozL00lm1pEJH5nN/lr9ZXd6mJI2HSN4+Bzc+LDNdEApJ6HFbPkdFNHLvOplIIuJvxkS4XUxqirw==, tarball: https://registry.npmjs.org/lit/-/lit-3.3.3.tgz} + locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, tarball: https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz} engines: {node: '>=8'} @@ -6798,6 +7161,9 @@ packages: magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==, tarball: https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz} + magicast@0.5.3: + resolution: {integrity: sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==, tarball: https://registry.npmjs.org/magicast/-/magicast-0.5.3.tgz} + make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, tarball: https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz} engines: {node: '>=10'} @@ -7300,6 +7666,10 @@ packages: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==, tarball: https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz} engines: {node: '>=6'} + p-map@7.0.6: + resolution: {integrity: sha512-I4Prw6ivkd6p8PiYR1tXASOAOBzIJwu0TB7fqaX0c/8c3QAehNYmX57EijyGGGBt3c/BIowGwV03RVBtXvHEVg==, tarball: https://registry.npmjs.org/p-map/-/p-map-7.0.6.tgz} + engines: {node: '>=18'} + p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, tarball: https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz} engines: {node: '>=6'} @@ -7453,6 +7823,9 @@ packages: resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==, tarball: https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz} engines: {node: '>=10'} + pkg-types@2.3.1: + resolution: {integrity: sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==, tarball: https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.1.tgz} + playwright-core@1.61.1: resolution: {integrity: sha512-h7Qlt6m4REp25qvIdvbDtVmD4LqVXfpRxhORv9L0jzETM05p4fuPJ3dKyuSXQxDSbXnmS79HAgi9589lGSpLkg==, tarball: https://registry.npmjs.org/playwright-core/-/playwright-core-1.61.1.tgz} engines: {node: '>=18'} @@ -7485,6 +7858,9 @@ packages: resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==, tarball: https://registry.npmjs.org/postcss/-/postcss-8.5.10.tgz} engines: {node: ^10 || ^12 || >=14} + preact@10.28.4: + resolution: {integrity: sha512-uKFfOHWuSNpRFVTnljsCluEFq57OKT+0QdOiQo8XWnQ/pSvg7OpX5eNOejELXJMWy+BwM2nobz0FkvzmnpCNsQ==, tarball: https://registry.npmjs.org/preact/-/preact-10.28.4.tgz} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, tarball: https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz} engines: {node: '>= 0.8.0'} @@ -7498,6 +7874,11 @@ packages: engines: {node: '>=10.13.0'} hasBin: true + prettier@3.8.1: + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==, tarball: https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz} + engines: {node: '>=14'} + hasBin: true + prettier@3.8.4: resolution: {integrity: sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==, tarball: https://registry.npmjs.org/prettier/-/prettier-3.8.4.tgz} engines: {node: '>=14'} @@ -7517,6 +7898,9 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, tarball: https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz} + promise-worker-transferable@1.0.4: + resolution: {integrity: sha512-bN+0ehEnrXfxV2ZQvU2PetO0n4gqBD4ulq3MI1WOPLgr7/Mg9yRQkX5+0v1vagr74ZTsl7XtzlaYDo2EuCeYJw==, tarball: https://registry.npmjs.org/promise-worker-transferable/-/promise-worker-transferable-1.0.4.tgz} + promise@7.3.1: resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==, tarball: https://registry.npmjs.org/promise/-/promise-7.3.1.tgz} @@ -7609,10 +7993,24 @@ packages: peerDependencies: react: ^19.2.0 + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==, tarball: https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz} + engines: {node: '>=0.10.0'} + react-refresh@0.18.0: resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==, tarball: https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz} engines: {node: '>=0.10.0'} + react-router@7.15.1: + resolution: {integrity: sha512-R8rl9HhgikFYoPJymnUtPXWbnDb3oget6lQnfIoupbt61aT9aOhRkDsY2XRhZRyX1Z/8a5sL74fXmFNm3NRK5A==, tarball: https://registry.npmjs.org/react-router/-/react-router-7.15.1.tgz} + engines: {node: '>=20.0.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + react-dom: + optional: true + react-transition-group@4.4.5: resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==, tarball: https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz} peerDependencies: @@ -7653,6 +8051,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, tarball: https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz} engines: {node: '>=8.10.0'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==, tarball: https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz} + engines: {node: '>= 14.18.0'} + readdirp@5.0.0: resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==, tarball: https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz} engines: {node: '>= 20.19.0'} @@ -7687,6 +8089,10 @@ packages: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==, tarball: https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz} engines: {node: '>= 0.4'} + regexparam@2.0.2: + resolution: {integrity: sha512-A1PeDEYMrkLrfyOwv2jwihXbo9qxdGD3atBYQA9JJgreAx8/7rC6IUkWOw2NQlOxLp2wL0ifQbh1HuidDfYA6w==, tarball: https://registry.npmjs.org/regexparam/-/regexparam-2.0.2.tgz} + engines: {node: '>=8'} + regexpu-core@6.4.0: resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==, tarball: https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz} engines: {node: '>=4'} @@ -7855,6 +8261,9 @@ packages: scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==, tarball: https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz} + schema-dts@1.1.5: + resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==, tarball: https://registry.npmjs.org/schema-dts/-/schema-dts-1.1.5.tgz} + semver-compare@1.0.0: resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, tarball: https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz} @@ -7893,6 +8302,9 @@ packages: resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==, tarball: https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz} engines: {node: '>=10'} + set-cookie-parser@2.7.2: + resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==, tarball: https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz} + set-cookie-parser@3.1.2: resolution: {integrity: sha512-5/r/lTwbJ3zQ+qwdUFZYeRNqda7P5HD8zQKqlSjdGt1/S0cjLAphHusj4Y58ahDtWn/g32xrIS58/ikOvwl0Lw==, tarball: https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-3.1.2.tgz} @@ -8189,6 +8601,9 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, tarball: https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz} engines: {node: '>= 0.4'} + svg-tag-names@3.0.1: + resolution: {integrity: sha512-R5EDS44RQSOwwKIOOUZLKZggMeFL8fDSSZr1hVK5Z0KkyuGVOZfyepBZDkPu/aoL+hSOysxxvAk8uN4yN2LOMQ==, tarball: https://registry.npmjs.org/svg-tag-names/-/svg-tag-names-3.0.1.tgz} + swap-case@2.0.2: resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==, tarball: https://registry.npmjs.org/swap-case/-/swap-case-2.0.2.tgz} @@ -8238,10 +8653,18 @@ packages: resolution: {integrity: sha512-avMLDQpUI9I5XFrklECw1ZEUPJhqzcwSWsyyI8blhRLT+8N1jLJWLWWYQpB2q2xthq8xDvjZPISVh53T/+CLYQ==, tarball: https://registry.npmjs.org/terminal-size/-/terminal-size-4.0.1.tgz} engines: {node: '>=18'} + terser@5.49.0: + resolution: {integrity: sha512-SNiDnXyHSrxVcIOtVbULzcTmniUiwcV7Nwdyj1twVubeTmbjoa8p69KKDpfkdoOavuM4/GRm1+ykI8qqnavHoA==, tarball: https://registry.npmjs.org/terser/-/terser-5.49.0.tgz} + engines: {node: '>=10'} + hasBin: true + test-exclude@7.0.2: resolution: {integrity: sha512-u9E6A+ZDYdp7a4WnarkXPZOx8Ilz46+kby6p1yZ8zsGTz9gYa6FIS7lj2oezzNKmtdyyJNNmmXDppga5GB7kSw==, tarball: https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.2.tgz} engines: {node: '>=18'} + three@0.183.2: + resolution: {integrity: sha512-di3BsL2FEQ1PA7Hcvn4fyJOlxRRgFYBpMTcyOgkwJIaDOdJMebEFPA+t98EvjuljDx4hNulAGwF6KIjtwI5jgQ==, tarball: https://registry.npmjs.org/three/-/three-0.183.2.tgz} + through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==, tarball: https://registry.npmjs.org/through2/-/through2-2.0.5.tgz} @@ -8383,6 +8806,11 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, tarball: https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz} + tsx@4.21.0: + resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==, tarball: https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz} + engines: {node: '>=18.0.0'} + hasBin: true + tsx@4.23.1: resolution: {integrity: sha512-GQHnkIfxyx1wYCOS/wonik5MVRZU9hi1TEZmzGZSCJB1y9YgoZ8H6itNE/u4suE+yLmOzuE4E5S4TZ/ZX2wcWQ==, tarball: https://registry.npmjs.org/tsx/-/tsx-4.23.1.tgz} engines: {node: '>=18.0.0'} @@ -8427,8 +8855,8 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==, tarball: https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz} engines: {node: '>=16'} - type-fest@5.4.4: - resolution: {integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==, tarball: https://registry.npmjs.org/type-fest/-/type-fest-5.4.4.tgz} + type-fest@5.5.0: + resolution: {integrity: sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==, tarball: https://registry.npmjs.org/type-fest/-/type-fest-5.5.0.tgz} engines: {node: '>=20'} type-fest@5.8.0: @@ -8512,6 +8940,9 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==, tarball: https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz} + undici-types@7.18.2: + resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==, tarball: https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz} + undici-types@8.3.0: resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==, tarball: https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz} @@ -8594,6 +9025,14 @@ packages: v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==, tarball: https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz} + valibot@1.4.2: + resolution: {integrity: sha512-gjdCvJ6d3RyHAneqxMYMW9QMCwYMb3jpOO0IyHZV1bnRHFBHrX3VkIILt5XYR0WhwHiH7Mty8ovuPZ/O3gamrg==, tarball: https://registry.npmjs.org/valibot/-/valibot-1.4.2.tgz} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true + validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, tarball: https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz} @@ -8601,6 +9040,11 @@ packages: resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==, tarball: https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + vite-node@3.2.4: + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==, tarball: https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + vite@6.4.3: resolution: {integrity: sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==, tarball: https://registry.npmjs.org/vite/-/vite-6.4.3.tgz} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -8682,6 +9126,47 @@ packages: jsdom: optional: true + vitest@4.1.5: + resolution: {integrity: sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg==, tarball: https://registry.npmjs.org/vitest/-/vitest-4.1.5.tgz} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.5 + '@vitest/browser-preview': 4.1.5 + '@vitest/browser-webdriverio': 4.1.5 + '@vitest/coverage-istanbul': 4.1.5 + '@vitest/coverage-v8': 4.1.5 + '@vitest/ui': 4.1.5 + happy-dom: '*' + jsdom: '*' + vite: 6.4.3 + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + vscode-css-languageservice@6.3.2: resolution: {integrity: sha512-GEpPxrUTAeXWdZWHev1OJU9lz2Q2/PPBxQ2TIRmLGvQiH3WZbqaNoute0n0ewxlgtjzTW3AKZT+NHySk5Rf4Eg==, tarball: https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.2.tgz} @@ -8808,6 +9293,10 @@ packages: resolution: {integrity: sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==, tarball: https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz} engines: {node: '>=8.0.0'} + worktop@0.7.3: + resolution: {integrity: sha512-WBHP1hk8pLP7ahAw13fugDWcO0SUAOiCD6DHT/bfLWoCIA/PL9u7GKdudT2nGZ8EGR1APbGCAI6ZzKG1+X+PnQ==, tarball: https://registry.npmjs.org/worktop/-/worktop-0.7.3.tgz} + engines: {node: '>=12'} + wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, tarball: https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz} engines: {node: '>=8'} @@ -9310,14 +9799,14 @@ snapshots: '@babel/core@7.29.0': dependencies: '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.1 + '@babel/generator': 7.29.7 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helpers': 7.28.6 - '@babel/parser': 7.29.0 + '@babel/parser': 7.29.7 '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3(supports-color@8.1.1) @@ -9349,8 +9838,8 @@ snapshots: '@babel/generator@7.29.1': dependencies: - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 @@ -9370,7 +9859,7 @@ snapshots: '@babel/helper-compilation-targets@7.28.6': dependencies: '@babel/compat-data': 7.29.0 - '@babel/helper-validator-option': 7.27.1 + '@babel/helper-validator-option': 7.29.7 browserslist: 4.28.1 lru-cache: 5.1.1 semver: 6.3.1 @@ -9414,8 +9903,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-globals@7.28.0': {} - '@babel/helper-globals@7.29.7': {} '@babel/helper-member-expression-to-functions@7.29.7': @@ -9444,7 +9931,7 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.28.6 '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.0 + '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color @@ -9496,8 +9983,6 @@ snapshots: '@babel/helper-validator-identifier@7.29.7': {} - '@babel/helper-validator-option@7.27.1': {} - '@babel/helper-validator-option@7.29.7': {} '@babel/helper-wrap-function@7.29.7': @@ -9510,7 +9995,7 @@ snapshots: '@babel/helpers@7.28.6': dependencies: - '@babel/template': 7.28.6 + '@babel/template': 7.29.7 '@babel/types': 7.29.7 '@babel/helpers@7.29.7': @@ -9518,10 +10003,6 @@ snapshots: '@babel/template': 7.29.7 '@babel/types': 7.29.7 - '@babel/parser@7.29.0': - dependencies: - '@babel/types': 7.29.7 - '@babel/parser@7.29.7': dependencies: '@babel/types': 7.29.7 @@ -10084,28 +10565,16 @@ snapshots: '@babel/runtime@7.29.7': {} '@babel/template@7.28.6': - dependencies: - '@babel/code-frame': 7.29.7 - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 - - '@babel/template@7.29.7': dependencies: '@babel/code-frame': 7.29.7 '@babel/parser': 7.29.7 '@babel/types': 7.29.7 - '@babel/traverse@7.29.0': + '@babel/template@7.29.7': dependencies: '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.1 - '@babel/helper-globals': 7.28.0 '@babel/parser': 7.29.7 - '@babel/template': 7.28.6 '@babel/types': 7.29.7 - debug: 4.4.3(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color '@babel/traverse@7.29.7': dependencies: @@ -10129,6 +10598,8 @@ snapshots: '@babel/helper-string-parser': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 + '@bcoe/v8-coverage@1.0.2': {} + '@bramus/specificity@2.4.2': dependencies: css-tree: 3.2.1 @@ -10736,6 +11207,12 @@ snapshots: '@shikijs/types': 3.23.0 '@shikijs/vscode-textmate': 10.0.2 + '@google/model-viewer@4.3.1(three@0.183.2)': + dependencies: + '@monogrid/gainmap-js': 3.4.0(three@0.183.2) + lit: 3.3.3 + three: 0.183.2 + '@graphql-codegen/add@6.0.1(graphql@16.14.2)': dependencies: '@graphql-codegen/plugin-helpers': 6.3.0(graphql@16.14.2) @@ -11128,7 +11605,7 @@ snapshots: '@babel/core': 7.29.7 '@babel/parser': 7.29.7 '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.7) - '@babel/traverse': 7.29.0 + '@babel/traverse': 7.29.7 '@babel/types': 7.29.7 '@graphql-tools/utils': 10.7.2(graphql@16.14.2) graphql: 16.14.2 @@ -11141,7 +11618,7 @@ snapshots: '@babel/core': 7.29.7 '@babel/parser': 7.29.7 '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.7) - '@babel/traverse': 7.29.0 + '@babel/traverse': 7.29.7 '@babel/types': 7.29.7 '@graphql-tools/utils': 10.7.2(graphql@16.14.2) graphql: 16.14.2 @@ -11324,6 +11801,14 @@ snapshots: '@types/node': 18.19.130 optional: true + '@inquirer/confirm@6.1.1(@types/node@25.3.3)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@25.3.3) + '@inquirer/type': 4.0.7(@types/node@25.3.3) + optionalDependencies: + '@types/node': 25.3.3 + optional: true + '@inquirer/confirm@6.1.1(@types/node@26.1.1)': dependencies: '@inquirer/core': 11.2.1(@types/node@26.1.1) @@ -11357,7 +11842,20 @@ snapshots: '@types/node': 18.19.130 optional: true - '@inquirer/core@11.2.1(@types/node@26.1.1)': + '@inquirer/core@11.2.1(@types/node@25.3.3)': + dependencies: + '@inquirer/ansi': 2.0.7 + '@inquirer/figures': 2.0.7 + '@inquirer/type': 4.0.7(@types/node@25.3.3) + cli-width: 4.1.0 + fast-wrap-ansi: 0.2.2 + mute-stream: 3.0.0 + signal-exit: 4.1.0 + optionalDependencies: + '@types/node': 25.3.3 + optional: true + + '@inquirer/core@11.2.1(@types/node@26.1.1)': dependencies: '@inquirer/ansi': 2.0.7 '@inquirer/figures': 2.0.7 @@ -11505,6 +12003,11 @@ snapshots: '@types/node': 18.19.130 optional: true + '@inquirer/type@4.0.7(@types/node@25.3.3)': + optionalDependencies: + '@types/node': 25.3.3 + optional: true + '@inquirer/type@4.0.7(@types/node@26.1.1)': optionalDependencies: '@types/node': 26.1.1 @@ -11534,6 +12037,11 @@ snapshots: '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/sourcemap-codec@1.5.5': {} '@jridgewell/trace-mapping@0.3.31': @@ -11558,6 +12066,12 @@ snapshots: '@kwsites/promise-deferred@1.1.1': {} + '@lit-labs/ssr-dom-shim@1.6.0': {} + + '@lit/reactive-element@2.1.2': + dependencies: + '@lit-labs/ssr-dom-shim': 1.6.0 + '@luckycatfactory/esbuild-graphql-loader@3.8.1(esbuild@0.28.1)(graphql-tag@2.12.7(graphql@16.14.2))(graphql@16.14.2)': dependencies: esbuild: 0.28.1 @@ -11589,6 +12103,13 @@ snapshots: '@microsoft/tsdoc@0.16.0': {} + '@mjackson/node-fetch-server@0.2.0': {} + + '@monogrid/gainmap-js@3.4.0(three@0.183.2)': + dependencies: + promise-worker-transferable: 1.0.4 + three: 0.183.2 + '@mswjs/interceptors@0.41.9': dependencies: '@open-draft/deferred-promise': 2.2.0 @@ -12300,6 +12821,64 @@ snapshots: '@protobufjs/utf8@1.1.0': {} + '@react-router/dev@7.15.1(@types/node@25.3.3)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(react-router@7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)': + dependencies: + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + '@react-router/node': 7.15.1(react-router@7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(typescript@5.9.3) + '@remix-run/node-fetch-server': 0.13.3 + arg: 5.0.2 + babel-dead-code-elimination: 1.0.12 + chokidar: 4.0.3 + dedent: 1.7.2(babel-plugin-macros@3.1.0) + es-module-lexer: 1.7.0 + exit-hook: 2.2.1 + isbot: 5.2.1 + jsesc: 3.0.2 + lodash: 4.18.1 + p-map: 7.0.6 + pathe: 1.1.2 + picocolors: 1.1.1 + pkg-types: 2.3.1 + prettier: 3.8.4 + react-refresh: 0.14.2 + react-router: 7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + semver: 7.8.4 + tinyglobby: 0.2.17 + valibot: 1.4.2(typescript@5.9.3) + vite: 6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0) + vite-node: 3.2.4(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + '@react-router/node@7.15.1(react-router@7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(typescript@5.9.3)': + dependencies: + '@mjackson/node-fetch-server': 0.2.0 + react-router: 7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + optionalDependencies: + typescript: 5.9.3 + + '@remix-run/node-fetch-server@0.13.3': {} + '@repeaterjs/repeater@3.0.6': {} '@rolldown/pluginutils@1.0.0-rc.3': {} @@ -12399,7 +12978,17 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} - '@shopify/cli-hydrogen@13.0.2(@graphql-codegen/cli@6.3.1(@parcel/watcher@2.5.6)(@types/node@18.19.130)(crossws@0.3.5)(graphql@16.14.2)(typescript@5.9.3))(graphql-config@5.1.6(@types/node@26.1.1)(crossws@0.3.5)(graphql@16.14.2)(typescript@5.9.3))(graphql@16.14.2)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0))': + '@shopify/app-bridge-react@4.2.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@shopify/app-bridge-types': 0.7.0 + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + + '@shopify/app-bridge-types@0.7.0': + dependencies: + '@standard-schema/spec': 1.1.0 + + '@shopify/cli-hydrogen@13.0.2(@graphql-codegen/cli@6.3.1(@parcel/watcher@2.5.6)(@types/node@18.19.130)(crossws@0.3.5)(graphql@16.14.2)(typescript@5.9.3))(graphql-config@5.1.6(@types/node@26.1.1)(crossws@0.3.5)(graphql@16.14.2)(typescript@5.9.3))(graphql@16.14.2)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))': dependencies: '@ast-grep/napi': 0.34.1 '@oclif/core': 3.26.5 @@ -12425,7 +13014,7 @@ snapshots: optionalDependencies: '@graphql-codegen/cli': 6.3.1(@parcel/watcher@2.5.6)(@types/node@18.19.130)(crossws@0.3.5)(graphql@16.14.2)(typescript@5.9.3) graphql-config: 5.1.6(@types/node@26.1.1)(crossws@0.3.5)(graphql@16.14.2)(typescript@5.9.3) - vite: 6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0) + vite: 6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: - graphql - react @@ -12503,6 +13092,42 @@ snapshots: globby: 11.1.0 typescript: 5.9.3 + '@shopify/graphql-client@1.4.1': {} + + '@shopify/hydrogen-react@2026.1.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(three@0.183.2)(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0))': + dependencies: + '@google/model-viewer': 4.3.1(three@0.183.2) + '@xstate/fsm': 2.0.0 + ast-v8-to-istanbul: 0.3.12 + graphql: 16.14.2 + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + type-fest: 4.41.0 + vite: 6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0) + worktop: 0.7.3 + transitivePeerDependencies: + - three + + '@shopify/hydrogen@2026.1.3(@react-router/dev@7.15.1(@types/node@25.3.3)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(react-router@7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0))(react-dom@19.2.4(react@19.2.4))(react-router@7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(three@0.183.2)(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0))': + dependencies: + '@react-router/dev': 7.15.1(@types/node@25.3.3)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(react-router@7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + '@shopify/graphql-client': 1.4.1 + '@shopify/hydrogen-react': 2026.1.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(three@0.183.2)(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0)) + content-security-policy-builder: 2.3.0 + flame-chart-js: 2.3.1 + isbot: 5.2.1 + react: 19.2.4 + react-router: 7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + source-map-support: 0.5.21 + type-fest: 4.41.0 + use-resize-observer: 9.1.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + worktop: 0.7.3 + optionalDependencies: + vite: 6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0) + transitivePeerDependencies: + - react-dom + - three + '@shopify/liquid-html-parser@2.9.2': dependencies: line-column: 1.0.2 @@ -12528,6 +13153,8 @@ snapshots: dependencies: deepmerge: 4.3.1 + '@shopify/polaris-types@1.0.1': {} + '@shopify/polaris@12.27.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@shopify/polaris-icons': 8.11.1(react@19.2.4) @@ -12540,6 +13167,19 @@ snapshots: react-fast-compare: 3.2.2 react-transition-group: 4.4.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@shopify/theme-check-common@3.24.0': + dependencies: + '@shopify/liquid-html-parser': 2.9.2 + cross-fetch: 4.1.0 + jsonc-parser: 3.3.1 + line-column: 1.0.2 + lodash: 4.18.1 + minimatch: 10.2.5 + vscode-json-languageservice: 5.7.2 + vscode-uri: 3.1.0 + transitivePeerDependencies: + - encoding + '@shopify/theme-check-common@3.27.0': dependencies: '@shopify/liquid-html-parser': 2.9.2 @@ -12556,6 +13196,14 @@ snapshots: transitivePeerDependencies: - encoding + '@shopify/theme-check-docs-updater@3.24.0': + dependencies: + '@shopify/theme-check-common': 3.24.0 + env-paths: 2.2.1 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + '@shopify/theme-check-docs-updater@3.27.0': dependencies: '@shopify/theme-check-common': 3.27.0 @@ -12564,6 +13212,16 @@ snapshots: transitivePeerDependencies: - encoding + '@shopify/theme-check-node@3.24.0': + dependencies: + '@shopify/theme-check-common': 3.24.0 + '@shopify/theme-check-docs-updater': 3.24.0 + glob: 8.1.0 + vscode-uri: 3.1.0 + yaml: 2.9.0 + transitivePeerDependencies: + - encoding + '@shopify/theme-check-node@3.27.0': dependencies: '@shopify/liquid-html-parser': 2.9.2 @@ -12580,7 +13238,7 @@ snapshots: dependencies: '@shopify/liquid-html-parser': 2.9.2 '@shopify/theme-check-common': 3.27.0 - acorn: 8.16.0 + acorn: 8.17.0 acorn-walk: 8.3.5 vscode-uri: 3.1.0 transitivePeerDependencies: @@ -12790,8 +13448,8 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 @@ -12864,13 +13522,13 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@22.19.17': + '@types/node@22.20.1': dependencies: undici-types: 6.21.0 - '@types/node@22.20.1': + '@types/node@25.3.3': dependencies: - undici-types: 6.21.0 + undici-types: 7.18.2 '@types/node@26.1.1': dependencies: @@ -12920,6 +13578,8 @@ snapshots: '@types/tinycolor2@1.4.6': {} + '@types/trusted-types@2.0.7': {} + '@types/unist@3.0.3': {} '@types/which@3.0.4': {} @@ -12928,7 +13588,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.19.17 + '@types/node': 18.19.130 '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3)': dependencies: @@ -13080,7 +13740,7 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true - '@vitejs/plugin-react@5.2.0(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0))': + '@vitejs/plugin-react@5.2.0(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) @@ -13088,7 +13748,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-rc.3 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: 6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0) + vite: 6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: - supports-color @@ -13104,17 +13764,31 @@ snapshots: magicast: 0.3.5 test-exclude: 7.0.2 tinyrainbow: 2.0.0 - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(@vitest/coverage-istanbul@3.2.7)(jsdom@28.1.0)(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0)) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/coverage-istanbul@3.2.7)(jsdom@28.1.0)(msw@2.15.0(@types/node@18.19.130)(typescript@5.9.3))(vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) transitivePeerDependencies: - supports-color - '@vitest/eslint-plugin@1.1.44(@typescript-eslint/utils@8.56.1(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(@vitest/coverage-istanbul@3.2.7)(jsdom@28.1.0)(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0)))': + '@vitest/coverage-v8@4.1.0(vitest@4.1.5)': + dependencies: + '@bcoe/v8-coverage': 1.0.2 + '@vitest/utils': 4.1.0 + ast-v8-to-istanbul: 1.0.5 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-reports: 3.2.0 + magicast: 0.5.3 + obug: 2.1.4 + std-env: 4.2.0 + tinyrainbow: 3.1.0 + vitest: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@25.3.3)(@vitest/coverage-istanbul@3.2.7)(@vitest/coverage-v8@4.1.0)(jsdom@28.1.0)(msw@2.15.0(@types/node@25.3.3)(typescript@5.9.3))(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0)) + + '@vitest/eslint-plugin@1.1.44(@typescript-eslint/utils@8.56.1(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(@vitest/coverage-istanbul@3.2.7(vitest@4.1.10))(jsdom@28.1.0)(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)))': dependencies: '@typescript-eslint/utils': 8.56.1(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3) eslint: 9.39.5(jiti@2.6.1) optionalDependencies: typescript: 5.9.3 - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(@vitest/coverage-istanbul@3.2.7)(jsdom@28.1.0)(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0)) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(@vitest/coverage-istanbul@3.2.7(vitest@4.1.10))(jsdom@28.1.0)(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) '@vitest/eslint-plugin@1.1.44(@typescript-eslint/utils@8.56.1(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.5(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.10)': dependencies: @@ -13122,7 +13796,7 @@ snapshots: eslint: 9.39.5(jiti@2.6.1) optionalDependencies: typescript: 5.9.3 - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/coverage-istanbul@3.2.7)(jsdom@28.1.0)(msw@2.15.0(@types/node@18.19.130)(typescript@5.9.3))(vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0)) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/coverage-istanbul@3.2.7)(jsdom@28.1.0)(msw@2.15.0(@types/node@18.19.130)(typescript@5.9.3))(vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) '@vitest/expect@4.1.10': dependencies: @@ -13133,33 +13807,65 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.10(msw@2.15.0(@types/node@18.19.130)(typescript@5.9.3))(vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0))': + '@vitest/expect@4.1.5': + dependencies: + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.1.5 + '@vitest/utils': 4.1.5 + chai: 6.2.2 + tinyrainbow: 3.1.0 + + '@vitest/mocker@4.1.10(msw@2.15.0(@types/node@18.19.130)(typescript@5.9.3))(vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.15.0(@types/node@18.19.130)(typescript@5.9.3) - vite: 6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0) + vite: 6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) - '@vitest/mocker@4.1.10(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0))': + '@vitest/mocker@4.1.10(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.15.0(@types/node@26.1.1)(typescript@5.9.3) - vite: 6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0) + vite: 6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) + optional: true + + '@vitest/mocker@4.1.5(msw@2.15.0(@types/node@25.3.3)(typescript@5.9.3))(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0))': + dependencies: + '@vitest/spy': 4.1.5 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + msw: 2.15.0(@types/node@25.3.3)(typescript@5.9.3) + vite: 6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0) + + '@vitest/pretty-format@4.1.0': + dependencies: + tinyrainbow: 3.1.0 '@vitest/pretty-format@4.1.10': dependencies: tinyrainbow: 3.1.0 + '@vitest/pretty-format@4.1.5': + dependencies: + tinyrainbow: 3.1.0 + '@vitest/runner@4.1.10': dependencies: '@vitest/utils': 4.1.10 pathe: 2.0.3 + '@vitest/runner@4.1.5': + dependencies: + '@vitest/utils': 4.1.5 + pathe: 2.0.3 + '@vitest/snapshot@4.1.10': dependencies: '@vitest/pretty-format': 4.1.10 @@ -13167,14 +13873,35 @@ snapshots: magic-string: 0.30.21 pathe: 2.0.3 + '@vitest/snapshot@4.1.5': + dependencies: + '@vitest/pretty-format': 4.1.5 + '@vitest/utils': 4.1.5 + magic-string: 0.30.21 + pathe: 2.0.3 + '@vitest/spy@4.1.10': {} + '@vitest/spy@4.1.5': {} + + '@vitest/utils@4.1.0': + dependencies: + '@vitest/pretty-format': 4.1.0 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.0 + '@vitest/utils@4.1.10': dependencies: '@vitest/pretty-format': 4.1.10 convert-source-map: 2.0.0 tinyrainbow: 3.1.0 + '@vitest/utils@4.1.5': + dependencies: + '@vitest/pretty-format': 4.1.5 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.0 + '@vscode/l10n@0.0.18': {} '@vscode/web-custom-data@0.4.13': {} @@ -13200,6 +13927,8 @@ snapshots: dependencies: tslib: 2.8.1 + '@xstate/fsm@2.0.0': {} + '@yarnpkg/lockfile@1.1.0': {} '@zkochan/js-yaml@0.0.7': @@ -13212,7 +13941,7 @@ snapshots: acorn-walk@8.3.5: dependencies: - acorn: 8.16.0 + acorn: 8.17.0 acorn@8.16.0: {} @@ -13324,6 +14053,8 @@ snapshots: arg@4.1.3: {} + arg@5.0.2: {} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -13411,6 +14142,18 @@ snapshots: ast-types-flow@0.0.8: {} + ast-v8-to-istanbul@0.3.12: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + estree-walker: 3.0.3 + js-tokens: 10.0.0 + + ast-v8-to-istanbul@1.0.5: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + estree-walker: 3.0.3 + js-tokens: 10.0.0 + astral-regex@2.0.0: {} async-function@1.0.0: {} @@ -13448,6 +14191,15 @@ snapshots: axobject-query@4.1.0: {} + babel-dead-code-elimination@1.0.12: + dependencies: + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + babel-plugin-const-enum@1.2.0(@babel/core@7.29.7): dependencies: '@babel/core': 7.29.7 @@ -13603,6 +14355,8 @@ snapshots: byline@5.0.0: {} + cac@6.7.14: {} + cacheable-lookup@7.0.0: {} cacheable-request@10.2.14: @@ -13733,6 +14487,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + chokidar@5.0.0: dependencies: readdirp: 5.0.0 @@ -13813,6 +14571,11 @@ snapshots: color-name: 1.1.4 simple-swizzle: 0.2.4 + color@3.2.1: + dependencies: + color-convert: 1.9.3 + color-string: 1.9.1 + color@4.2.3: dependencies: color-convert: 2.0.1 @@ -13847,6 +14610,8 @@ snapshots: commander@13.1.0: {} + commander@2.20.3: {} + commander@9.5.0: {} comment-parser@1.4.1: {} @@ -13889,6 +14654,8 @@ snapshots: json-schema-typed: 8.0.2 semver: 7.8.4 + confbox@0.2.4: {} + config-chain@1.1.13: dependencies: ini: 1.3.8 @@ -13904,6 +14671,8 @@ snapshots: tslib: 2.8.1 upper-case: 2.0.2 + content-security-policy-builder@2.3.0: {} + content-type@1.0.5: {} convert-source-map@2.0.0: {} @@ -14074,6 +14843,10 @@ snapshots: dependencies: mimic-response: 3.1.0 + dedent@1.7.2(babel-plugin-macros@3.1.0): + optionalDependencies: + babel-plugin-macros: 3.1.0 + deep-extend@0.6.0: {} deep-is@0.1.4: {} @@ -14313,6 +15086,8 @@ snapshots: iterator.prototype: 1.1.5 safe-array-concat: 1.1.3 + es-module-lexer@1.7.0: {} + es-module-lexer@2.3.1: {} es-object-atoms@1.1.1: @@ -14747,6 +15522,8 @@ snapshots: eventemitter3@5.0.4: {} + events@3.3.0: {} + execa@7.2.0: dependencies: cross-spawn: 7.0.6 @@ -14759,8 +15536,12 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 3.0.0 + exit-hook@2.2.1: {} + expect-type@1.4.0: {} + exsolve@1.1.0: {} + extendable-error@0.1.7: {} fast-content-type-parse@2.0.1: {} @@ -14831,10 +15612,6 @@ snapshots: dependencies: walk-up-path: 4.0.0 - fdir@6.5.0(picomatch@4.0.4): - optionalDependencies: - picomatch: 4.0.4 - fdir@6.5.0(picomatch@4.0.5): optionalDependencies: picomatch: 4.0.5 @@ -14890,6 +15667,11 @@ snapshots: dependencies: micromatch: 4.0.8 + flame-chart-js@2.3.1: + dependencies: + color: 3.2.1 + events: 3.3.0 + flat-cache@4.0.1: dependencies: flatted: 3.4.2 @@ -15318,6 +16100,8 @@ snapshots: html-escaper@2.0.2: {} + html-tags@5.1.0: {} + http-cache-semantics@4.2.0: {} http-call@5.3.0: @@ -15382,6 +16166,8 @@ snapshots: ignore@7.0.6: {} + immediate@3.0.6: {} + immutable@3.7.6: {} immutable@5.1.6: {} @@ -15467,7 +16253,7 @@ snapshots: stack-utils: 2.0.6 string-width: 8.2.0 terminal-size: 4.0.1 - type-fest: 5.4.4 + type-fest: 5.8.0 widest-line: 6.0.0 wrap-ansi: 9.0.2 ws: 8.21.0 @@ -15620,6 +16406,8 @@ snapshots: is-potential-custom-element-name@1.0.1: {} + is-promise@2.2.2: {} + is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -15699,6 +16487,8 @@ snapshots: isarray@2.0.5: {} + isbot@5.2.1: {} + iserror@0.0.2: {} isexe@2.0.0: {} @@ -15725,7 +16515,7 @@ snapshots: '@babel/parser': 7.29.7 '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 - semver: 7.8.5 + semver: 7.8.4 transitivePeerDependencies: - supports-color @@ -15775,6 +16565,8 @@ snapshots: jose@5.10.0: {} + js-tokens@10.0.0: {} + js-tokens@4.0.0: {} js-yaml@3.14.2: @@ -15853,6 +16645,8 @@ snapshots: - supports-color optional: true + jsesc@3.0.2: {} + jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -15965,6 +16759,10 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lie@3.3.0: + dependencies: + immediate: 3.0.6 + lilconfig@3.1.3: {} line-column@1.0.2: @@ -15993,6 +16791,22 @@ snapshots: rfdc: 1.4.1 wrap-ansi: 9.0.2 + lit-element@4.2.2: + dependencies: + '@lit-labs/ssr-dom-shim': 1.6.0 + '@lit/reactive-element': 2.1.2 + lit-html: 3.3.3 + + lit-html@3.3.3: + dependencies: + '@types/trusted-types': 2.0.7 + + lit@3.3.3: + dependencies: + '@lit/reactive-element': 2.1.2 + lit-element: 4.2.2 + lit-html: 3.3.3 + locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -16087,6 +16901,12 @@ snapshots: '@babel/types': 7.29.7 source-map-js: 1.2.1 + magicast@0.5.3: + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + source-map-js: 1.2.1 + make-dir@4.0.0: dependencies: semver: 7.8.4 @@ -16241,6 +17061,32 @@ snapshots: - '@types/node' optional: true + msw@2.15.0(@types/node@25.3.3)(typescript@5.9.3): + dependencies: + '@inquirer/confirm': 6.1.1(@types/node@25.3.3) + '@mswjs/interceptors': 0.41.9 + '@open-draft/deferred-promise': 3.0.0 + '@types/statuses': 2.0.6 + cookie: 1.1.1 + graphql: 16.14.2 + headers-polyfill: 5.0.1 + is-node-process: 1.2.0 + outvariant: 1.4.3 + path-to-regexp: 6.3.0 + picocolors: 1.1.1 + rettime: 0.11.11 + statuses: 2.0.2 + strict-event-emitter: 0.5.1 + tough-cookie: 6.0.2 + type-fest: 5.8.0 + until-async: 3.0.2 + yargs: 17.7.3 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - '@types/node' + optional: true + msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3): dependencies: '@inquirer/confirm': 6.1.1(@types/node@26.1.1) @@ -16681,6 +17527,8 @@ snapshots: p-map@2.1.0: {} + p-map@7.0.6: {} + p-try@2.2.0: {} package-json-from-dist@1.0.1: {} @@ -16840,6 +17688,12 @@ snapshots: dependencies: find-up: 5.0.0 + pkg-types@2.3.1: + dependencies: + confbox: 0.2.4 + exsolve: 1.1.0 + pathe: 2.0.3 + playwright-core@1.61.1: {} playwright@1.61.1: @@ -16867,6 +17721,8 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + preact@10.28.4: {} + prelude-ls@1.2.1: {} prettier-linter-helpers@1.0.1: @@ -16875,6 +17731,8 @@ snapshots: prettier@2.8.8: {} + prettier@3.8.1: {} + prettier@3.8.4: {} pretty-format@27.5.1: @@ -16889,6 +17747,11 @@ snapshots: process-nextick-args@2.0.1: {} + promise-worker-transferable@1.0.4: + dependencies: + is-promise: 2.2.2 + lie: 3.3.0 + promise@7.3.1: dependencies: asap: 2.0.6 @@ -16998,8 +17861,18 @@ snapshots: react: 19.2.4 scheduler: 0.27.0 + react-refresh@0.14.2: {} + react-refresh@0.18.0: {} + react-router@7.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + dependencies: + cookie: 1.1.1 + react: 19.2.4 + set-cookie-parser: 2.7.2 + optionalDependencies: + react-dom: 19.2.4(react@19.2.4) + react-transition-group@4.4.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: '@babel/runtime': 7.28.6 @@ -17059,6 +17932,8 @@ snapshots: dependencies: picomatch: 2.3.2 + readdirp@4.1.2: {} + readdirp@5.0.0: optional: true @@ -17103,6 +17978,8 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 + regexparam@2.0.2: {} + regexpu-core@6.4.0: dependencies: regenerate: 1.4.2 @@ -17304,6 +18181,8 @@ snapshots: scheduler@0.27.0: {} + schema-dts@1.1.5: {} + semver-compare@1.0.0: {} semver@5.7.2: {} @@ -17328,6 +18207,8 @@ snapshots: dependencies: type-fest: 0.13.1 + set-cookie-parser@2.7.2: {} + set-cookie-parser@3.1.2: {} set-function-length@1.2.2: @@ -17669,6 +18550,8 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + svg-tag-names@3.0.1: {} + swap-case@2.0.2: dependencies: tslib: 2.8.1 @@ -17724,12 +18607,21 @@ snapshots: terminal-size@4.0.1: {} + terser@5.49.0: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.17.0 + commander: 2.20.3 + source-map-support: 0.5.21 + test-exclude@7.0.2: dependencies: '@istanbuljs/schema': 0.1.6 glob: 10.5.0 minimatch: 10.2.5 + three@0.183.2: {} + through2@2.0.5: dependencies: readable-stream: 2.3.8 @@ -17862,6 +18754,13 @@ snapshots: tslib@2.8.1: {} + tsx@4.21.0: + dependencies: + esbuild: 0.27.7 + get-tsconfig: 4.13.6 + optionalDependencies: + fsevents: 2.3.3 + tsx@4.23.1: dependencies: esbuild: 0.28.1 @@ -17892,7 +18791,7 @@ snapshots: type-fest@4.41.0: {} - type-fest@5.4.4: + type-fest@5.5.0: dependencies: tagged-tag: 1.0.0 @@ -17984,6 +18883,8 @@ snapshots: undici-types@6.21.0: {} + undici-types@7.18.2: {} + undici-types@8.3.0: optional: true @@ -18077,10 +18978,20 @@ snapshots: react: 18.3.1 react-dom: 19.2.4(react@18.3.1) + use-resize-observer@9.1.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + dependencies: + '@juggle/resize-observer': 3.4.0 + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + util-deprecate@1.0.2: {} v8-compile-cache-lib@3.0.1: {} + valibot@1.4.2(typescript@5.9.3): + optionalDependencies: + typescript: 5.9.3 + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -18088,42 +18999,82 @@ snapshots: validate-npm-package-name@5.0.1: {} - vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0): + vite-node@3.2.4(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0): + dependencies: + cac: 6.7.14 + debug: 4.4.3(supports-color@8.1.1) + es-module-lexer: 1.7.0 + pathe: 2.0.3 + vite: 6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0) + transitivePeerDependencies: + - '@types/node' + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0): dependencies: esbuild: 0.25.12 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 postcss: 8.5.10 rollup: 4.59.0 - tinyglobby: 0.2.16 + tinyglobby: 0.2.17 optionalDependencies: '@types/node': 18.19.130 fsevents: 2.3.3 jiti: 2.6.1 sass: 1.100.0 + terser: 5.49.0 tsx: 4.23.1 yaml: 2.9.0 - vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0): + vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0): dependencies: esbuild: 0.25.12 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 postcss: 8.5.10 rollup: 4.59.0 - tinyglobby: 0.2.16 + tinyglobby: 0.2.17 + optionalDependencies: + '@types/node': 25.3.3 + fsevents: 2.3.3 + jiti: 2.6.1 + sass: 1.100.0 + terser: 5.49.0 + tsx: 4.21.0 + yaml: 2.9.0 + + vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0): + dependencies: + esbuild: 0.25.12 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 + postcss: 8.5.10 + rollup: 4.59.0 + tinyglobby: 0.2.17 optionalDependencies: '@types/node': 26.1.1 fsevents: 2.3.3 jiti: 2.6.1 sass: 1.100.0 + terser: 5.49.0 tsx: 4.23.1 yaml: 2.9.0 - vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/coverage-istanbul@3.2.7)(jsdom@28.1.0)(msw@2.15.0(@types/node@18.19.130)(typescript@5.9.3))(vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0)): + vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/coverage-istanbul@3.2.7)(jsdom@28.1.0)(msw@2.15.0(@types/node@18.19.130)(typescript@5.9.3))(vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(msw@2.15.0(@types/node@18.19.130)(typescript@5.9.3))(vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0)) + '@vitest/mocker': 4.1.10(msw@2.15.0(@types/node@18.19.130)(typescript@5.9.3))(vite@6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.10 '@vitest/runner': 4.1.10 '@vitest/snapshot': 4.1.10 @@ -18140,7 +19091,7 @@ snapshots: tinyexec: 1.2.4 tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: 6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0) + vite: 6.4.3(@types/node@18.19.130)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 @@ -18150,10 +19101,10 @@ snapshots: transitivePeerDependencies: - msw - vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(@vitest/coverage-istanbul@3.2.7)(jsdom@28.1.0)(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0)): + vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(@vitest/coverage-istanbul@3.2.7(vitest@4.1.10))(jsdom@28.1.0)(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0)) + '@vitest/mocker': 4.1.10(msw@2.15.0(@types/node@26.1.1)(typescript@5.9.3))(vite@6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.10 '@vitest/runner': 4.1.10 '@vitest/snapshot': 4.1.10 @@ -18170,7 +19121,7 @@ snapshots: tinyexec: 1.2.4 tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: 6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(tsx@4.23.1)(yaml@2.9.0) + vite: 6.4.3(@types/node@26.1.1)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 @@ -18179,6 +19130,38 @@ snapshots: jsdom: 28.1.0 transitivePeerDependencies: - msw + optional: true + + vitest@4.1.5(@opentelemetry/api@1.9.1)(@types/node@25.3.3)(@vitest/coverage-istanbul@3.2.7)(@vitest/coverage-v8@4.1.0)(jsdom@28.1.0)(msw@2.15.0(@types/node@25.3.3)(typescript@5.9.3))(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0)): + dependencies: + '@vitest/expect': 4.1.5 + '@vitest/mocker': 4.1.5(msw@2.15.0(@types/node@25.3.3)(typescript@5.9.3))(vite@6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.5 + '@vitest/runner': 4.1.5 + '@vitest/snapshot': 4.1.5 + '@vitest/spy': 4.1.5 + '@vitest/utils': 4.1.5 + es-module-lexer: 2.3.1 + expect-type: 1.4.0 + magic-string: 0.30.21 + obug: 2.1.4 + pathe: 2.0.3 + picomatch: 4.0.5 + std-env: 4.2.0 + tinybench: 2.9.0 + tinyexec: 1.2.4 + tinyglobby: 0.2.17 + tinyrainbow: 3.1.0 + vite: 6.4.3(@types/node@25.3.3)(jiti@2.6.1)(sass@1.100.0)(terser@5.49.0)(tsx@4.21.0)(yaml@2.9.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@opentelemetry/api': 1.9.1 + '@types/node': 25.3.3 + '@vitest/coverage-istanbul': 3.2.7(vitest@4.1.10) + '@vitest/coverage-v8': 4.1.0(vitest@4.1.5) + jsdom: 28.1.0 + transitivePeerDependencies: + - msw vscode-css-languageservice@6.3.2: dependencies: @@ -18322,6 +19305,10 @@ snapshots: reduce-flatten: 2.0.0 typical: 5.2.0 + worktop@0.7.3: + dependencies: + regexparam: 2.0.2 + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index e8c40881214..398d679bdb4 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,5 @@ packages: - packages/* - - '!packages/shopify-dev-tools' - workspace autoInstallPeers: true linkWorkspacePackages: true @@ -20,3 +19,22 @@ publicHoistPattern: - '*eslint*' - '*prettier*' strictPeerDependencies: false +catalog: + '@shopify/app-bridge-react': 4.2.10 + '@shopify/app-bridge-types': 0.7.0 + '@shopify/hydrogen': 2026.1.3 + '@shopify/hydrogen-react': 2026.1.2 + '@shopify/polaris-types': 1.0.1 + '@react-router/dev': 7.15.1 + '@types/node': 25.3.3 + '@types/react': 19.2.14 + '@vitest/coverage-v8': 4.1.0 + graphql: 16.13.2 + preact: 10.28.4 + prettier: 3.8.1 + react-router: 7.15.1 + schema-dts: 1.1.5 + type-fest: 5.5.0 + typescript: 5.9.3 + vite: 6.4.3 + vitest: 4.1.5