From 66ec02761e9d0903d596798e5a8eb79254729e2c Mon Sep 17 00:00:00 2001 From: Ryan Bahan Date: Thu, 5 Mar 2026 09:34:47 -0700 Subject: [PATCH 1/4] add e2e section --- .gitignore | 3 + package.json | 4 +- packages/e2e/.env.example | 19 + packages/e2e/.gitignore | 6 + packages/e2e/fixtures/cli-process.ts | 242 +++++++ packages/e2e/fixtures/env.ts | 138 ++++ packages/e2e/helpers/file-edit.ts | 17 + packages/e2e/helpers/strip-ansi.ts | 5 + packages/e2e/helpers/wait-for-port.ts | 38 ++ packages/e2e/package.json | 39 ++ packages/e2e/playwright.config.ts | 42 ++ packages/e2e/project.json | 39 ++ packages/e2e/tests/smoke-pty.spec.ts | 12 + packages/e2e/tests/smoke.spec.ts | 10 + packages/e2e/tsconfig.json | 11 + pnpm-lock.yaml | 915 +++++++++++++------------- pnpm-workspace.yaml | 1 + 17 files changed, 1074 insertions(+), 467 deletions(-) create mode 100644 packages/e2e/.env.example create mode 100644 packages/e2e/.gitignore create mode 100644 packages/e2e/fixtures/cli-process.ts create mode 100644 packages/e2e/fixtures/env.ts create mode 100644 packages/e2e/helpers/file-edit.ts create mode 100644 packages/e2e/helpers/strip-ansi.ts create mode 100644 packages/e2e/helpers/wait-for-port.ts create mode 100644 packages/e2e/package.json create mode 100644 packages/e2e/playwright.config.ts create mode 100644 packages/e2e/project.json create mode 100644 packages/e2e/tests/smoke-pty.spec.ts create mode 100644 packages/e2e/tests/smoke.spec.ts create mode 100644 packages/e2e/tsconfig.json diff --git a/.gitignore b/.gitignore index 2ac0d42a147..088120a39a9 100644 --- a/.gitignore +++ b/.gitignore @@ -151,6 +151,9 @@ packages/*/docs/ packaging/dist +# E2E test temp directories and artifacts +.e2e-tmp + # Shadowenv generates user-specific files that shouldn't be committed .shadowenv.d/ diff --git a/package.json b/package.json index 678b840d481..577686594af 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "post-release": "./bin/post-release", "shopify:run": "node packages/cli/bin/dev.js", "shopify": "nx build cli && node packages/cli/bin/dev.js", + "test:e2e": "nx run-many --target=build --projects=cli,create-app --skip-nx-cache && pnpm --filter e2e exec playwright test", "test:features": "pnpm nx run features:test", "test:regenerate-snapshots": "nx build cli && packages/features/snapshots/regenerate.sh", "test:unit": "pnpm vitest run", @@ -130,7 +131,8 @@ "@graphql-typed-document-node/core" ], "ignoreWorkspaces": [ - "packages/eslint-plugin-cli" + "packages/eslint-plugin-cli", + "packages/e2e" ], "paths": { "@shopify/eslint-plugin-cli/configs": [ diff --git a/packages/e2e/.env.example b/packages/e2e/.env.example new file mode 100644 index 00000000000..5af4efc9c99 --- /dev/null +++ b/packages/e2e/.env.example @@ -0,0 +1,19 @@ +# Required: Client ID of the primary test app (must be in the genghis account's org) +# CI secret: E2E_CLIENT_ID +SHOPIFY_FLAG_CLIENT_ID= + +# Required: Genghis account email for browser-based OAuth login +# CI secret: E2E_ACCOUNT_EMAIL +E2E_ACCOUNT_EMAIL= + +# Required: Genghis account password for browser-based OAuth login +# CI secret: E2E_ACCOUNT_PASSWORD +E2E_ACCOUNT_PASSWORD= + +# Required: Dev store FQDN for dev server / deploy tests (e.g. my-store.myshopify.com) +# CI secret: E2E_STORE_FQDN +E2E_STORE_FQDN= + +# Optional: Client ID of a secondary app for config link tests +# CI secret: E2E_SECONDARY_CLIENT_ID +E2E_SECONDARY_CLIENT_ID= diff --git a/packages/e2e/.gitignore b/packages/e2e/.gitignore new file mode 100644 index 00000000000..502ee2939d8 --- /dev/null +++ b/packages/e2e/.gitignore @@ -0,0 +1,6 @@ +node_modules/ +test-results/ +playwright-report/ +dist/ +.env +.env.local diff --git a/packages/e2e/fixtures/cli-process.ts b/packages/e2e/fixtures/cli-process.ts new file mode 100644 index 00000000000..1f39f38ca68 --- /dev/null +++ b/packages/e2e/fixtures/cli-process.ts @@ -0,0 +1,242 @@ +/* eslint-disable no-console */ +import {envFixture, executables} from './env.js' +import {stripAnsi} from '../helpers/strip-ansi.js' +import {execa, type Options as ExecaOptions} from 'execa' +import type {E2EEnv} from './env.js' +import type * as pty from 'node-pty' + +export interface ExecResult { + stdout: string + stderr: string + exitCode: number +} + +export interface SpawnedProcess { + /** Wait for a string to appear in the PTY output */ + waitForOutput(text: string, timeoutMs?: number): Promise + /** Send a single key to the PTY */ + sendKey(key: string): void + /** Send a line of text followed by Enter */ + sendLine(line: string): void + /** Wait for the process to exit */ + waitForExit(timeoutMs?: number): Promise + /** Kill the process */ + kill(): void + /** Get all output captured so far (ANSI stripped) */ + getOutput(): string + /** The underlying node-pty process */ + readonly ptyProcess: pty.IPty +} + +export interface CLIProcess { + /** Execute a CLI command non-interactively via execa */ + exec(args: string[], opts?: {cwd?: string; env?: NodeJS.ProcessEnv; timeout?: number}): Promise + /** Execute the create-app binary non-interactively via execa */ + execCreateApp(args: string[], opts?: {cwd?: string; env?: NodeJS.ProcessEnv; timeout?: number}): Promise + /** Spawn an interactive CLI command via node-pty */ + spawn(args: string[], opts?: {cwd?: string; env?: NodeJS.ProcessEnv}): Promise +} + +/** + * Test-scoped fixture providing CLI process management. + * Tracks all spawned processes and kills them in teardown. + */ +export const cliFixture = envFixture.extend<{cli: CLIProcess}>({ + cli: async ({env}, use) => { + const spawnedProcesses: SpawnedProcess[] = [] + + const cli: CLIProcess = { + async exec(args, opts = {}) { + // 3 min default + const timeout = opts.timeout ?? 3 * 60 * 1000 + const execaOpts: ExecaOptions = { + cwd: opts.cwd, + env: {...env.processEnv, ...opts.env}, + timeout, + reject: false, + } + + if (process.env.DEBUG === '1') { + console.log(`[e2e] exec: node ${executables.cli} ${args.join(' ')}`) + } + + const result = await execa('node', [executables.cli, ...args], execaOpts) + + return { + stdout: result.stdout ?? '', + stderr: result.stderr ?? '', + exitCode: result.exitCode ?? 1, + } + }, + + async execCreateApp(args, opts = {}) { + // 5 min default for scaffolding + const timeout = opts.timeout ?? 5 * 60 * 1000 + const execaOpts: ExecaOptions = { + cwd: opts.cwd, + env: {...env.processEnv, ...opts.env}, + timeout, + reject: false, + } + + if (process.env.DEBUG === '1') { + console.log(`[e2e] exec: node ${executables.createApp} ${args.join(' ')}`) + } + + const result = await execa('node', [executables.createApp, ...args], execaOpts) + + return { + stdout: result.stdout ?? '', + stderr: result.stderr ?? '', + exitCode: result.exitCode ?? 1, + } + }, + + async spawn(args, opts = {}) { + // Dynamic import to avoid requiring node-pty for Phase 1 tests + const nodePty = await import('node-pty') + + const spawnEnv: {[key: string]: string} = {} + for (const [key, value] of Object.entries({...env.processEnv, ...opts.env})) { + if (value !== undefined) { + spawnEnv[key] = value + } + } + + if (process.env.DEBUG === '1') { + console.log(`[e2e] spawn: node ${executables.cli} ${args.join(' ')}`) + } + + const ptyProcess = nodePty.spawn('node', [executables.cli, ...args], { + name: 'xterm-color', + cols: 120, + rows: 30, + cwd: opts.cwd, + env: spawnEnv, + }) + + let output = '' + const outputWaiters: {text: string; resolve: () => void; reject: (err: Error) => void}[] = [] + + ptyProcess.onData((data: string) => { + output += data + if (process.env.DEBUG === '1') { + process.stdout.write(data) + } + + // Check if any waiters are satisfied (check both raw and stripped output) + const stripped = stripAnsi(output) + for (let idx = outputWaiters.length - 1; idx >= 0; idx--) { + const waiter = outputWaiters[idx] + if (waiter && (stripped.includes(waiter.text) || output.includes(waiter.text))) { + waiter.resolve() + outputWaiters.splice(idx, 1) + } + } + }) + + let exitCode: number | undefined + let exitResolve: ((code: number) => void) | undefined + + ptyProcess.onExit(({exitCode: code}) => { + exitCode = code + if (exitResolve) { + exitResolve(code) + } + // Reject any remaining output waiters + for (const waiter of outputWaiters) { + waiter.reject(new Error(`Process exited (code ${code}) while waiting for output: "${waiter.text}"`)) + } + outputWaiters.length = 0 + }) + + const spawned: SpawnedProcess = { + ptyProcess, + + waitForOutput(text: string, timeoutMs = 3 * 60 * 1000) { + // Check if already in output (raw or stripped) + if (stripAnsi(output).includes(text) || output.includes(text)) { + return Promise.resolve() + } + + return new Promise((resolve, reject) => { + const timer = setTimeout(() => { + const waiterIdx = outputWaiters.findIndex((waiter) => waiter.text === text) + if (waiterIdx >= 0) outputWaiters.splice(waiterIdx, 1) + reject( + new Error( + `Timed out after ${timeoutMs}ms waiting for output: "${text}"\n\nCaptured output:\n${stripAnsi( + output, + )}`, + ), + ) + }, timeoutMs) + + outputWaiters.push({ + text, + resolve: () => { + clearTimeout(timer) + resolve() + }, + reject: (err) => { + clearTimeout(timer) + reject(err) + }, + }) + }) + }, + + sendKey(key: string) { + ptyProcess.write(key) + }, + + sendLine(line: string) { + ptyProcess.write(`${line}\r`) + }, + + waitForExit(timeoutMs = 60 * 1000) { + if (exitCode !== undefined) { + return Promise.resolve(exitCode) + } + + return new Promise((resolve, reject) => { + const timer = setTimeout(() => { + reject(new Error(`Timed out after ${timeoutMs}ms waiting for process exit`)) + }, timeoutMs) + + exitResolve = (code) => { + clearTimeout(timer) + resolve(code) + } + }) + }, + + kill() { + try { + ptyProcess.kill() + // eslint-disable-next-line no-catch-all/no-catch-all + } catch (_error) { + // Process may already be dead + } + }, + + getOutput() { + return stripAnsi(output) + }, + } + + spawnedProcesses.push(spawned) + return spawned + }, + } + + await use(cli) + + // Teardown: kill all spawned processes + for (const proc of spawnedProcesses) { + proc.kill() + } + }, +}) + +export {type E2EEnv} diff --git a/packages/e2e/fixtures/env.ts b/packages/e2e/fixtures/env.ts new file mode 100644 index 00000000000..36e8d8e6c77 --- /dev/null +++ b/packages/e2e/fixtures/env.ts @@ -0,0 +1,138 @@ +/* eslint-disable no-restricted-imports */ +import {test as base} from '@playwright/test' +import * as path from 'path' +import * as fs from 'fs' +import {fileURLToPath} from 'url' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) + +export interface E2EEnv { + /** Partners token for API auth (empty string if not set) */ + partnersToken: string + /** Primary test app client ID (empty string if not set) */ + clientId: string + /** Dev store FQDN (e.g. cli-e2e-test.myshopify.com) */ + storeFqdn: string + /** Secondary app client ID for config link tests */ + secondaryClientId: string + /** Environment variables to pass to CLI processes */ + processEnv: NodeJS.ProcessEnv + /** Temporary directory root for this worker */ + tempDir: string +} + +export const directories = { + root: path.resolve(__dirname, '../../..'), + packages: { + cli: path.resolve(__dirname, '../../../packages/cli'), + app: path.resolve(__dirname, '../../../packages/app'), + cliKit: path.resolve(__dirname, '../../../packages/cli-kit'), + }, +} + +export const executables = { + cli: path.resolve(__dirname, '../../../packages/cli/bin/run.js'), + createApp: path.resolve(__dirname, '../../../packages/create-app/bin/run.js'), +} + +/** + * Creates an isolated temporary directory with XDG subdirectories and .npmrc. + * Returns the temp directory path and the env vars to pass to child processes. + */ +export function createIsolatedEnv(baseDir: string): {tempDir: string; xdgEnv: {[key: string]: string}} { + const tempDir = fs.mkdtempSync(path.join(baseDir, 'e2e-')) + + const xdgDirs = { + XDG_DATA_HOME: path.join(tempDir, 'XDG_DATA_HOME'), + XDG_CONFIG_HOME: path.join(tempDir, 'XDG_CONFIG_HOME'), + XDG_STATE_HOME: path.join(tempDir, 'XDG_STATE_HOME'), + XDG_CACHE_HOME: path.join(tempDir, 'XDG_CACHE_HOME'), + } + + for (const dir of Object.values(xdgDirs)) { + fs.mkdirSync(dir, {recursive: true}) + } + + // Write .npmrc to ensure package resolution works in CI + fs.writeFileSync(path.join(tempDir, '.npmrc'), '//registry.npmjs.org/') + + return {tempDir, xdgEnv: xdgDirs} +} + +/** + * Asserts that a required environment variable is set. + * Call this at the top of tests that need auth. + */ +export function requireEnv( + env: E2EEnv, + ...keys: (keyof Pick)[] +): void { + for (const key of keys) { + if (!env[key]) { + const envVarNames: {[key: string]: string} = { + partnersToken: 'SHOPIFY_CLI_PARTNERS_TOKEN', + clientId: 'SHOPIFY_FLAG_CLIENT_ID', + storeFqdn: 'E2E_STORE_FQDN', + secondaryClientId: 'E2E_SECONDARY_CLIENT_ID', + } + throw new Error(`${envVarNames[key]} environment variable is required for this test`) + } + } +} + +/** + * Worker-scoped fixture providing auth tokens and environment configuration. + * Auth tokens are optional — tests that need them should call requireEnv(). + */ +// eslint-disable-next-line @typescript-eslint/no-empty-object-type +export const envFixture = base.extend<{}, {env: E2EEnv}>({ + env: [ + // eslint-disable-next-line no-empty-pattern + async ({}, use) => { + const partnersToken = process.env.SHOPIFY_CLI_PARTNERS_TOKEN ?? '' + const clientId = process.env.SHOPIFY_FLAG_CLIENT_ID ?? '' + const storeFqdn = process.env.E2E_STORE_FQDN ?? '' + const secondaryClientId = process.env.E2E_SECONDARY_CLIENT_ID ?? '' + + const tmpBase = process.env.E2E_TEMP_DIR ?? path.join(directories.root, '.e2e-tmp') + fs.mkdirSync(tmpBase, {recursive: true}) + + const {tempDir, xdgEnv} = createIsolatedEnv(tmpBase) + + const processEnv: NodeJS.ProcessEnv = { + ...process.env, + ...xdgEnv, + SHOPIFY_RUN_AS_USER: '0', + NODE_OPTIONS: '', + // Prevent interactive prompts + CI: '1', + } + + if (partnersToken) { + processEnv.SHOPIFY_CLI_PARTNERS_TOKEN = partnersToken + } + if (clientId) { + processEnv.SHOPIFY_FLAG_CLIENT_ID = clientId + } + if (storeFqdn) { + processEnv.SHOPIFY_FLAG_STORE = storeFqdn + } + + const env: E2EEnv = { + partnersToken, + clientId, + storeFqdn, + secondaryClientId, + processEnv, + tempDir, + } + + await use(env) + + // Cleanup: remove temp directory + fs.rmSync(tempDir, {recursive: true, force: true}) + }, + {scope: 'worker'}, + ], +}) diff --git a/packages/e2e/helpers/file-edit.ts b/packages/e2e/helpers/file-edit.ts new file mode 100644 index 00000000000..ebf35919bf0 --- /dev/null +++ b/packages/e2e/helpers/file-edit.ts @@ -0,0 +1,17 @@ +import * as fs from 'fs' + +/** + * Appends text to a file. Useful for triggering hot reload by modifying source files. + */ +export function appendToFile(filePath: string, text: string): void { + fs.appendFileSync(filePath, text) +} + +/** + * Replaces text in a file. Useful for modifying source files to trigger hot reload. + */ +export function replaceInFile(filePath: string, search: string | RegExp, replacement: string): void { + const content = fs.readFileSync(filePath, 'utf-8') + const updated = content.replace(search, replacement) + fs.writeFileSync(filePath, updated) +} diff --git a/packages/e2e/helpers/strip-ansi.ts b/packages/e2e/helpers/strip-ansi.ts new file mode 100644 index 00000000000..ae420938418 --- /dev/null +++ b/packages/e2e/helpers/strip-ansi.ts @@ -0,0 +1,5 @@ +// Re-export strip-ansi as a named export for easier use. +// strip-ansi v7+ is ESM-only and exports a default function. +import stripAnsiModule from 'strip-ansi' + +export const stripAnsi: (text: string) => string = stripAnsiModule diff --git a/packages/e2e/helpers/wait-for-port.ts b/packages/e2e/helpers/wait-for-port.ts new file mode 100644 index 00000000000..4c75a1e6b3f --- /dev/null +++ b/packages/e2e/helpers/wait-for-port.ts @@ -0,0 +1,38 @@ +import * as net from 'net' + +/** + * Polls until a TCP connection to host:port succeeds, or timeout is reached. + */ +export async function waitForPort(port: number, host = '127.0.0.1', timeoutMs = 30_000): Promise { + const start = Date.now() + const interval = 500 + + while (Date.now() - start < timeoutMs) { + // eslint-disable-next-line no-await-in-loop + const connected = await tryConnect(port, host) + if (connected) return + // eslint-disable-next-line no-await-in-loop + await sleep(interval) + } + + throw new Error(`Timed out after ${timeoutMs}ms waiting for ${host}:${port}`) +} + +function tryConnect(port: number, host: string): Promise { + return new Promise((resolve) => { + const socket = new net.Socket() + socket.once('connect', () => { + socket.destroy() + resolve(true) + }) + socket.once('error', () => { + socket.destroy() + resolve(false) + }) + socket.connect(port, host) + }) +} + +function sleep(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)) +} diff --git a/packages/e2e/package.json b/packages/e2e/package.json new file mode 100644 index 00000000000..ff126b8d52f --- /dev/null +++ b/packages/e2e/package.json @@ -0,0 +1,39 @@ +{ + "name": "@shopify/e2e", + "version": "0.1.0", + "packageManager": "pnpm@10.11.1", + "private": true, + "type": "module", + "scripts": { + "test": "nx run e2e:test", + "lint": "nx lint", + "lint:fix": "nx lint:fix", + "type-check": "nx type-check" + }, + "eslintConfig": { + "extends": [ + "../../.eslintrc.cjs" + ], + "rules": { + "no-console": "off", + "import/extensions": [ + "error", + "never", + { + "ignorePackages": true + } + ] + } + }, + "devDependencies": { + "@playwright/test": "^1.50.0", + "@types/node": "18.19.70", + "execa": "^7.2.0", + "node-pty": "^1.0.0", + "strip-ansi": "^7.1.0", + "tempy": "^1.0.1" + }, + "engines": { + "node": ">=20.10.0" + } +} diff --git a/packages/e2e/playwright.config.ts b/packages/e2e/playwright.config.ts new file mode 100644 index 00000000000..f2260472c55 --- /dev/null +++ b/packages/e2e/playwright.config.ts @@ -0,0 +1,42 @@ +/* eslint-disable line-comment-position */ +/* eslint-disable no-restricted-imports */ +import {defineConfig} from '@playwright/test' +import * as fs from 'fs' +import * as path from 'path' +import {fileURLToPath} from 'url' + +const __dirname = path.dirname(fileURLToPath(import.meta.url)) + +// Load .env file if present (CI provides env vars directly) +const envPath = path.join(__dirname, '.env') +if (fs.existsSync(envPath)) { + for (const line of fs.readFileSync(envPath, 'utf-8').split('\n')) { + const trimmed = line.trim() + if (!trimmed || trimmed.startsWith('#')) continue + const eqIdx = trimmed.indexOf('=') + if (eqIdx === -1) continue + const key = trimmed.slice(0, eqIdx).trim() + const value = trimmed.slice(eqIdx + 1).trim() + process.env[key] ??= value + } +} + +const isCI = Boolean(process.env.CI) + +export default defineConfig({ + testDir: './tests', + fullyParallel: false, + forbidOnly: isCI, + retries: 0, + workers: 1, + maxFailures: isCI ? 3 : 0, // Stop early in CI after 3 failures + reporter: isCI ? [['html', {open: 'never'}], ['list']] : [['list']], + timeout: 3 * 60 * 1000, // 3 minutes per test + globalTimeout: 15 * 60 * 1000, // 15 minutes total + + use: { + trace: isCI ? 'on' : 'off', + screenshot: isCI ? 'on' : 'off', + video: 'off', + }, +}) diff --git a/packages/e2e/project.json b/packages/e2e/project.json new file mode 100644 index 00000000000..d8ec4c24fe6 --- /dev/null +++ b/packages/e2e/project.json @@ -0,0 +1,39 @@ +{ + "name": "e2e", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "packages/e2e", + "projectType": "library", + "implicitDependencies": ["cli", "create-app"], + "tags": ["scope:e2e"], + "targets": { + "test": { + "executor": "nx:run-commands", + "dependsOn": ["^build"], + "options": { + "command": "pnpm playwright test", + "cwd": "packages/e2e" + } + }, + "lint": { + "executor": "nx:run-commands", + "options": { + "command": "pnpm eslint \"**/*.ts\"", + "cwd": "packages/e2e" + } + }, + "lint:fix": { + "executor": "nx:run-commands", + "options": { + "command": "pnpm eslint '**/*.ts' --fix", + "cwd": "packages/e2e" + } + }, + "type-check": { + "executor": "nx:run-commands", + "options": { + "command": "pnpm tsc --noEmit", + "cwd": "packages/e2e" + } + } + } +} diff --git a/packages/e2e/tests/smoke-pty.spec.ts b/packages/e2e/tests/smoke-pty.spec.ts new file mode 100644 index 00000000000..589c15e0794 --- /dev/null +++ b/packages/e2e/tests/smoke-pty.spec.ts @@ -0,0 +1,12 @@ +import {cliFixture as test} from '../fixtures/cli-process.js' +import {expect} from '@playwright/test' + +test.describe('PTY smoke test', () => { + test('shopify version runs via PTY', async ({cli}) => { + const proc = await cli.spawn(['version']) + await proc.waitForOutput('3.') + const code = await proc.waitForExit() + expect(code).toBe(0) + expect(proc.getOutput()).toMatch(/\d+\.\d+\.\d+/) + }) +}) diff --git a/packages/e2e/tests/smoke.spec.ts b/packages/e2e/tests/smoke.spec.ts new file mode 100644 index 00000000000..5cdf4b8c64a --- /dev/null +++ b/packages/e2e/tests/smoke.spec.ts @@ -0,0 +1,10 @@ +import {cliFixture as test} from '../fixtures/cli-process.js' +import {expect} from '@playwright/test' + +test.describe('Smoke test', () => { + test('shopify version runs successfully', async ({cli}) => { + const result = await cli.exec(['version']) + expect(result.exitCode).toBe(0) + expect(result.stdout).toMatch(/\d+\.\d+\.\d+/) + }) +}) diff --git a/packages/e2e/tsconfig.json b/packages/e2e/tsconfig.json new file mode 100644 index 00000000000..d87e9d3dea2 --- /dev/null +++ b/packages/e2e/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../configurations/tsconfig.json", + "include": ["./**/*.ts"], + "exclude": ["./dist", "./test-results", "./playwright-report", "./scripts"], + "compilerOptions": { + "outDir": "dist", + "composite": false, + "declaration": false, + "types": ["node"] + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ef3fd03f6e4..100d053384a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,7 +42,7 @@ importers: version: 5.0.2(graphql@16.10.0) '@nx/eslint-plugin': specifier: 22.0.2 - version: 22.0.2(@babel/traverse@7.29.0)(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-config-prettier@10.1.5(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2))(nx@22.5.4)(typescript@5.9.3) + version: 22.0.2(@babel/traverse@7.29.0)(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-config-prettier@10.1.5(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2))(nx@22.4.4)(typescript@5.9.3) '@nx/workspace': specifier: 22.0.2 version: 22.0.2 @@ -77,8 +77,8 @@ importers: specifier: ^9.4.0 version: 9.5.0 esbuild: - specifier: 0.27.3 - version: 0.27.3 + specifier: 0.27.2 + version: 0.27.2 eslint: specifier: ^9.26.0 version: 9.39.3(jiti@2.4.2) @@ -116,8 +116,8 @@ importers: specifier: ^3.3.2 version: 3.3.2 nx: - specifier: 22.5.4 - version: 22.5.4 + specifier: 22.4.4 + version: 22.4.4 oclif: specifier: 4.22.81 version: 4.22.81(@types/node@18.19.70) @@ -156,18 +156,18 @@ importers: version: 3.2.0(graphql@16.10.0) '@luckycatfactory/esbuild-graphql-loader': specifier: 3.8.1 - version: 3.8.1(esbuild@0.27.3)(graphql-tag@2.12.6(graphql@16.10.0))(graphql@16.10.0) + version: 3.8.1(esbuild@0.27.2)(graphql-tag@2.12.6(graphql@16.10.0))(graphql@16.10.0) '@oclif/core': specifier: 4.5.3 version: 4.5.3 '@shopify/cli-kit': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../cli-kit '@shopify/function-runner': specifier: 4.1.1 version: 4.1.1 '@shopify/plugin-cloudflare': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../plugin-cloudflare '@shopify/polaris': specifier: 12.27.0 @@ -176,7 +176,7 @@ importers: specifier: 8.11.1 version: 8.11.1(react@19.2.4) '@shopify/theme': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../theme '@shopify/theme-check-node': specifier: 3.23.0 @@ -197,8 +197,8 @@ importers: specifier: 5.2.2 version: 5.2.2 esbuild: - specifier: 0.27.3 - version: 0.27.3 + specifier: 0.27.2 + version: 0.27.2 express: specifier: 4.21.2 version: 4.21.2 @@ -273,8 +273,8 @@ importers: specifier: 0.33.0 version: 0.33.0 esbuild: - specifier: 0.27.3 - version: 0.27.3 + specifier: 0.27.2 + version: 0.27.2 global-agent: specifier: 3.0.0 version: 3.0.0 @@ -289,22 +289,22 @@ importers: specifier: 5.4.47 version: 5.4.47 '@shopify/app': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../app '@shopify/cli-hydrogen': - specifier: 11.1.10 - version: 11.1.10(@graphql-codegen/cli@5.0.4(@parcel/watcher@2.5.1)(@types/node@24.7.0)(crossws@0.3.5)(enquirer@2.4.1)(graphql@16.10.0)(typescript@5.9.3))(graphql-config@5.1.5(@types/node@24.7.0)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3))(graphql@16.10.0)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.1(@types/node@24.7.0)(jiti@2.4.2)(sass@1.89.1)(yaml@2.8.2)) + specifier: 11.1.5 + version: 11.1.5(@graphql-codegen/cli@5.0.4(@parcel/watcher@2.5.1)(@types/node@24.7.0)(crossws@0.3.5)(enquirer@2.4.1)(graphql@16.10.0)(typescript@5.9.3))(graphql-config@5.1.5(@types/node@24.7.0)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3))(graphql@16.10.0)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.1(@types/node@24.7.0)(jiti@2.4.2)(sass@1.89.1)(yaml@2.8.2)) '@shopify/cli-kit': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../cli-kit '@shopify/plugin-cloudflare': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../plugin-cloudflare '@shopify/plugin-did-you-mean': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../plugin-did-you-mean '@shopify/theme': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../theme '@types/global-agent': specifier: 3.0.0 @@ -314,7 +314,7 @@ importers: version: 3.2.1(vitest@3.2.1(@types/node@24.7.0)(jiti@2.4.2)(jsdom@20.0.3)(msw@2.8.7(@types/node@24.7.0)(typescript@5.9.3))(sass@1.89.1)(yaml@2.8.2)) esbuild-plugin-copy: specifier: ^2.1.1 - version: 2.1.1(esbuild@0.27.3) + version: 2.1.1(esbuild@0.27.2) packages/cli-kit: dependencies: @@ -351,15 +351,12 @@ importers: '@opentelemetry/semantic-conventions': specifier: 1.28.0 version: 1.28.0 - '@shopify/toml-patch': - specifier: 0.3.0 - version: 0.3.0 '@types/archiver': specifier: 5.3.2 version: 5.3.2 ajv: - specifier: 8.18.0 - version: 8.18.0 + specifier: 8.17.1 + version: 8.17.1 ansi-escapes: specifier: 6.2.1 version: 6.2.1 @@ -487,8 +484,8 @@ importers: specifier: 7.6.3 version: 7.6.3 simple-git: - specifier: 3.32.3 - version: 3.32.3 + specifier: 3.27.0 + version: 3.27.0 stacktracey: specifier: 2.1.8 version: 2.1.8 @@ -560,21 +557,42 @@ importers: packages/create-app: dependencies: esbuild: - specifier: 0.27.3 - version: 0.27.3 + specifier: 0.27.2 + version: 0.27.2 devDependencies: '@shopify/app': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../app '@shopify/cli-kit': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../cli-kit '@vitest/coverage-istanbul': specifier: ^3.1.4 version: 3.2.1(vitest@3.2.1(@types/node@24.7.0)(jiti@2.4.2)(jsdom@20.0.3)(msw@2.8.7(@types/node@24.7.0)(typescript@5.9.3))(sass@1.89.1)(yaml@2.8.2)) esbuild-plugin-copy: specifier: ^2.1.1 - version: 2.1.1(esbuild@0.27.3) + version: 2.1.1(esbuild@0.27.2) + + packages/e2e: + devDependencies: + '@playwright/test': + specifier: ^1.50.0 + version: 1.58.2 + '@types/node': + specifier: 18.19.70 + version: 18.19.70 + execa: + specifier: ^7.2.0 + version: 7.2.0 + node-pty: + specifier: ^1.0.0 + version: 1.1.0 + strip-ansi: + specifier: ^7.1.0 + version: 7.1.0 + tempy: + specifier: ^1.0.1 + version: 1.0.1 packages/eslint-plugin-cli: dependencies: @@ -667,7 +685,7 @@ importers: specifier: 4.5.3 version: 4.5.3 '@shopify/cli-kit': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../cli-kit devDependencies: '@vitest/coverage-istanbul': @@ -680,7 +698,7 @@ importers: specifier: 4.5.3 version: 4.5.3 '@shopify/cli-kit': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../cli-kit n-gram: specifier: 2.0.2 @@ -696,7 +714,7 @@ importers: specifier: 4.5.3 version: 4.5.3 '@shopify/cli-kit': - specifier: 3.92.0 + specifier: 3.91.0 version: link:../cli-kit '@shopify/theme-check-node': specifier: 3.23.0 @@ -839,8 +857,8 @@ importers: specifier: ^2.0.6 version: 2.0.6 simple-git: - specifier: 3.32.3 - version: 3.32.3 + specifier: 3.19.1 + version: 3.19.1 tempy: specifier: 3.0.0 version: 3.0.0 @@ -1985,8 +2003,8 @@ packages: resolution: {integrity: sha512-KfoGlYD/XXQSc3BkM1/k15+JQbkQ4ateHazeZoWl9P71FsLTDXSjGy6j7QqfhpIDSbxNISqhPMfZHYSbDFOofQ==} engines: {node: '>=18.0.0'} - '@envelop/core@5.5.1': - resolution: {integrity: sha512-3DQg8sFskDo386TkL5j12jyRAdip/8yzK3x7YGbZBgobZ4aKXrvDU0GppU0SnmrpQnNaiTUsxBs9LKkwQ/eyvw==} + '@envelop/core@5.5.0': + resolution: {integrity: sha512-nsU1EyJQAStaKHR1ZkB/ug9XBm+WPTliYtdedbJ/L1ykrp7dbbn0srqBeDnZ2mbZVp4hH3d0Fy+Og9OgPWZx+g==} engines: {node: '>=18.0.0'} '@envelop/instrumentation@1.0.0': @@ -2007,8 +2025,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.3': - resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} + '@esbuild/aix-ppc64@0.27.2': + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -2019,8 +2037,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.3': - resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} + '@esbuild/android-arm64@0.27.2': + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -2031,8 +2049,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.3': - resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} + '@esbuild/android-arm@0.27.2': + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -2043,8 +2061,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.3': - resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} + '@esbuild/android-x64@0.27.2': + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -2055,8 +2073,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.3': - resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} + '@esbuild/darwin-arm64@0.27.2': + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -2067,8 +2085,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.3': - resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} + '@esbuild/darwin-x64@0.27.2': + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -2079,8 +2097,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.3': - resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} + '@esbuild/freebsd-arm64@0.27.2': + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -2091,8 +2109,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.3': - resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} + '@esbuild/freebsd-x64@0.27.2': + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -2103,8 +2121,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.3': - resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} + '@esbuild/linux-arm64@0.27.2': + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -2115,8 +2133,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.3': - resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} + '@esbuild/linux-arm@0.27.2': + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -2127,8 +2145,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.3': - resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} + '@esbuild/linux-ia32@0.27.2': + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -2139,8 +2157,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.3': - resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} + '@esbuild/linux-loong64@0.27.2': + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -2151,8 +2169,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.3': - resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} + '@esbuild/linux-mips64el@0.27.2': + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -2163,8 +2181,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.3': - resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} + '@esbuild/linux-ppc64@0.27.2': + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -2175,8 +2193,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.3': - resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} + '@esbuild/linux-riscv64@0.27.2': + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -2187,8 +2205,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.3': - resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} + '@esbuild/linux-s390x@0.27.2': + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -2199,8 +2217,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.3': - resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} + '@esbuild/linux-x64@0.27.2': + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -2211,8 +2229,8 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.3': - resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} + '@esbuild/netbsd-arm64@0.27.2': + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -2223,8 +2241,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.3': - resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} + '@esbuild/netbsd-x64@0.27.2': + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -2235,8 +2253,8 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.3': - resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} + '@esbuild/openbsd-arm64@0.27.2': + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -2247,8 +2265,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.3': - resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} + '@esbuild/openbsd-x64@0.27.2': + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -2259,8 +2277,8 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.27.3': - resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} + '@esbuild/openharmony-arm64@0.27.2': + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] @@ -2271,8 +2289,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.3': - resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} + '@esbuild/sunos-x64@0.27.2': + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -2283,8 +2301,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.3': - resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} + '@esbuild/win32-arm64@0.27.2': + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -2295,8 +2313,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.3': - resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} + '@esbuild/win32-ia32@0.27.2': + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -2307,8 +2325,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.3': - resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} + '@esbuild/win32-x64@0.27.2': + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -2698,8 +2716,8 @@ packages: peerDependencies: graphql: 16.10.0 - '@graphql-tools/graphql-file-loader@8.1.12': - resolution: {integrity: sha512-Nma7gBgJoUbqXWTmdHjouo36tjzewA8MptVcHoH7widzkciaUVzBhriHzqICFB/dVxig//g9MX8s1XawZo7UAg==} + '@graphql-tools/graphql-file-loader@8.1.9': + resolution: {integrity: sha512-rkLK46Q62Zxift8B6Kfw6h8SH3pCR3DPCfNeC/lpLwYReezZz+2ARuLDFZjQGjW+4lpMwiAw8CIxDyQAUgqU6A==} engines: {node: '>=16.0.0'} peerDependencies: graphql: 16.10.0 @@ -2722,8 +2740,8 @@ packages: peerDependencies: graphql: 16.10.0 - '@graphql-tools/import@7.1.12': - resolution: {integrity: sha512-QSsdPsdJ7yCgQ5XODyKYpC7NlB9R1Koi0R3418PT7GiRm+9O8gYXSs/23dumcOnpiLrnf4qR2aytBn1+JOAhnA==} + '@graphql-tools/import@7.1.9': + resolution: {integrity: sha512-mHzOgyfzsAgstaZPIFEtKg4GVH4FbDHeHYrSs73mAPKS5F59/FlRuUJhAoRnxbVnc3qIZ6EsWBjOjNbnPK8viA==} engines: {node: '>=16.0.0'} peerDependencies: graphql: 16.10.0 @@ -3151,6 +3169,14 @@ packages: '@types/node': optional: true + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -3159,8 +3185,8 @@ packages: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - '@jest/diff-sequences@30.3.0': - resolution: {integrity: sha512-cG51MVnLq1ecVUaQ3fr6YuuAOitHK1S4WUJHnsPFE/quQr33ADUx1FfrTCpMCRxvy0Yr9BThKpDjSlcTi91tMA==} + '@jest/diff-sequences@30.0.1': + resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jest/get-type@30.1.0': @@ -3271,8 +3297,8 @@ packages: cpu: [arm64] os: [darwin] - '@nx/nx-darwin-arm64@22.5.4': - resolution: {integrity: sha512-Ib9znwSLQZSZ/9hhg5ODplpNhE/RhGVXzdfRj6YonTuWSj/kH3dLMio+4JEkjRdTQVm06cDW0KdwSgnwovqMGg==} + '@nx/nx-darwin-arm64@22.4.4': + resolution: {integrity: sha512-8PriHolYLRccIhiU8QLotv5ypiO8TYGzH23CODtM+ZbZmyQMxHN7w3LTQJjR/hBvYNU93fP9+WY/NLgJo8jkxw==} cpu: [arm64] os: [darwin] @@ -3281,8 +3307,8 @@ packages: cpu: [x64] os: [darwin] - '@nx/nx-darwin-x64@22.5.4': - resolution: {integrity: sha512-DjyXuQMc93MPU2XdRsJYjzbv1tgCzMi+zm7O0gc4x3h+ECFjKkjzQBg67pqGdhE3TV27MAlVRKrgHStyK9iigg==} + '@nx/nx-darwin-x64@22.4.4': + resolution: {integrity: sha512-O+tFKFSVJCFUTJclIr0OJaZ86ztoDWS6Y9ipXVg+EfzT8AbGp+RIz1t6qjDvgZNWFkKViCsuZ2mHJOu+5/R5fw==} cpu: [x64] os: [darwin] @@ -3291,8 +3317,8 @@ packages: cpu: [x64] os: [freebsd] - '@nx/nx-freebsd-x64@22.5.4': - resolution: {integrity: sha512-DhxdP8AhIfN0yCtFhZQcbp32MVN3L7UiTotYqqnOgwW922NRGSd5e+KEAWiJVrIO6TdgnI7prxpg1hfQQK0WDw==} + '@nx/nx-freebsd-x64@22.4.4': + resolution: {integrity: sha512-9nsGPR7xpRSFBYOrQhxokVhb5chy0Rq6zIWoXec6LrUjsHSWM5lvdfkUlQHG1DbZIimTzqIGUHK92OVb7X6tJw==} cpu: [x64] os: [freebsd] @@ -3301,8 +3327,8 @@ packages: cpu: [arm] os: [linux] - '@nx/nx-linux-arm-gnueabihf@22.5.4': - resolution: {integrity: sha512-pv1x1afTaLAOxPxVhQneLeXgjclp11f9ORxR7jA4E86bSgc9OL92dLSCkXtLQzqPNOej6SZ2fO+PPHVMZwtaPQ==} + '@nx/nx-linux-arm-gnueabihf@22.4.4': + resolution: {integrity: sha512-0m4j0KYnIw4SERorUxhpckDxn0zvohh7RbdKNMUzyw98Fl7n++n2yiLA6YS51y29tLzY/j4OqzMDT9BFjqZbUQ==} cpu: [arm] os: [linux] @@ -3311,8 +3337,8 @@ packages: cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-gnu@22.5.4': - resolution: {integrity: sha512-mPji9PzleWPvXpmFDKaXpTymRgZkk/hW8JHGhvEZpKHHXMYgTGWC+BqOEM2A4dYC4bu4fi9RrteL7aouRRWJoQ==} + '@nx/nx-linux-arm64-gnu@22.4.4': + resolution: {integrity: sha512-vsCz2A2uHL5I8GzQW8X2/IlW+lIoyOUVgcSviZA6P1UFFOKOxAlVUsKvGZlfyTEwK9LDnH5zYclUrimxNEwYVw==} cpu: [arm64] os: [linux] @@ -3321,8 +3347,8 @@ packages: cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@22.5.4': - resolution: {integrity: sha512-hF/HvEhbCjcFpTgY7RbP1tUTbp0M1adZq4ckyW8mwhDWQ/MDsc8FnOHwCO3Bzy9ZeJM0zQUES6/m0Onz8geaEA==} + '@nx/nx-linux-arm64-musl@22.4.4': + resolution: {integrity: sha512-Jj0bqoB9a2iqHycVM6NY0OkU3np6yshFTcggteEH3jWQ5iSgO3E6O00rfwGx8mrMT8GfpCyQGLS5Q1HW79zKzQ==} cpu: [arm64] os: [linux] @@ -3331,8 +3357,8 @@ packages: cpu: [x64] os: [linux] - '@nx/nx-linux-x64-gnu@22.5.4': - resolution: {integrity: sha512-1+vicSYEOtc7CNMoRCjo59no4gFe8w2nGIT127wk1yeW3EJzRVNlOA7Deu10NUUbzLeOvHc8EFOaU7clT+F7XQ==} + '@nx/nx-linux-x64-gnu@22.4.4': + resolution: {integrity: sha512-2pMPaFae59j/Erop/LCWPr7xxT4NcY7CR9b5GJ+Dfz1Wv3wE9jE66tp2qFaH36Igso9r0Khf6rPrSCLaO+0QgQ==} cpu: [x64] os: [linux] @@ -3341,8 +3367,8 @@ packages: cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@22.5.4': - resolution: {integrity: sha512-/KjndxVB14yU0SJOhqADHOWoTy4Y45h5RjW3cxcXlPSJZz7ar1FnlLne1rWMMMUttepc8ku+3T//SGKi2eu+Nw==} + '@nx/nx-linux-x64-musl@22.4.4': + resolution: {integrity: sha512-8Rnhrk2eWZfVs1Db5K15JGiis8h8v1w2avHlp4abJVJ+j1Sa0a1OWexBz2X0WkjYh/LcgRTzYBrE8+BV4yCPMw==} cpu: [x64] os: [linux] @@ -3351,8 +3377,8 @@ packages: cpu: [arm64] os: [win32] - '@nx/nx-win32-arm64-msvc@22.5.4': - resolution: {integrity: sha512-CrYt9FwhjOI6ZNy/G6YHLJmZuXCFJ24BCxugPXiZ7knDx7eGrr7owGgfht4SSiK3KCX40CvWCBJfqR4ZSgaSUA==} + '@nx/nx-win32-arm64-msvc@22.4.4': + resolution: {integrity: sha512-e32okeoiaFSjfcZYj+uBdPRSzANAXLnh6D0k3isZ7stJnUtJ2hy5Kz5RCk10ddwdQgUn34sNz1oL2yFhXVWU4w==} cpu: [arm64] os: [win32] @@ -3361,8 +3387,8 @@ packages: cpu: [x64] os: [win32] - '@nx/nx-win32-x64-msvc@22.5.4': - resolution: {integrity: sha512-g5YByv4XsYwsYZvFe24A9bvfhZA+mwtIQt6qZtEVduZTT1hfhIsq0LXGHhkGoFLYwRMXSracWOqkalY0KT4IQw==} + '@nx/nx-win32-x64-msvc@22.4.4': + resolution: {integrity: sha512-Jb8YsA7/GKGWWg2RkaDJQalaOpiQCPb57PtxNV5Ai7bsapM/7g/OfwenZXfH32FUoCT4yPVrnrKdjqbBHdEkxA==} cpu: [x64] os: [win32] @@ -3744,6 +3770,11 @@ packages: resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@playwright/test@1.58.2': + resolution: {integrity: sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==} + engines: {node: '>=18'} + hasBin: true + '@pnpm/config.env-replace@1.1.0': resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} @@ -3923,15 +3954,15 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@shopify/cli-hydrogen@11.1.10': - resolution: {integrity: sha512-MEnTbWVeNMeV/0dawod4y2AuhhFFLlwpaYzbaqQXJ2HMm20g+bPoOogqSnGF04DoySIT9nEVXI9CXm/TgBsvoA==} - engines: {node: ^20 || ^22 || ^24} + '@shopify/cli-hydrogen@11.1.5': + resolution: {integrity: sha512-KnyKdJ2EZI44YzRK8mWifP7g0ndm3Q9daPdq2da84EnXpZ+a7AHSruud95b1fANawVBoK7i6RIeDrgcwmri0NA==} + engines: {node: '>=18.0.0'} hasBin: true peerDependencies: '@graphql-codegen/cli': ^5.0.2 - '@react-router/dev': 7.12.0 - '@shopify/hydrogen-codegen': 0.3.3 - '@shopify/mini-oxygen': 4.0.1 + '@react-router/dev': 7.9.2 + '@shopify/hydrogen-codegen': ^0.3.3 + '@shopify/mini-oxygen': ^4.0.0 graphql-config: ^5.0.3 vite: 6.4.1 peerDependenciesMeta: @@ -4311,6 +4342,12 @@ packages: resolution: {integrity: sha512-ID7fosbc50TbT0MK0EG12O+gAP3W3Aa/Pz4DaTtQtEvlc9Odaqi0de+xuZ7Li2GtK4HzEX7IuRWS/JmZLksR3Q==} engines: {node: '>=14'} + '@theguild/federation-composition@0.21.3': + resolution: {integrity: sha512-+LlHTa4UbRpZBog3ggAxjYIFvdfH3UMvvBUptur19TMWkqU4+n3GmN+mDjejU+dyBXIG27c25RsiQP1HyvM99g==} + engines: {node: '>=18'} + peerDependencies: + graphql: 16.10.0 + '@tootallnate/once@2.0.0': resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} @@ -4883,14 +4920,17 @@ packages: ajv: optional: true + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.14.0: resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - ajv@8.18.0: - resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -5094,8 +5134,8 @@ packages: resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} engines: {node: '>=4'} - axios@1.13.6: - resolution: {integrity: sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==} + axios@1.13.4: + resolution: {integrity: sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -5313,10 +5353,6 @@ packages: resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - chalk@5.6.2: - resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - change-case-all@1.0.15: resolution: {integrity: sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==} @@ -5942,8 +5978,8 @@ packages: end-of-stream@1.4.5: resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - enhanced-resolve@5.20.0: - resolution: {integrity: sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==} + enhanced-resolve@5.19.0: + resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==} engines: {node: '>=10.13.0'} enquirer@2.3.6: @@ -5984,10 +6020,6 @@ packages: resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} engines: {node: '>= 0.4'} - es-abstract@1.24.1: - resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==} - engines: {node: '>= 0.4'} - es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -6035,8 +6067,8 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.27.3: - resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} + esbuild@0.27.2: + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} engines: {node: '>=18'} hasBin: true @@ -6132,27 +6164,6 @@ packages: eslint-import-resolver-webpack: optional: true - eslint-module-utils@2.12.1: - resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - eslint-plugin-es-x@7.8.0: resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -6401,8 +6412,8 @@ packages: fast-safe-stringify@1.2.3: resolution: {integrity: sha512-QJYT/i0QYoiZBQ71ivxdyTqkwKkQ0oxACXHYxH2zYHJEgzi2LsbjgvtzTbLi1SZcF190Db2YP7I7eTsU2egOlw==} - fast-uri@3.1.0: - resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + fast-uri@3.0.6: + resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} fast-xml-parser@5.3.6: resolution: {integrity: sha512-QNI3sAvSvaOiaMl8FYU4trnEzCwiRr8XMWgAHzlrWpTSj+QaCSvOf1h82OEP1s4hiAXhnbXSyFWCf4ldZzZRVA==} @@ -6452,8 +6463,8 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} - filelist@1.0.6: - resolution: {integrity: sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==} + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} @@ -6586,6 +6597,11 @@ packages: fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -6613,10 +6629,6 @@ packages: resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} engines: {node: '>=18'} - get-east-asian-width@1.5.0: - resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} - engines: {node: '>=18'} - get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -7373,8 +7385,8 @@ packages: resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==} engines: {node: '>= 10.14.2'} - jest-diff@30.3.0: - resolution: {integrity: sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ==} + jest-diff@30.2.0: + resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-get-type@26.3.0: @@ -7810,6 +7822,10 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} + engines: {node: 20 || >=22} + minimatch@10.2.4: resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} engines: {node: 18 || 20 || >=22} @@ -7820,12 +7836,12 @@ packages: minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@5.1.9: - resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} - minimatch@7.4.9: - resolution: {integrity: sha512-Brg/fp/iAVDOQoHxkuN5bEYhyQlZhxddI78yWsCbeEwTHXQjlNLtiJDUsp1GIptVqMI7/gkJMz4vVAc01mpoBw==} + minimatch@7.4.6: + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} engines: {node: '>=10'} minimatch@9.0.3: @@ -7840,10 +7856,6 @@ packages: resolution: {integrity: sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.9: - resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} - engines: {node: '>=16 || 14 >=14.17'} - minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -7977,6 +7989,9 @@ packages: node-machine-id@1.1.12: resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} + node-pty@1.1.0: + resolution: {integrity: sha512-20JqtutY6JPXTUnL0ij1uad7Qe1baT46lyolh2sSENDd4sTzKZ4nmAFkeAARDKwmlLjPx6XKRlwRUxwjOy+lUg==} + node-releases@2.0.21: resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} @@ -8107,12 +8122,12 @@ packages: '@swc/core': optional: true - nx@22.5.4: - resolution: {integrity: sha512-L8wL7uCjnmpyvq4r2mN9s+oriUE4lY+mX9VgOpjj0ucRd5nzaEaBQppVs0zQGkbKC0BnHS8PGtnAglspd5Gh1Q==} + nx@22.4.4: + resolution: {integrity: sha512-+eIIuRKltZ1hWcaB691aEdsRl4FRJ9qaaIZ2J6U2i4maRbBde8HJZ9m/EJt3i3IrYhdLpnl7QcXyTHzP3eW2jw==} hasBin: true peerDependencies: - '@swc-node/register': ^1.11.1 - '@swc/core': ^1.15.8 + '@swc-node/register': ^1.8.0 + '@swc/core': ^1.3.85 peerDependenciesMeta: '@swc-node/register': optional: true @@ -8438,6 +8453,16 @@ packages: resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} engines: {node: '>=10'} + playwright-core@1.58.2: + resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==} + engines: {node: '>=18'} + hasBin: true + + playwright@1.58.2: + resolution: {integrity: sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==} + engines: {node: '>=18'} + hasBin: true + pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} @@ -8472,8 +8497,8 @@ packages: resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} engines: {node: '>= 10'} - pretty-format@30.3.0: - resolution: {integrity: sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==} + pretty-format@30.2.0: + resolution: {integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} printable-characters@1.0.42: @@ -8832,11 +8857,6 @@ packages: engines: {node: '>= 0.4'} hasBin: true - resolve@1.22.11: - resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} - engines: {node: '>= 0.4'} - hasBin: true - resolve@2.0.0-next.5: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true @@ -9061,8 +9081,11 @@ packages: signedsource@1.0.0: resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} - simple-git@3.32.3: - resolution: {integrity: sha512-56a5oxFdWlsGygOXHWrG+xjj5w9ZIt2uQbzqiIGdR/6i5iococ7WQ/bNPzWxCJdEUGUCmyMH0t9zMpRJTaKxmw==} + simple-git@3.19.1: + resolution: {integrity: sha512-Ck+rcjVaE1HotraRAS8u/+xgTvToTuoMkT9/l9lvuP5jftwnYUp6DwuJzsKErHgfyRk8IB8pqGHWEbM3tLgV1w==} + + simple-git@3.27.0: + resolution: {integrity: sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==} simple-swizzle@0.2.4: resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} @@ -9216,8 +9239,8 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string-width@8.2.0: - resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==} + string-width@8.1.1: + resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==} engines: {node: '>=20'} string.prototype.includes@2.0.1: @@ -9261,10 +9284,6 @@ packages: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} - strip-ansi@7.2.0: - resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} - engines: {node: '>=12'} - strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -9289,8 +9308,8 @@ packages: resolution: {integrity: sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==} engines: {node: '>=14.16'} - strnum@2.2.0: - resolution: {integrity: sha512-Y7Bj8XyJxnPAORMZj/xltsfo55uOiyHcU2tnAVzHUnSJR/KsEX+9RoDeXEnsXtl/CX4fAcrt64gZ13aGaWPeBg==} + strnum@2.1.2: + resolution: {integrity: sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==} stubborn-fs@1.2.5: resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} @@ -9949,10 +9968,6 @@ packages: resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} engines: {node: '>= 0.4'} - which-typed-array@1.1.20: - resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} - engines: {node: '>= 0.4'} - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -11973,7 +11988,7 @@ snapshots: '@whatwg-node/promise-helpers': 1.3.2 tslib: 2.8.1 - '@envelop/core@5.5.1': + '@envelop/core@5.5.0': dependencies: '@envelop/instrumentation': 1.0.0 '@envelop/types': 5.2.1 @@ -12002,157 +12017,157 @@ snapshots: '@esbuild/aix-ppc64@0.25.12': optional: true - '@esbuild/aix-ppc64@0.27.3': + '@esbuild/aix-ppc64@0.27.2': optional: true '@esbuild/android-arm64@0.25.12': optional: true - '@esbuild/android-arm64@0.27.3': + '@esbuild/android-arm64@0.27.2': optional: true '@esbuild/android-arm@0.25.12': optional: true - '@esbuild/android-arm@0.27.3': + '@esbuild/android-arm@0.27.2': optional: true '@esbuild/android-x64@0.25.12': optional: true - '@esbuild/android-x64@0.27.3': + '@esbuild/android-x64@0.27.2': optional: true '@esbuild/darwin-arm64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.27.3': + '@esbuild/darwin-arm64@0.27.2': optional: true '@esbuild/darwin-x64@0.25.12': optional: true - '@esbuild/darwin-x64@0.27.3': + '@esbuild/darwin-x64@0.27.2': optional: true '@esbuild/freebsd-arm64@0.25.12': optional: true - '@esbuild/freebsd-arm64@0.27.3': + '@esbuild/freebsd-arm64@0.27.2': optional: true '@esbuild/freebsd-x64@0.25.12': optional: true - '@esbuild/freebsd-x64@0.27.3': + '@esbuild/freebsd-x64@0.27.2': optional: true '@esbuild/linux-arm64@0.25.12': optional: true - '@esbuild/linux-arm64@0.27.3': + '@esbuild/linux-arm64@0.27.2': optional: true '@esbuild/linux-arm@0.25.12': optional: true - '@esbuild/linux-arm@0.27.3': + '@esbuild/linux-arm@0.27.2': optional: true '@esbuild/linux-ia32@0.25.12': optional: true - '@esbuild/linux-ia32@0.27.3': + '@esbuild/linux-ia32@0.27.2': optional: true '@esbuild/linux-loong64@0.25.12': optional: true - '@esbuild/linux-loong64@0.27.3': + '@esbuild/linux-loong64@0.27.2': optional: true '@esbuild/linux-mips64el@0.25.12': optional: true - '@esbuild/linux-mips64el@0.27.3': + '@esbuild/linux-mips64el@0.27.2': optional: true '@esbuild/linux-ppc64@0.25.12': optional: true - '@esbuild/linux-ppc64@0.27.3': + '@esbuild/linux-ppc64@0.27.2': optional: true '@esbuild/linux-riscv64@0.25.12': optional: true - '@esbuild/linux-riscv64@0.27.3': + '@esbuild/linux-riscv64@0.27.2': optional: true '@esbuild/linux-s390x@0.25.12': optional: true - '@esbuild/linux-s390x@0.27.3': + '@esbuild/linux-s390x@0.27.2': optional: true '@esbuild/linux-x64@0.25.12': optional: true - '@esbuild/linux-x64@0.27.3': + '@esbuild/linux-x64@0.27.2': optional: true '@esbuild/netbsd-arm64@0.25.12': optional: true - '@esbuild/netbsd-arm64@0.27.3': + '@esbuild/netbsd-arm64@0.27.2': optional: true '@esbuild/netbsd-x64@0.25.12': optional: true - '@esbuild/netbsd-x64@0.27.3': + '@esbuild/netbsd-x64@0.27.2': optional: true '@esbuild/openbsd-arm64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.27.3': + '@esbuild/openbsd-arm64@0.27.2': optional: true '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/openbsd-x64@0.27.3': + '@esbuild/openbsd-x64@0.27.2': optional: true '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.27.3': + '@esbuild/openharmony-arm64@0.27.2': optional: true '@esbuild/sunos-x64@0.25.12': optional: true - '@esbuild/sunos-x64@0.27.3': + '@esbuild/sunos-x64@0.27.2': optional: true '@esbuild/win32-arm64@0.25.12': optional: true - '@esbuild/win32-arm64@0.27.3': + '@esbuild/win32-arm64@0.27.2': optional: true '@esbuild/win32-ia32@0.25.12': optional: true - '@esbuild/win32-ia32@0.27.3': + '@esbuild/win32-ia32@0.27.2': optional: true '@esbuild/win32-x64@0.25.12': optional: true - '@esbuild/win32-x64@0.27.3': + '@esbuild/win32-x64@0.27.2': optional: true '@eslint-community/eslint-utils@4.9.0(eslint@9.39.3(jiti@2.4.2))': @@ -12252,7 +12267,7 @@ snapshots: '@graphql-tools/code-file-loader': 8.1.28(graphql@16.10.0) '@graphql-tools/git-loader': 8.0.32(graphql@16.10.0) '@graphql-tools/github-loader': 8.0.22(@types/node@24.7.0)(graphql@16.10.0) - '@graphql-tools/graphql-file-loader': 8.1.12(graphql@16.10.0) + '@graphql-tools/graphql-file-loader': 8.1.9(graphql@16.10.0) '@graphql-tools/json-file-loader': 8.0.26(graphql@16.10.0) '@graphql-tools/load': 8.1.8(graphql@16.10.0) '@graphql-tools/prisma-loader': 8.0.17(@types/node@24.7.0)(crossws@0.3.5)(graphql@16.10.0) @@ -12711,7 +12726,7 @@ snapshots: '@graphql-tools/executor-common@0.0.6(graphql@16.10.0)': dependencies: - '@envelop/core': 5.5.1 + '@envelop/core': 5.5.0 '@graphql-tools/utils': 10.7.2(graphql@16.10.0) graphql: 16.10.0 optional: true @@ -12890,14 +12905,16 @@ snapshots: tslib: 2.8.1 unixify: 1.0.0 - '@graphql-tools/graphql-file-loader@8.1.12(graphql@16.10.0)': + '@graphql-tools/graphql-file-loader@8.1.9(graphql@16.10.0)': dependencies: - '@graphql-tools/import': 7.1.12(graphql@16.10.0) + '@graphql-tools/import': 7.1.9(graphql@16.10.0) '@graphql-tools/utils': 10.7.2(graphql@16.10.0) globby: 11.1.0 graphql: 16.10.0 tslib: 2.8.1 unixify: 1.0.0 + transitivePeerDependencies: + - supports-color optional: true '@graphql-tools/graphql-tag-pluck@8.3.19(graphql@16.10.0)': @@ -12934,12 +12951,15 @@ snapshots: resolve-from: 5.0.0 tslib: 2.8.1 - '@graphql-tools/import@7.1.12(graphql@16.10.0)': + '@graphql-tools/import@7.1.9(graphql@16.10.0)': dependencies: '@graphql-tools/utils': 10.7.2(graphql@16.10.0) + '@theguild/federation-composition': 0.21.3(graphql@16.10.0) graphql: 16.10.0 resolve-from: 5.0.0 tslib: 2.8.1 + transitivePeerDependencies: + - supports-color optional: true '@graphql-tools/json-file-loader@8.0.18(graphql@16.10.0)': @@ -13499,18 +13519,24 @@ snapshots: optionalDependencies: '@types/node': 24.7.0 + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 string-width-cjs: string-width@4.2.3 - strip-ansi: 7.2.0 + strip-ansi: 7.1.0 strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 '@istanbuljs/schema@0.1.3': {} - '@jest/diff-sequences@30.3.0': {} + '@jest/diff-sequences@30.0.1': {} '@jest/get-type@30.1.0': {} @@ -13557,9 +13583,9 @@ snapshots: '@kwsites/promise-deferred@1.1.1': {} - '@luckycatfactory/esbuild-graphql-loader@3.8.1(esbuild@0.27.3)(graphql-tag@2.12.6(graphql@16.10.0))(graphql@16.10.0)': + '@luckycatfactory/esbuild-graphql-loader@3.8.1(esbuild@0.27.2)(graphql-tag@2.12.6(graphql@16.10.0))(graphql@16.10.0)': dependencies: - esbuild: 0.27.3 + esbuild: 0.27.2 graphql: 16.10.0 graphql-tag: 2.12.6(graphql@16.10.0) @@ -13633,21 +13659,21 @@ snapshots: tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/devkit@22.0.2(nx@22.5.4)': + '@nx/devkit@22.0.2(nx@22.4.4)': dependencies: '@zkochan/js-yaml': 0.0.7 ejs: 3.1.10 enquirer: 2.3.6 minimatch: 9.0.3 - nx: 22.5.4 + nx: 22.4.4 semver: 7.6.3 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/eslint-plugin@22.0.2(@babel/traverse@7.29.0)(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-config-prettier@10.1.5(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2))(nx@22.5.4)(typescript@5.9.3)': + '@nx/eslint-plugin@22.0.2(@babel/traverse@7.29.0)(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-config-prettier@10.1.5(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2))(nx@22.4.4)(typescript@5.9.3)': dependencies: - '@nx/devkit': 22.0.2(nx@22.5.4) - '@nx/js': 22.0.2(@babel/traverse@7.29.0)(nx@22.5.4) + '@nx/devkit': 22.0.2(nx@22.4.4) + '@nx/js': 22.0.2(@babel/traverse@7.29.0)(nx@22.4.4) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.9.3) '@typescript-eslint/parser': 8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3) '@typescript-eslint/type-utils': 8.43.0(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3) @@ -13671,7 +13697,7 @@ snapshots: - typescript - verdaccio - '@nx/js@22.0.2(@babel/traverse@7.29.0)(nx@22.5.4)': + '@nx/js@22.0.2(@babel/traverse@7.29.0)(nx@22.4.4)': dependencies: '@babel/core': 7.27.4 '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.27.4) @@ -13680,7 +13706,7 @@ snapshots: '@babel/preset-env': 7.28.3(@babel/core@7.27.4) '@babel/preset-typescript': 7.27.1(@babel/core@7.27.4) '@babel/runtime': 7.28.4 - '@nx/devkit': 22.0.2(nx@22.5.4) + '@nx/devkit': 22.0.2(nx@22.4.4) '@nx/workspace': 22.0.2 '@zkochan/js-yaml': 0.0.7 babel-plugin-const-enum: 1.2.0(@babel/core@7.27.4) @@ -13710,61 +13736,61 @@ snapshots: '@nx/nx-darwin-arm64@22.0.2': optional: true - '@nx/nx-darwin-arm64@22.5.4': + '@nx/nx-darwin-arm64@22.4.4': optional: true '@nx/nx-darwin-x64@22.0.2': optional: true - '@nx/nx-darwin-x64@22.5.4': + '@nx/nx-darwin-x64@22.4.4': optional: true '@nx/nx-freebsd-x64@22.0.2': optional: true - '@nx/nx-freebsd-x64@22.5.4': + '@nx/nx-freebsd-x64@22.4.4': optional: true '@nx/nx-linux-arm-gnueabihf@22.0.2': optional: true - '@nx/nx-linux-arm-gnueabihf@22.5.4': + '@nx/nx-linux-arm-gnueabihf@22.4.4': optional: true '@nx/nx-linux-arm64-gnu@22.0.2': optional: true - '@nx/nx-linux-arm64-gnu@22.5.4': + '@nx/nx-linux-arm64-gnu@22.4.4': optional: true '@nx/nx-linux-arm64-musl@22.0.2': optional: true - '@nx/nx-linux-arm64-musl@22.5.4': + '@nx/nx-linux-arm64-musl@22.4.4': optional: true '@nx/nx-linux-x64-gnu@22.0.2': optional: true - '@nx/nx-linux-x64-gnu@22.5.4': + '@nx/nx-linux-x64-gnu@22.4.4': optional: true '@nx/nx-linux-x64-musl@22.0.2': optional: true - '@nx/nx-linux-x64-musl@22.5.4': + '@nx/nx-linux-x64-musl@22.4.4': optional: true '@nx/nx-win32-arm64-msvc@22.0.2': optional: true - '@nx/nx-win32-arm64-msvc@22.5.4': + '@nx/nx-win32-arm64-msvc@22.4.4': optional: true '@nx/nx-win32-x64-msvc@22.0.2': optional: true - '@nx/nx-win32-x64-msvc@22.5.4': + '@nx/nx-win32-x64-msvc@22.4.4': optional: true '@nx/workspace@22.0.2': @@ -13801,7 +13827,7 @@ snapshots: indent-string: 4.0.0 is-wsl: 2.2.0 js-yaml: 3.14.2 - minimatch: 9.0.9 + minimatch: 9.0.6 natural-orderby: 2.0.3 object-treeify: 1.1.33 password-prompt: 1.1.3 @@ -13847,7 +13873,7 @@ snapshots: indent-string: 4.0.0 is-wsl: 2.2.0 lilconfig: 3.1.3 - minimatch: 9.0.9 + minimatch: 9.0.6 semver: 7.7.4 string-width: 4.2.3 supports-color: 8.1.1 @@ -14239,6 +14265,10 @@ snapshots: '@pkgr/core@0.2.9': {} + '@playwright/test@1.58.2': + dependencies: + playwright: 1.58.2 + '@pnpm/config.env-replace@1.1.0': {} '@pnpm/network.ca-file@1.0.2': @@ -14370,7 +14400,7 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} - '@shopify/cli-hydrogen@11.1.10(@graphql-codegen/cli@5.0.4(@parcel/watcher@2.5.1)(@types/node@24.7.0)(crossws@0.3.5)(enquirer@2.4.1)(graphql@16.10.0)(typescript@5.9.3))(graphql-config@5.1.5(@types/node@24.7.0)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3))(graphql@16.10.0)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.1(@types/node@24.7.0)(jiti@2.4.2)(sass@1.89.1)(yaml@2.8.2))': + '@shopify/cli-hydrogen@11.1.5(@graphql-codegen/cli@5.0.4(@parcel/watcher@2.5.1)(@types/node@24.7.0)(crossws@0.3.5)(enquirer@2.4.1)(graphql@16.10.0)(typescript@5.9.3))(graphql-config@5.1.5(@types/node@24.7.0)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3))(graphql@16.10.0)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.1(@types/node@24.7.0)(jiti@2.4.2)(sass@1.89.1)(yaml@2.8.2))': dependencies: '@ast-grep/napi': 0.34.1 '@oclif/core': 3.26.5 @@ -14381,12 +14411,11 @@ snapshots: chokidar: 3.5.3 cli-truncate: 4.0.0 diff: 5.2.2 - esbuild: 0.25.12 get-east-asian-width: 1.4.0 get-port: 7.1.0 gunzip-maybe: 1.4.2 - prettier: 3.7.4 - semver: 7.7.4 + prettier: 2.8.8 + semver: 7.7.3 source-map: 0.7.4 source-map-support: 0.5.21 tar-fs: 2.1.4 @@ -14488,7 +14517,7 @@ snapshots: eslint: 9.39.3(jiti@2.4.2) eslint-config-prettier: 9.1.2(eslint@9.39.3(jiti@2.4.2)) eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.3(jiti@2.4.2)))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2)) - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.3(jiti@2.4.2)))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2)) eslint-plugin-eslint-comments: 3.2.0(eslint@9.39.3(jiti@2.4.2)) eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.3(jiti@2.4.2)) eslint-plugin-jest: 28.14.0(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3) @@ -14632,7 +14661,7 @@ snapshots: jsonc-parser: 3.3.1 line-column: 1.0.2 lodash: 4.17.23 - minimatch: 9.0.9 + minimatch: 9.0.6 vscode-json-languageservice: 5.5.0 vscode-uri: 3.1.0 transitivePeerDependencies: @@ -15046,19 +15075,30 @@ snapshots: '@teppeis/multimaps@3.0.0': {} + '@theguild/federation-composition@0.21.3(graphql@16.10.0)': + dependencies: + constant-case: 3.0.4 + debug: 4.4.3(supports-color@8.1.1) + graphql: 16.10.0 + json5: 2.2.3 + lodash.sortby: 4.7.0 + transitivePeerDependencies: + - supports-color + optional: true + '@tootallnate/once@2.0.0': {} '@ts-morph/common@0.18.1': dependencies: fast-glob: 3.3.3 - minimatch: 5.1.9 + minimatch: 5.1.6 mkdirp: 1.0.4 path-browserify: 1.0.1 '@ts-morph/common@0.21.0': dependencies: fast-glob: 3.3.3 - minimatch: 7.4.9 + minimatch: 7.4.6 mkdirp: 2.1.6 path-browserify: 1.0.1 @@ -15320,8 +15360,8 @@ snapshots: '@typescript-eslint/project-service@8.43.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.3) - '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) + '@typescript-eslint/types': 8.56.1 debug: 4.4.0(supports-color@8.1.1) typescript: 5.9.3 transitivePeerDependencies: @@ -15391,9 +15431,9 @@ snapshots: debug: 4.4.0(supports-color@8.1.1) fast-glob: 3.3.3 is-glob: 4.0.3 - minimatch: 9.0.9 + minimatch: 9.0.6 semver: 7.6.3 - ts-api-utils: 2.1.0(typescript@5.9.3) + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -15717,9 +15757,16 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ajv-formats@2.1.1(ajv@8.18.0): + ajv-formats@2.1.1(ajv@8.17.1): optionalDependencies: - ajv: 8.18.0 + ajv: 8.17.1 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 ajv@6.14.0: dependencies: @@ -15735,10 +15782,10 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 - ajv@8.18.0: + ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.0 + fast-uri: 3.0.6 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -15877,7 +15924,7 @@ snapshots: call-bind: 1.0.8 call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.24.1 + es-abstract: 1.24.0 es-errors: 1.3.0 es-object-atoms: 1.1.1 es-shim-unscopables: 1.1.0 @@ -15962,7 +16009,7 @@ snapshots: axe-core@4.10.3: {} - axios@1.13.6: + axios@1.13.4: dependencies: follow-redirects: 1.15.11 form-data: 4.0.5 @@ -16251,8 +16298,6 @@ snapshots: chalk@5.4.1: {} - chalk@5.6.2: {} - change-case-all@1.0.15: dependencies: change-case: 4.1.2 @@ -16371,7 +16416,7 @@ snapshots: cli-truncate@5.1.1: dependencies: slice-ansi: 7.1.2 - string-width: 8.2.0 + string-width: 8.1.1 cli-width@3.0.0: optional: true @@ -16492,8 +16537,8 @@ snapshots: conf@11.0.2: dependencies: - ajv: 8.18.0 - ajv-formats: 2.1.1(ajv@8.18.0) + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) atomically: 2.0.3 debounce-fn: 5.1.2 dot-prop: 7.2.0 @@ -16853,7 +16898,7 @@ snapshots: dependencies: once: 1.4.0 - enhanced-resolve@5.20.0: + enhanced-resolve@5.19.0: dependencies: graceful-fs: 4.2.11 tapable: 2.3.0 @@ -16942,64 +16987,6 @@ snapshots: unbox-primitive: 1.1.0 which-typed-array: 1.1.19 - es-abstract@1.24.1: - dependencies: - array-buffer-byte-length: 1.0.2 - arraybuffer.prototype.slice: 1.0.4 - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - data-view-buffer: 1.0.2 - data-view-byte-length: 1.0.2 - data-view-byte-offset: 1.0.1 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - es-set-tostringtag: 2.1.0 - es-to-primitive: 1.3.0 - function.prototype.name: 1.1.8 - get-intrinsic: 1.3.0 - get-proto: 1.0.1 - get-symbol-description: 1.1.0 - globalthis: 1.0.4 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - has-proto: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - internal-slot: 1.1.0 - is-array-buffer: 3.0.5 - is-callable: 1.2.7 - is-data-view: 1.0.2 - is-negative-zero: 2.0.3 - is-regex: 1.2.1 - is-set: 2.0.3 - is-shared-array-buffer: 1.0.4 - is-string: 1.1.1 - is-typed-array: 1.1.15 - is-weakref: 1.1.1 - math-intrinsics: 1.1.0 - object-inspect: 1.13.4 - object-keys: 1.1.1 - object.assign: 4.1.7 - own-keys: 1.0.1 - regexp.prototype.flags: 1.5.4 - safe-array-concat: 1.1.3 - safe-push-apply: 1.0.0 - safe-regex-test: 1.1.0 - set-proto: 1.0.0 - stop-iteration-iterator: 1.1.0 - string.prototype.trim: 1.2.10 - string.prototype.trimend: 1.0.9 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.3 - typed-array-byte-length: 1.0.3 - typed-array-byte-offset: 1.0.4 - typed-array-length: 1.0.7 - unbox-primitive: 1.1.0 - which-typed-array: 1.1.20 - optional: true - es-define-property@1.0.1: {} es-errors@1.3.0: {} @@ -17050,11 +17037,11 @@ snapshots: es6-error@4.1.1: {} - esbuild-plugin-copy@2.1.1(esbuild@0.27.3): + esbuild-plugin-copy@2.1.1(esbuild@0.27.2): dependencies: chalk: 4.1.2 chokidar: 3.6.0 - esbuild: 0.27.3 + esbuild: 0.27.2 fs-extra: 10.1.0 globby: 11.1.0 @@ -17087,34 +17074,34 @@ snapshots: '@esbuild/win32-ia32': 0.25.12 '@esbuild/win32-x64': 0.25.12 - esbuild@0.27.3: + esbuild@0.27.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.3 - '@esbuild/android-arm': 0.27.3 - '@esbuild/android-arm64': 0.27.3 - '@esbuild/android-x64': 0.27.3 - '@esbuild/darwin-arm64': 0.27.3 - '@esbuild/darwin-x64': 0.27.3 - '@esbuild/freebsd-arm64': 0.27.3 - '@esbuild/freebsd-x64': 0.27.3 - '@esbuild/linux-arm': 0.27.3 - '@esbuild/linux-arm64': 0.27.3 - '@esbuild/linux-ia32': 0.27.3 - '@esbuild/linux-loong64': 0.27.3 - '@esbuild/linux-mips64el': 0.27.3 - '@esbuild/linux-ppc64': 0.27.3 - '@esbuild/linux-riscv64': 0.27.3 - '@esbuild/linux-s390x': 0.27.3 - '@esbuild/linux-x64': 0.27.3 - '@esbuild/netbsd-arm64': 0.27.3 - '@esbuild/netbsd-x64': 0.27.3 - '@esbuild/openbsd-arm64': 0.27.3 - '@esbuild/openbsd-x64': 0.27.3 - '@esbuild/openharmony-arm64': 0.27.3 - '@esbuild/sunos-x64': 0.27.3 - '@esbuild/win32-arm64': 0.27.3 - '@esbuild/win32-ia32': 0.27.3 - '@esbuild/win32-x64': 0.27.3 + '@esbuild/aix-ppc64': 0.27.2 + '@esbuild/android-arm': 0.27.2 + '@esbuild/android-arm64': 0.27.2 + '@esbuild/android-x64': 0.27.2 + '@esbuild/darwin-arm64': 0.27.2 + '@esbuild/darwin-x64': 0.27.2 + '@esbuild/freebsd-arm64': 0.27.2 + '@esbuild/freebsd-x64': 0.27.2 + '@esbuild/linux-arm': 0.27.2 + '@esbuild/linux-arm64': 0.27.2 + '@esbuild/linux-ia32': 0.27.2 + '@esbuild/linux-loong64': 0.27.2 + '@esbuild/linux-mips64el': 0.27.2 + '@esbuild/linux-ppc64': 0.27.2 + '@esbuild/linux-riscv64': 0.27.2 + '@esbuild/linux-s390x': 0.27.2 + '@esbuild/linux-x64': 0.27.2 + '@esbuild/netbsd-arm64': 0.27.2 + '@esbuild/netbsd-x64': 0.27.2 + '@esbuild/openbsd-arm64': 0.27.2 + '@esbuild/openbsd-x64': 0.27.2 + '@esbuild/openharmony-arm64': 0.27.2 + '@esbuild/sunos-x64': 0.27.2 + '@esbuild/win32-arm64': 0.27.2 + '@esbuild/win32-ia32': 0.27.2 + '@esbuild/win32-x64': 0.27.2 escalade@3.2.0: {} @@ -17139,7 +17126,7 @@ snapshots: eslint-compat-utils@0.5.1(eslint@9.39.3(jiti@2.4.2)): dependencies: eslint: 9.39.3(jiti@2.4.2) - semver: 7.7.4 + semver: 7.6.3 eslint-config-prettier@10.1.5(eslint@9.39.3(jiti@2.4.2)): dependencies: @@ -17160,7 +17147,7 @@ snapshots: dependencies: debug: 3.2.7 is-core-module: 2.16.1 - resolve: 1.22.11 + resolve: 1.22.10 transitivePeerDependencies: - supports-color optional: true @@ -17192,21 +17179,20 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.3(jiti@2.4.2)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2)): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3) eslint: 9.39.3(jiti@2.4.2) - eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.3(jiti@2.4.2)))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2)) transitivePeerDependencies: - supports-color - optional: true eslint-plugin-es-x@7.8.0(eslint@9.39.3(jiti@2.4.2)): dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.3(jiti@2.4.2)) - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/regexpp': 4.12.2 eslint: 9.39.3(jiti@2.4.2) eslint-compat-utils: 0.5.1(eslint@9.39.3(jiti@2.4.2)) @@ -17224,8 +17210,8 @@ snapshots: eslint: 9.39.3(jiti@2.4.2) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) is-glob: 4.0.3 - minimatch: 10.2.4 - semver: 7.7.4 + minimatch: 9.0.6 + semver: 7.7.3 stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: @@ -17245,7 +17231,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.39.3(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.3(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.3(jiti@2.4.2)))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -17316,14 +17302,14 @@ snapshots: eslint-plugin-n@17.24.0(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3): dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.3(jiti@2.4.2)) - enhanced-resolve: 5.20.0 + enhanced-resolve: 5.19.0 eslint: 9.39.3(jiti@2.4.2) eslint-plugin-es-x: 7.8.0(eslint@9.39.3(jiti@2.4.2)) get-tsconfig: 4.13.6 globals: 15.15.0 globrex: 0.1.2 ignore: 5.3.2 - semver: 7.7.4 + semver: 7.6.3 ts-declaration-location: 1.0.7(typescript@5.9.3) transitivePeerDependencies: - typescript @@ -17439,7 +17425,7 @@ snapshots: '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 - ajv: 6.14.0 + ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.0(supports-color@8.1.1) @@ -17590,11 +17576,11 @@ snapshots: fast-safe-stringify@1.2.3: {} - fast-uri@3.1.0: {} + fast-uri@3.0.6: {} fast-xml-parser@5.3.6: dependencies: - strnum: 2.2.0 + strnum: 2.1.2 fastest-levenshtein@1.0.16: {} @@ -17646,9 +17632,9 @@ snapshots: dependencies: flat-cache: 4.0.1 - filelist@1.0.6: + filelist@1.0.4: dependencies: - minimatch: 5.1.9 + minimatch: 5.1.6 fill-range@7.1.1: dependencies: @@ -17794,6 +17780,9 @@ snapshots: fs.realpath@1.0.0: {} + fsevents@2.3.2: + optional: true + fsevents@2.3.3: optional: true @@ -17816,8 +17805,6 @@ snapshots: get-east-asian-width@1.4.0: {} - get-east-asian-width@1.5.0: {} - get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -17885,7 +17872,7 @@ snapshots: dependencies: foreground-child: 3.3.1 jackspeak: 3.4.3 - minimatch: 9.0.9 + minimatch: 9.0.6 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 1.11.1 @@ -17894,7 +17881,7 @@ snapshots: dependencies: foreground-child: 3.3.1 jackspeak: 4.1.1 - minimatch: 10.2.4 + minimatch: 10.1.1 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.0 @@ -17904,7 +17891,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.5 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 @@ -17913,7 +17900,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.1.9 + minimatch: 5.1.6 once: 1.4.0 global-agent@3.0.0: @@ -18009,7 +17996,7 @@ snapshots: cosmiconfig: 8.3.6(typescript@5.9.3) graphql: 16.10.0 jiti: 2.4.2 - minimatch: 9.0.9 + minimatch: 9.0.6 string-env-interpolation: 1.0.1 tslib: 2.8.1 transitivePeerDependencies: @@ -18032,7 +18019,7 @@ snapshots: cosmiconfig: 8.3.6(typescript@5.9.3) graphql: 16.10.0 jiti: 2.4.2 - minimatch: 9.0.9 + minimatch: 9.0.6 string-env-interpolation: 1.0.1 tslib: 2.8.1 transitivePeerDependencies: @@ -18290,10 +18277,10 @@ snapshots: ink@5.0.1(@types/react@18.3.12)(react@18.3.1): dependencies: '@alcalzone/ansi-tokenize': 0.1.3 - ansi-escapes: 7.1.1 + ansi-escapes: 7.2.0 ansi-styles: 6.2.3 auto-bind: 5.0.1 - chalk: 5.6.2 + chalk: 5.4.1 cli-boxes: 3.0.0 cli-cursor: 4.0.0 cli-truncate: 4.0.0 @@ -18428,7 +18415,7 @@ snapshots: is-bun-module@2.0.0: dependencies: - semver: 7.7.4 + semver: 7.7.3 is-callable@1.2.7: {} @@ -18632,7 +18619,7 @@ snapshots: '@babel/parser': 7.28.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.7.4 + semver: 7.7.3 transitivePeerDependencies: - supports-color @@ -18677,7 +18664,7 @@ snapshots: jake@10.9.4: dependencies: async: 3.2.6 - filelist: 1.0.6 + filelist: 1.0.4 picocolors: 1.1.1 jest-diff@26.6.2: @@ -18687,12 +18674,12 @@ snapshots: jest-get-type: 26.3.0 pretty-format: 26.6.2 - jest-diff@30.3.0: + jest-diff@30.2.0: dependencies: - '@jest/diff-sequences': 30.3.0 + '@jest/diff-sequences': 30.0.1 '@jest/get-type': 30.1.0 chalk: 4.1.2 - pretty-format: 30.3.0 + pretty-format: 30.2.0 jest-get-type@26.3.0: {} @@ -18983,7 +18970,7 @@ snapshots: ansi-escapes: 7.1.1 cli-cursor: 5.0.0 slice-ansi: 7.1.2 - strip-ansi: 7.2.0 + strip-ansi: 7.1.0 wrap-ansi: 9.0.2 loglevel@1.9.2: {} @@ -19032,7 +19019,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.7.4 + semver: 7.7.3 make-error@1.3.6: {} @@ -19125,6 +19112,10 @@ snapshots: min-indent@1.0.1: {} + minimatch@10.1.1: + dependencies: + '@isaacs/brace-expansion': 5.0.0 + minimatch@10.2.4: dependencies: brace-expansion: 5.0.4 @@ -19137,11 +19128,11 @@ snapshots: dependencies: brace-expansion: 1.1.12 - minimatch@5.1.9: + minimatch@5.1.6: dependencies: brace-expansion: 2.0.2 - minimatch@7.4.9: + minimatch@7.4.6: dependencies: brace-expansion: 2.0.2 @@ -19157,10 +19148,6 @@ snapshots: dependencies: brace-expansion: 5.0.4 - minimatch@9.0.9: - dependencies: - brace-expansion: 2.0.2 - minimist-options@4.1.0: dependencies: arrify: 1.0.1 @@ -19274,8 +19261,7 @@ snapshots: node-abort-controller@3.1.1: {} - node-addon-api@7.1.1: - optional: true + node-addon-api@7.1.1: {} node-domexception@1.0.0: {} @@ -19295,6 +19281,10 @@ snapshots: node-machine-id@1.1.12: {} + node-pty@1.1.0: + dependencies: + node-addon-api: 7.1.1 + node-releases@2.0.21: {} node-stream-zip@1.15.0: {} @@ -19309,7 +19299,7 @@ snapshots: normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 - semver: 7.7.4 + semver: 7.6.3 validate-npm-package-license: 3.0.4 normalize-path@2.1.1: @@ -19347,7 +19337,7 @@ snapshots: '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.2 '@zkochan/js-yaml': 0.0.7 - axios: 1.13.6 + axios: 1.13.4 chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 @@ -19359,7 +19349,7 @@ snapshots: flat: 5.0.2 front-matter: 4.0.2 ignore: 7.0.5 - jest-diff: 30.3.0 + jest-diff: 30.2.0 jsonc-parser: 3.2.0 lines-and-columns: 2.0.3 minimatch: 9.0.3 @@ -19392,35 +19382,34 @@ snapshots: transitivePeerDependencies: - debug - nx@22.5.4: + nx@22.4.4: dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.2 '@zkochan/js-yaml': 0.0.7 - axios: 1.13.6 + axios: 1.13.4 + chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 cliui: 8.0.1 dotenv: 16.4.7 dotenv-expand: 11.0.7 - ejs: 3.1.10 enquirer: 2.3.6 figures: 3.2.0 flat: 5.0.2 front-matter: 4.0.2 ignore: 7.0.5 - jest-diff: 30.3.0 + jest-diff: 30.2.0 jsonc-parser: 3.2.0 lines-and-columns: 2.0.3 - minimatch: 10.2.4 + minimatch: 10.1.1 node-machine-id: 1.1.12 npm-run-path: 4.0.1 open: 8.4.2 ora: 5.3.0 - picocolors: 1.1.1 resolve.exports: 2.0.3 - semver: 7.7.4 + semver: 7.7.3 string-width: 4.2.3 tar-stream: 2.2.0 tmp: 0.2.5 @@ -19431,16 +19420,16 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 22.5.4 - '@nx/nx-darwin-x64': 22.5.4 - '@nx/nx-freebsd-x64': 22.5.4 - '@nx/nx-linux-arm-gnueabihf': 22.5.4 - '@nx/nx-linux-arm64-gnu': 22.5.4 - '@nx/nx-linux-arm64-musl': 22.5.4 - '@nx/nx-linux-x64-gnu': 22.5.4 - '@nx/nx-linux-x64-musl': 22.5.4 - '@nx/nx-win32-arm64-msvc': 22.5.4 - '@nx/nx-win32-x64-msvc': 22.5.4 + '@nx/nx-darwin-arm64': 22.4.4 + '@nx/nx-darwin-x64': 22.4.4 + '@nx/nx-freebsd-x64': 22.4.4 + '@nx/nx-linux-arm-gnueabihf': 22.4.4 + '@nx/nx-linux-arm64-gnu': 22.4.4 + '@nx/nx-linux-arm64-musl': 22.4.4 + '@nx/nx-linux-x64-gnu': 22.4.4 + '@nx/nx-linux-x64-musl': 22.4.4 + '@nx/nx-win32-arm64-msvc': 22.4.4 + '@nx/nx-win32-x64-msvc': 22.4.4 transitivePeerDependencies: - debug @@ -19483,7 +19472,7 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.24.1 + es-abstract: 1.24.0 optional: true object.values@1.2.1: @@ -19825,6 +19814,14 @@ snapshots: dependencies: find-up: 5.0.0 + playwright-core@1.58.2: {} + + playwright@1.58.2: + dependencies: + playwright-core: 1.58.2 + optionalDependencies: + fsevents: 2.3.2 + pluralize@8.0.0: {} possible-typed-array-names@1.1.0: {} @@ -19852,7 +19849,7 @@ snapshots: ansi-styles: 4.3.0 react-is: 17.0.2 - pretty-format@30.3.0: + pretty-format@30.2.0: dependencies: '@jest/schemas': 30.0.5 ansi-styles: 5.2.0 @@ -20137,7 +20134,7 @@ snapshots: readdir-glob@1.1.3: dependencies: - minimatch: 5.1.9 + minimatch: 5.1.6 readdirp@3.6.0: dependencies: @@ -20263,13 +20260,6 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@1.22.11: - dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - optional: true - resolve@2.0.0-next.5: dependencies: is-core-module: 2.16.1 @@ -20542,7 +20532,15 @@ snapshots: signedsource@1.0.0: {} - simple-git@3.32.3: + simple-git@3.19.1: + dependencies: + '@kwsites/file-exists': 1.1.1 + '@kwsites/promise-deferred': 1.1.1 + debug: 4.4.0(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + simple-git@3.27.0: dependencies: '@kwsites/file-exists': 1.1.1 '@kwsites/promise-deferred': 1.1.1 @@ -20595,7 +20593,7 @@ snapshots: get-stdin: 9.0.0 git-hooks-list: 3.2.0 is-plain-obj: 4.1.0 - semver: 7.7.4 + semver: 7.6.3 sort-object-keys: 1.1.3 tinyglobby: 0.2.15 @@ -20703,7 +20701,7 @@ snapshots: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.2.0 + strip-ansi: 7.1.0 string-width@7.2.0: dependencies: @@ -20711,10 +20709,10 @@ snapshots: get-east-asian-width: 1.4.0 strip-ansi: 7.1.0 - string-width@8.2.0: + string-width@8.1.1: dependencies: - get-east-asian-width: 1.5.0 - strip-ansi: 7.2.0 + get-east-asian-width: 1.4.0 + strip-ansi: 7.1.0 string.prototype.includes@2.0.1: dependencies: @@ -20786,10 +20784,6 @@ snapshots: dependencies: ansi-regex: 6.2.2 - strip-ansi@7.2.0: - dependencies: - ansi-regex: 6.2.2 - strip-bom@3.0.0: {} strip-final-newline@3.0.0: {} @@ -20804,7 +20798,7 @@ snapshots: strip-json-comments@5.0.1: {} - strnum@2.2.0: {} + strnum@2.1.2: {} stubborn-fs@1.2.5: {} @@ -20911,7 +20905,7 @@ snapshots: dependencies: '@istanbuljs/schema': 0.1.3 glob: 10.4.5 - minimatch: 9.0.9 + minimatch: 9.0.6 thenify-all@1.6.0: dependencies: @@ -21645,17 +21639,6 @@ snapshots: gopd: 1.2.0 has-tostringtag: 1.0.2 - which-typed-array@1.1.20: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - for-each: 0.3.5 - get-proto: 1.0.1 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - optional: true - which@2.0.2: dependencies: isexe: 2.0.0 @@ -21702,7 +21685,7 @@ snapshots: dependencies: ansi-styles: 6.2.3 string-width: 5.1.2 - strip-ansi: 7.2.0 + strip-ansi: 7.1.0 wrap-ansi@9.0.2: dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 421fedad98b..e8596419cc3 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -5,6 +5,7 @@ onlyBuiltDependencies: - '@parcel/watcher' - esbuild - msw + - node-pty - nx - protobufjs - yarn From b056dcd7593210698b8b9044e7a7f48846a95dc7 Mon Sep 17 00:00:00 2001 From: Ryan Bahan Date: Thu, 5 Mar 2026 11:20:16 -0700 Subject: [PATCH 2/4] =?UTF-8?q?Restructure=20e2e:=20fixtures/=20=E2=86=92?= =?UTF-8?q?=20setup/,=20cli-process.ts=20=E2=86=92=20cli.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rename the fixtures directory to setup/ to clearly distinguish Playwright fixture definitions from static test data. Rename cli-process.ts to cli.ts for brevity. Co-Authored-By: Claude Opus 4.6 (1M context) --- packages/e2e/{fixtures/cli-process.ts => setup/cli.ts} | 0 packages/e2e/{fixtures => setup}/env.ts | 0 packages/e2e/tests/smoke-pty.spec.ts | 2 +- packages/e2e/tests/smoke.spec.ts | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) rename packages/e2e/{fixtures/cli-process.ts => setup/cli.ts} (100%) rename packages/e2e/{fixtures => setup}/env.ts (100%) diff --git a/packages/e2e/fixtures/cli-process.ts b/packages/e2e/setup/cli.ts similarity index 100% rename from packages/e2e/fixtures/cli-process.ts rename to packages/e2e/setup/cli.ts diff --git a/packages/e2e/fixtures/env.ts b/packages/e2e/setup/env.ts similarity index 100% rename from packages/e2e/fixtures/env.ts rename to packages/e2e/setup/env.ts diff --git a/packages/e2e/tests/smoke-pty.spec.ts b/packages/e2e/tests/smoke-pty.spec.ts index 589c15e0794..3a9f28676f3 100644 --- a/packages/e2e/tests/smoke-pty.spec.ts +++ b/packages/e2e/tests/smoke-pty.spec.ts @@ -1,4 +1,4 @@ -import {cliFixture as test} from '../fixtures/cli-process.js' +import {cliFixture as test} from '../setup/cli.js' import {expect} from '@playwright/test' test.describe('PTY smoke test', () => { diff --git a/packages/e2e/tests/smoke.spec.ts b/packages/e2e/tests/smoke.spec.ts index 5cdf4b8c64a..b64d20520d5 100644 --- a/packages/e2e/tests/smoke.spec.ts +++ b/packages/e2e/tests/smoke.spec.ts @@ -1,4 +1,4 @@ -import {cliFixture as test} from '../fixtures/cli-process.js' +import {cliFixture as test} from '../setup/cli.js' import {expect} from '@playwright/test' test.describe('Smoke test', () => { From 25cfc24e1019ac6868f245be9fd31ce60252a597 Mon Sep 17 00:00:00 2001 From: Ryan Bahan Date: Thu, 5 Mar 2026 11:29:23 -0700 Subject: [PATCH 3/4] Remove unused e2e helpers (wait-for-port, file-edit) Co-Authored-By: Claude Opus 4.6 (1M context) --- packages/e2e/helpers/file-edit.ts | 17 ------------ packages/e2e/helpers/wait-for-port.ts | 38 --------------------------- 2 files changed, 55 deletions(-) delete mode 100644 packages/e2e/helpers/file-edit.ts delete mode 100644 packages/e2e/helpers/wait-for-port.ts diff --git a/packages/e2e/helpers/file-edit.ts b/packages/e2e/helpers/file-edit.ts deleted file mode 100644 index ebf35919bf0..00000000000 --- a/packages/e2e/helpers/file-edit.ts +++ /dev/null @@ -1,17 +0,0 @@ -import * as fs from 'fs' - -/** - * Appends text to a file. Useful for triggering hot reload by modifying source files. - */ -export function appendToFile(filePath: string, text: string): void { - fs.appendFileSync(filePath, text) -} - -/** - * Replaces text in a file. Useful for modifying source files to trigger hot reload. - */ -export function replaceInFile(filePath: string, search: string | RegExp, replacement: string): void { - const content = fs.readFileSync(filePath, 'utf-8') - const updated = content.replace(search, replacement) - fs.writeFileSync(filePath, updated) -} diff --git a/packages/e2e/helpers/wait-for-port.ts b/packages/e2e/helpers/wait-for-port.ts deleted file mode 100644 index 4c75a1e6b3f..00000000000 --- a/packages/e2e/helpers/wait-for-port.ts +++ /dev/null @@ -1,38 +0,0 @@ -import * as net from 'net' - -/** - * Polls until a TCP connection to host:port succeeds, or timeout is reached. - */ -export async function waitForPort(port: number, host = '127.0.0.1', timeoutMs = 30_000): Promise { - const start = Date.now() - const interval = 500 - - while (Date.now() - start < timeoutMs) { - // eslint-disable-next-line no-await-in-loop - const connected = await tryConnect(port, host) - if (connected) return - // eslint-disable-next-line no-await-in-loop - await sleep(interval) - } - - throw new Error(`Timed out after ${timeoutMs}ms waiting for ${host}:${port}`) -} - -function tryConnect(port: number, host: string): Promise { - return new Promise((resolve) => { - const socket = new net.Socket() - socket.once('connect', () => { - socket.destroy() - resolve(true) - }) - socket.once('error', () => { - socket.destroy() - resolve(false) - }) - socket.connect(port, host) - }) -} - -function sleep(ms: number): Promise { - return new Promise((resolve) => setTimeout(resolve, ms)) -} From b6626f69fff6f2a863cc24d0c87f9d8cf2c42e94 Mon Sep 17 00:00:00 2001 From: Ryan Bahan Date: Thu, 5 Mar 2026 12:11:14 -0700 Subject: [PATCH 4/4] retrigger CI --- pnpm-lock.yaml | 500 +++++++++++++++++++++++-------------------------- 1 file changed, 232 insertions(+), 268 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 100d053384a..7b4f7d67149 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,7 +42,7 @@ importers: version: 5.0.2(graphql@16.10.0) '@nx/eslint-plugin': specifier: 22.0.2 - version: 22.0.2(@babel/traverse@7.29.0)(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-config-prettier@10.1.5(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2))(nx@22.4.4)(typescript@5.9.3) + version: 22.0.2(@babel/traverse@7.29.0)(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-config-prettier@10.1.5(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2))(nx@22.5.4)(typescript@5.9.3) '@nx/workspace': specifier: 22.0.2 version: 22.0.2 @@ -77,8 +77,8 @@ importers: specifier: ^9.4.0 version: 9.5.0 esbuild: - specifier: 0.27.2 - version: 0.27.2 + specifier: 0.27.3 + version: 0.27.3 eslint: specifier: ^9.26.0 version: 9.39.3(jiti@2.4.2) @@ -116,8 +116,8 @@ importers: specifier: ^3.3.2 version: 3.3.2 nx: - specifier: 22.4.4 - version: 22.4.4 + specifier: 22.5.4 + version: 22.5.4 oclif: specifier: 4.22.81 version: 4.22.81(@types/node@18.19.70) @@ -156,18 +156,18 @@ importers: version: 3.2.0(graphql@16.10.0) '@luckycatfactory/esbuild-graphql-loader': specifier: 3.8.1 - version: 3.8.1(esbuild@0.27.2)(graphql-tag@2.12.6(graphql@16.10.0))(graphql@16.10.0) + version: 3.8.1(esbuild@0.27.3)(graphql-tag@2.12.6(graphql@16.10.0))(graphql@16.10.0) '@oclif/core': specifier: 4.5.3 version: 4.5.3 '@shopify/cli-kit': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../cli-kit '@shopify/function-runner': specifier: 4.1.1 version: 4.1.1 '@shopify/plugin-cloudflare': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../plugin-cloudflare '@shopify/polaris': specifier: 12.27.0 @@ -176,7 +176,7 @@ importers: specifier: 8.11.1 version: 8.11.1(react@19.2.4) '@shopify/theme': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../theme '@shopify/theme-check-node': specifier: 3.23.0 @@ -197,8 +197,8 @@ importers: specifier: 5.2.2 version: 5.2.2 esbuild: - specifier: 0.27.2 - version: 0.27.2 + specifier: 0.27.3 + version: 0.27.3 express: specifier: 4.21.2 version: 4.21.2 @@ -273,8 +273,8 @@ importers: specifier: 0.33.0 version: 0.33.0 esbuild: - specifier: 0.27.2 - version: 0.27.2 + specifier: 0.27.3 + version: 0.27.3 global-agent: specifier: 3.0.0 version: 3.0.0 @@ -289,22 +289,22 @@ importers: specifier: 5.4.47 version: 5.4.47 '@shopify/app': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../app '@shopify/cli-hydrogen': - specifier: 11.1.5 - version: 11.1.5(@graphql-codegen/cli@5.0.4(@parcel/watcher@2.5.1)(@types/node@24.7.0)(crossws@0.3.5)(enquirer@2.4.1)(graphql@16.10.0)(typescript@5.9.3))(graphql-config@5.1.5(@types/node@24.7.0)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3))(graphql@16.10.0)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.1(@types/node@24.7.0)(jiti@2.4.2)(sass@1.89.1)(yaml@2.8.2)) + specifier: 11.1.10 + version: 11.1.10(@graphql-codegen/cli@5.0.4(@parcel/watcher@2.5.1)(@types/node@24.7.0)(crossws@0.3.5)(enquirer@2.4.1)(graphql@16.10.0)(typescript@5.9.3))(graphql-config@5.1.5(@types/node@24.7.0)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3))(graphql@16.10.0)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.1(@types/node@24.7.0)(jiti@2.4.2)(sass@1.89.1)(yaml@2.8.2)) '@shopify/cli-kit': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../cli-kit '@shopify/plugin-cloudflare': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../plugin-cloudflare '@shopify/plugin-did-you-mean': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../plugin-did-you-mean '@shopify/theme': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../theme '@types/global-agent': specifier: 3.0.0 @@ -314,7 +314,7 @@ importers: version: 3.2.1(vitest@3.2.1(@types/node@24.7.0)(jiti@2.4.2)(jsdom@20.0.3)(msw@2.8.7(@types/node@24.7.0)(typescript@5.9.3))(sass@1.89.1)(yaml@2.8.2)) esbuild-plugin-copy: specifier: ^2.1.1 - version: 2.1.1(esbuild@0.27.2) + version: 2.1.1(esbuild@0.27.3) packages/cli-kit: dependencies: @@ -351,12 +351,15 @@ importers: '@opentelemetry/semantic-conventions': specifier: 1.28.0 version: 1.28.0 + '@shopify/toml-patch': + specifier: 0.3.0 + version: 0.3.0 '@types/archiver': specifier: 5.3.2 version: 5.3.2 ajv: - specifier: 8.17.1 - version: 8.17.1 + specifier: 8.18.0 + version: 8.18.0 ansi-escapes: specifier: 6.2.1 version: 6.2.1 @@ -484,8 +487,8 @@ importers: specifier: 7.6.3 version: 7.6.3 simple-git: - specifier: 3.27.0 - version: 3.27.0 + specifier: 3.32.3 + version: 3.32.3 stacktracey: specifier: 2.1.8 version: 2.1.8 @@ -557,21 +560,21 @@ importers: packages/create-app: dependencies: esbuild: - specifier: 0.27.2 - version: 0.27.2 + specifier: 0.27.3 + version: 0.27.3 devDependencies: '@shopify/app': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../app '@shopify/cli-kit': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../cli-kit '@vitest/coverage-istanbul': specifier: ^3.1.4 version: 3.2.1(vitest@3.2.1(@types/node@24.7.0)(jiti@2.4.2)(jsdom@20.0.3)(msw@2.8.7(@types/node@24.7.0)(typescript@5.9.3))(sass@1.89.1)(yaml@2.8.2)) esbuild-plugin-copy: specifier: ^2.1.1 - version: 2.1.1(esbuild@0.27.2) + version: 2.1.1(esbuild@0.27.3) packages/e2e: devDependencies: @@ -685,7 +688,7 @@ importers: specifier: 4.5.3 version: 4.5.3 '@shopify/cli-kit': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../cli-kit devDependencies: '@vitest/coverage-istanbul': @@ -698,7 +701,7 @@ importers: specifier: 4.5.3 version: 4.5.3 '@shopify/cli-kit': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../cli-kit n-gram: specifier: 2.0.2 @@ -714,7 +717,7 @@ importers: specifier: 4.5.3 version: 4.5.3 '@shopify/cli-kit': - specifier: 3.91.0 + specifier: 3.92.0 version: link:../cli-kit '@shopify/theme-check-node': specifier: 3.23.0 @@ -857,8 +860,8 @@ importers: specifier: ^2.0.6 version: 2.0.6 simple-git: - specifier: 3.19.1 - version: 3.19.1 + specifier: 3.32.3 + version: 3.32.3 tempy: specifier: 3.0.0 version: 3.0.0 @@ -2025,8 +2028,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.2': - resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + '@esbuild/aix-ppc64@0.27.3': + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -2037,8 +2040,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.2': - resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + '@esbuild/android-arm64@0.27.3': + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -2049,8 +2052,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.2': - resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + '@esbuild/android-arm@0.27.3': + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -2061,8 +2064,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.2': - resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + '@esbuild/android-x64@0.27.3': + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -2073,8 +2076,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.2': - resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + '@esbuild/darwin-arm64@0.27.3': + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -2085,8 +2088,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.2': - resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + '@esbuild/darwin-x64@0.27.3': + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -2097,8 +2100,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.2': - resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + '@esbuild/freebsd-arm64@0.27.3': + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -2109,8 +2112,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': - resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + '@esbuild/freebsd-x64@0.27.3': + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -2121,8 +2124,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.2': - resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + '@esbuild/linux-arm64@0.27.3': + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -2133,8 +2136,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.2': - resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + '@esbuild/linux-arm@0.27.3': + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -2145,8 +2148,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.2': - resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + '@esbuild/linux-ia32@0.27.3': + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -2157,8 +2160,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.2': - resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + '@esbuild/linux-loong64@0.27.3': + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -2169,8 +2172,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.2': - resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + '@esbuild/linux-mips64el@0.27.3': + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -2181,8 +2184,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.2': - resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + '@esbuild/linux-ppc64@0.27.3': + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -2193,8 +2196,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.2': - resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + '@esbuild/linux-riscv64@0.27.3': + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -2205,8 +2208,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.2': - resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + '@esbuild/linux-s390x@0.27.3': + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -2217,8 +2220,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.2': - resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + '@esbuild/linux-x64@0.27.3': + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -2229,8 +2232,8 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.2': - resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + '@esbuild/netbsd-arm64@0.27.3': + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -2241,8 +2244,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': - resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + '@esbuild/netbsd-x64@0.27.3': + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -2253,8 +2256,8 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.2': - resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + '@esbuild/openbsd-arm64@0.27.3': + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -2265,8 +2268,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': - resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + '@esbuild/openbsd-x64@0.27.3': + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -2277,8 +2280,8 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.27.2': - resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + '@esbuild/openharmony-arm64@0.27.3': + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] @@ -2289,8 +2292,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.2': - resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + '@esbuild/sunos-x64@0.27.3': + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -2301,8 +2304,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.2': - resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + '@esbuild/win32-arm64@0.27.3': + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -2313,8 +2316,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.2': - resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + '@esbuild/win32-ia32@0.27.3': + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -2325,8 +2328,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.2': - resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + '@esbuild/win32-x64@0.27.3': + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -3297,8 +3300,8 @@ packages: cpu: [arm64] os: [darwin] - '@nx/nx-darwin-arm64@22.4.4': - resolution: {integrity: sha512-8PriHolYLRccIhiU8QLotv5ypiO8TYGzH23CODtM+ZbZmyQMxHN7w3LTQJjR/hBvYNU93fP9+WY/NLgJo8jkxw==} + '@nx/nx-darwin-arm64@22.5.4': + resolution: {integrity: sha512-Ib9znwSLQZSZ/9hhg5ODplpNhE/RhGVXzdfRj6YonTuWSj/kH3dLMio+4JEkjRdTQVm06cDW0KdwSgnwovqMGg==} cpu: [arm64] os: [darwin] @@ -3307,8 +3310,8 @@ packages: cpu: [x64] os: [darwin] - '@nx/nx-darwin-x64@22.4.4': - resolution: {integrity: sha512-O+tFKFSVJCFUTJclIr0OJaZ86ztoDWS6Y9ipXVg+EfzT8AbGp+RIz1t6qjDvgZNWFkKViCsuZ2mHJOu+5/R5fw==} + '@nx/nx-darwin-x64@22.5.4': + resolution: {integrity: sha512-DjyXuQMc93MPU2XdRsJYjzbv1tgCzMi+zm7O0gc4x3h+ECFjKkjzQBg67pqGdhE3TV27MAlVRKrgHStyK9iigg==} cpu: [x64] os: [darwin] @@ -3317,8 +3320,8 @@ packages: cpu: [x64] os: [freebsd] - '@nx/nx-freebsd-x64@22.4.4': - resolution: {integrity: sha512-9nsGPR7xpRSFBYOrQhxokVhb5chy0Rq6zIWoXec6LrUjsHSWM5lvdfkUlQHG1DbZIimTzqIGUHK92OVb7X6tJw==} + '@nx/nx-freebsd-x64@22.5.4': + resolution: {integrity: sha512-DhxdP8AhIfN0yCtFhZQcbp32MVN3L7UiTotYqqnOgwW922NRGSd5e+KEAWiJVrIO6TdgnI7prxpg1hfQQK0WDw==} cpu: [x64] os: [freebsd] @@ -3327,8 +3330,8 @@ packages: cpu: [arm] os: [linux] - '@nx/nx-linux-arm-gnueabihf@22.4.4': - resolution: {integrity: sha512-0m4j0KYnIw4SERorUxhpckDxn0zvohh7RbdKNMUzyw98Fl7n++n2yiLA6YS51y29tLzY/j4OqzMDT9BFjqZbUQ==} + '@nx/nx-linux-arm-gnueabihf@22.5.4': + resolution: {integrity: sha512-pv1x1afTaLAOxPxVhQneLeXgjclp11f9ORxR7jA4E86bSgc9OL92dLSCkXtLQzqPNOej6SZ2fO+PPHVMZwtaPQ==} cpu: [arm] os: [linux] @@ -3337,8 +3340,8 @@ packages: cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-gnu@22.4.4': - resolution: {integrity: sha512-vsCz2A2uHL5I8GzQW8X2/IlW+lIoyOUVgcSviZA6P1UFFOKOxAlVUsKvGZlfyTEwK9LDnH5zYclUrimxNEwYVw==} + '@nx/nx-linux-arm64-gnu@22.5.4': + resolution: {integrity: sha512-mPji9PzleWPvXpmFDKaXpTymRgZkk/hW8JHGhvEZpKHHXMYgTGWC+BqOEM2A4dYC4bu4fi9RrteL7aouRRWJoQ==} cpu: [arm64] os: [linux] @@ -3347,8 +3350,8 @@ packages: cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@22.4.4': - resolution: {integrity: sha512-Jj0bqoB9a2iqHycVM6NY0OkU3np6yshFTcggteEH3jWQ5iSgO3E6O00rfwGx8mrMT8GfpCyQGLS5Q1HW79zKzQ==} + '@nx/nx-linux-arm64-musl@22.5.4': + resolution: {integrity: sha512-hF/HvEhbCjcFpTgY7RbP1tUTbp0M1adZq4ckyW8mwhDWQ/MDsc8FnOHwCO3Bzy9ZeJM0zQUES6/m0Onz8geaEA==} cpu: [arm64] os: [linux] @@ -3357,8 +3360,8 @@ packages: cpu: [x64] os: [linux] - '@nx/nx-linux-x64-gnu@22.4.4': - resolution: {integrity: sha512-2pMPaFae59j/Erop/LCWPr7xxT4NcY7CR9b5GJ+Dfz1Wv3wE9jE66tp2qFaH36Igso9r0Khf6rPrSCLaO+0QgQ==} + '@nx/nx-linux-x64-gnu@22.5.4': + resolution: {integrity: sha512-1+vicSYEOtc7CNMoRCjo59no4gFe8w2nGIT127wk1yeW3EJzRVNlOA7Deu10NUUbzLeOvHc8EFOaU7clT+F7XQ==} cpu: [x64] os: [linux] @@ -3367,8 +3370,8 @@ packages: cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@22.4.4': - resolution: {integrity: sha512-8Rnhrk2eWZfVs1Db5K15JGiis8h8v1w2avHlp4abJVJ+j1Sa0a1OWexBz2X0WkjYh/LcgRTzYBrE8+BV4yCPMw==} + '@nx/nx-linux-x64-musl@22.5.4': + resolution: {integrity: sha512-/KjndxVB14yU0SJOhqADHOWoTy4Y45h5RjW3cxcXlPSJZz7ar1FnlLne1rWMMMUttepc8ku+3T//SGKi2eu+Nw==} cpu: [x64] os: [linux] @@ -3377,8 +3380,8 @@ packages: cpu: [arm64] os: [win32] - '@nx/nx-win32-arm64-msvc@22.4.4': - resolution: {integrity: sha512-e32okeoiaFSjfcZYj+uBdPRSzANAXLnh6D0k3isZ7stJnUtJ2hy5Kz5RCk10ddwdQgUn34sNz1oL2yFhXVWU4w==} + '@nx/nx-win32-arm64-msvc@22.5.4': + resolution: {integrity: sha512-CrYt9FwhjOI6ZNy/G6YHLJmZuXCFJ24BCxugPXiZ7knDx7eGrr7owGgfht4SSiK3KCX40CvWCBJfqR4ZSgaSUA==} cpu: [arm64] os: [win32] @@ -3387,8 +3390,8 @@ packages: cpu: [x64] os: [win32] - '@nx/nx-win32-x64-msvc@22.4.4': - resolution: {integrity: sha512-Jb8YsA7/GKGWWg2RkaDJQalaOpiQCPb57PtxNV5Ai7bsapM/7g/OfwenZXfH32FUoCT4yPVrnrKdjqbBHdEkxA==} + '@nx/nx-win32-x64-msvc@22.5.4': + resolution: {integrity: sha512-g5YByv4XsYwsYZvFe24A9bvfhZA+mwtIQt6qZtEVduZTT1hfhIsq0LXGHhkGoFLYwRMXSracWOqkalY0KT4IQw==} cpu: [x64] os: [win32] @@ -3954,15 +3957,15 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@shopify/cli-hydrogen@11.1.5': - resolution: {integrity: sha512-KnyKdJ2EZI44YzRK8mWifP7g0ndm3Q9daPdq2da84EnXpZ+a7AHSruud95b1fANawVBoK7i6RIeDrgcwmri0NA==} - engines: {node: '>=18.0.0'} + '@shopify/cli-hydrogen@11.1.10': + resolution: {integrity: sha512-MEnTbWVeNMeV/0dawod4y2AuhhFFLlwpaYzbaqQXJ2HMm20g+bPoOogqSnGF04DoySIT9nEVXI9CXm/TgBsvoA==} + engines: {node: ^20 || ^22 || ^24} hasBin: true peerDependencies: '@graphql-codegen/cli': ^5.0.2 - '@react-router/dev': 7.9.2 - '@shopify/hydrogen-codegen': ^0.3.3 - '@shopify/mini-oxygen': ^4.0.0 + '@react-router/dev': 7.12.0 + '@shopify/hydrogen-codegen': 0.3.3 + '@shopify/mini-oxygen': 4.0.1 graphql-config: ^5.0.3 vite: 6.4.1 peerDependenciesMeta: @@ -4920,17 +4923,14 @@ packages: ajv: optional: true - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@6.14.0: resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + ajv@8.18.0: + resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -4948,10 +4948,6 @@ packages: resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} engines: {node: '>=14.16'} - ansi-escapes@7.1.1: - resolution: {integrity: sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==} - engines: {node: '>=18'} - ansi-escapes@7.2.0: resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==} engines: {node: '>=18'} @@ -6067,8 +6063,8 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.27.2: - resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + esbuild@0.27.3: + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} engines: {node: '>=18'} hasBin: true @@ -6547,10 +6543,6 @@ packages: resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} - form-data@4.0.5: - resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} - engines: {node: '>= 6'} - formatly@0.2.4: resolution: {integrity: sha512-lIN7GpcvX/l/i24r/L9bnJ0I8Qn01qijWpQpDDvTLL29nKqSaJJu4h20+7VJ6m2CAhQ2/En/GbxDiHCzq/0MyA==} engines: {node: '>=18.3.0'} @@ -8122,12 +8114,12 @@ packages: '@swc/core': optional: true - nx@22.4.4: - resolution: {integrity: sha512-+eIIuRKltZ1hWcaB691aEdsRl4FRJ9qaaIZ2J6U2i4maRbBde8HJZ9m/EJt3i3IrYhdLpnl7QcXyTHzP3eW2jw==} + nx@22.5.4: + resolution: {integrity: sha512-L8wL7uCjnmpyvq4r2mN9s+oriUE4lY+mX9VgOpjj0ucRd5nzaEaBQppVs0zQGkbKC0BnHS8PGtnAglspd5Gh1Q==} hasBin: true peerDependencies: - '@swc-node/register': ^1.8.0 - '@swc/core': ^1.3.85 + '@swc-node/register': ^1.11.1 + '@swc/core': ^1.15.8 peerDependenciesMeta: '@swc-node/register': optional: true @@ -9081,11 +9073,8 @@ packages: signedsource@1.0.0: resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} - simple-git@3.19.1: - resolution: {integrity: sha512-Ck+rcjVaE1HotraRAS8u/+xgTvToTuoMkT9/l9lvuP5jftwnYUp6DwuJzsKErHgfyRk8IB8pqGHWEbM3tLgV1w==} - - simple-git@3.27.0: - resolution: {integrity: sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==} + simple-git@3.32.3: + resolution: {integrity: sha512-56a5oxFdWlsGygOXHWrG+xjj5w9ZIt2uQbzqiIGdR/6i5iococ7WQ/bNPzWxCJdEUGUCmyMH0t9zMpRJTaKxmw==} simple-swizzle@0.2.4: resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} @@ -12017,157 +12006,157 @@ snapshots: '@esbuild/aix-ppc64@0.25.12': optional: true - '@esbuild/aix-ppc64@0.27.2': + '@esbuild/aix-ppc64@0.27.3': optional: true '@esbuild/android-arm64@0.25.12': optional: true - '@esbuild/android-arm64@0.27.2': + '@esbuild/android-arm64@0.27.3': optional: true '@esbuild/android-arm@0.25.12': optional: true - '@esbuild/android-arm@0.27.2': + '@esbuild/android-arm@0.27.3': optional: true '@esbuild/android-x64@0.25.12': optional: true - '@esbuild/android-x64@0.27.2': + '@esbuild/android-x64@0.27.3': optional: true '@esbuild/darwin-arm64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.27.2': + '@esbuild/darwin-arm64@0.27.3': optional: true '@esbuild/darwin-x64@0.25.12': optional: true - '@esbuild/darwin-x64@0.27.2': + '@esbuild/darwin-x64@0.27.3': optional: true '@esbuild/freebsd-arm64@0.25.12': optional: true - '@esbuild/freebsd-arm64@0.27.2': + '@esbuild/freebsd-arm64@0.27.3': optional: true '@esbuild/freebsd-x64@0.25.12': optional: true - '@esbuild/freebsd-x64@0.27.2': + '@esbuild/freebsd-x64@0.27.3': optional: true '@esbuild/linux-arm64@0.25.12': optional: true - '@esbuild/linux-arm64@0.27.2': + '@esbuild/linux-arm64@0.27.3': optional: true '@esbuild/linux-arm@0.25.12': optional: true - '@esbuild/linux-arm@0.27.2': + '@esbuild/linux-arm@0.27.3': optional: true '@esbuild/linux-ia32@0.25.12': optional: true - '@esbuild/linux-ia32@0.27.2': + '@esbuild/linux-ia32@0.27.3': optional: true '@esbuild/linux-loong64@0.25.12': optional: true - '@esbuild/linux-loong64@0.27.2': + '@esbuild/linux-loong64@0.27.3': optional: true '@esbuild/linux-mips64el@0.25.12': optional: true - '@esbuild/linux-mips64el@0.27.2': + '@esbuild/linux-mips64el@0.27.3': optional: true '@esbuild/linux-ppc64@0.25.12': optional: true - '@esbuild/linux-ppc64@0.27.2': + '@esbuild/linux-ppc64@0.27.3': optional: true '@esbuild/linux-riscv64@0.25.12': optional: true - '@esbuild/linux-riscv64@0.27.2': + '@esbuild/linux-riscv64@0.27.3': optional: true '@esbuild/linux-s390x@0.25.12': optional: true - '@esbuild/linux-s390x@0.27.2': + '@esbuild/linux-s390x@0.27.3': optional: true '@esbuild/linux-x64@0.25.12': optional: true - '@esbuild/linux-x64@0.27.2': + '@esbuild/linux-x64@0.27.3': optional: true '@esbuild/netbsd-arm64@0.25.12': optional: true - '@esbuild/netbsd-arm64@0.27.2': + '@esbuild/netbsd-arm64@0.27.3': optional: true '@esbuild/netbsd-x64@0.25.12': optional: true - '@esbuild/netbsd-x64@0.27.2': + '@esbuild/netbsd-x64@0.27.3': optional: true '@esbuild/openbsd-arm64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.27.2': + '@esbuild/openbsd-arm64@0.27.3': optional: true '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/openbsd-x64@0.27.2': + '@esbuild/openbsd-x64@0.27.3': optional: true '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.27.2': + '@esbuild/openharmony-arm64@0.27.3': optional: true '@esbuild/sunos-x64@0.25.12': optional: true - '@esbuild/sunos-x64@0.27.2': + '@esbuild/sunos-x64@0.27.3': optional: true '@esbuild/win32-arm64@0.25.12': optional: true - '@esbuild/win32-arm64@0.27.2': + '@esbuild/win32-arm64@0.27.3': optional: true '@esbuild/win32-ia32@0.25.12': optional: true - '@esbuild/win32-ia32@0.27.2': + '@esbuild/win32-ia32@0.27.3': optional: true '@esbuild/win32-x64@0.25.12': optional: true - '@esbuild/win32-x64@0.27.2': + '@esbuild/win32-x64@0.27.3': optional: true '@eslint-community/eslint-utils@4.9.0(eslint@9.39.3(jiti@2.4.2))': @@ -13583,9 +13572,9 @@ snapshots: '@kwsites/promise-deferred@1.1.1': {} - '@luckycatfactory/esbuild-graphql-loader@3.8.1(esbuild@0.27.2)(graphql-tag@2.12.6(graphql@16.10.0))(graphql@16.10.0)': + '@luckycatfactory/esbuild-graphql-loader@3.8.1(esbuild@0.27.3)(graphql-tag@2.12.6(graphql@16.10.0))(graphql@16.10.0)': dependencies: - esbuild: 0.27.2 + esbuild: 0.27.3 graphql: 16.10.0 graphql-tag: 2.12.6(graphql@16.10.0) @@ -13659,21 +13648,21 @@ snapshots: tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/devkit@22.0.2(nx@22.4.4)': + '@nx/devkit@22.0.2(nx@22.5.4)': dependencies: '@zkochan/js-yaml': 0.0.7 ejs: 3.1.10 enquirer: 2.3.6 minimatch: 9.0.3 - nx: 22.4.4 + nx: 22.5.4 semver: 7.6.3 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/eslint-plugin@22.0.2(@babel/traverse@7.29.0)(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-config-prettier@10.1.5(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2))(nx@22.4.4)(typescript@5.9.3)': + '@nx/eslint-plugin@22.0.2(@babel/traverse@7.29.0)(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3))(eslint-config-prettier@10.1.5(eslint@9.39.3(jiti@2.4.2)))(eslint@9.39.3(jiti@2.4.2))(nx@22.5.4)(typescript@5.9.3)': dependencies: - '@nx/devkit': 22.0.2(nx@22.4.4) - '@nx/js': 22.0.2(@babel/traverse@7.29.0)(nx@22.4.4) + '@nx/devkit': 22.0.2(nx@22.5.4) + '@nx/js': 22.0.2(@babel/traverse@7.29.0)(nx@22.5.4) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.9.3) '@typescript-eslint/parser': 8.56.1(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3) '@typescript-eslint/type-utils': 8.43.0(eslint@9.39.3(jiti@2.4.2))(typescript@5.9.3) @@ -13697,7 +13686,7 @@ snapshots: - typescript - verdaccio - '@nx/js@22.0.2(@babel/traverse@7.29.0)(nx@22.4.4)': + '@nx/js@22.0.2(@babel/traverse@7.29.0)(nx@22.5.4)': dependencies: '@babel/core': 7.27.4 '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.27.4) @@ -13706,7 +13695,7 @@ snapshots: '@babel/preset-env': 7.28.3(@babel/core@7.27.4) '@babel/preset-typescript': 7.27.1(@babel/core@7.27.4) '@babel/runtime': 7.28.4 - '@nx/devkit': 22.0.2(nx@22.4.4) + '@nx/devkit': 22.0.2(nx@22.5.4) '@nx/workspace': 22.0.2 '@zkochan/js-yaml': 0.0.7 babel-plugin-const-enum: 1.2.0(@babel/core@7.27.4) @@ -13736,61 +13725,61 @@ snapshots: '@nx/nx-darwin-arm64@22.0.2': optional: true - '@nx/nx-darwin-arm64@22.4.4': + '@nx/nx-darwin-arm64@22.5.4': optional: true '@nx/nx-darwin-x64@22.0.2': optional: true - '@nx/nx-darwin-x64@22.4.4': + '@nx/nx-darwin-x64@22.5.4': optional: true '@nx/nx-freebsd-x64@22.0.2': optional: true - '@nx/nx-freebsd-x64@22.4.4': + '@nx/nx-freebsd-x64@22.5.4': optional: true '@nx/nx-linux-arm-gnueabihf@22.0.2': optional: true - '@nx/nx-linux-arm-gnueabihf@22.4.4': + '@nx/nx-linux-arm-gnueabihf@22.5.4': optional: true '@nx/nx-linux-arm64-gnu@22.0.2': optional: true - '@nx/nx-linux-arm64-gnu@22.4.4': + '@nx/nx-linux-arm64-gnu@22.5.4': optional: true '@nx/nx-linux-arm64-musl@22.0.2': optional: true - '@nx/nx-linux-arm64-musl@22.4.4': + '@nx/nx-linux-arm64-musl@22.5.4': optional: true '@nx/nx-linux-x64-gnu@22.0.2': optional: true - '@nx/nx-linux-x64-gnu@22.4.4': + '@nx/nx-linux-x64-gnu@22.5.4': optional: true '@nx/nx-linux-x64-musl@22.0.2': optional: true - '@nx/nx-linux-x64-musl@22.4.4': + '@nx/nx-linux-x64-musl@22.5.4': optional: true '@nx/nx-win32-arm64-msvc@22.0.2': optional: true - '@nx/nx-win32-arm64-msvc@22.4.4': + '@nx/nx-win32-arm64-msvc@22.5.4': optional: true '@nx/nx-win32-x64-msvc@22.0.2': optional: true - '@nx/nx-win32-x64-msvc@22.4.4': + '@nx/nx-win32-x64-msvc@22.5.4': optional: true '@nx/workspace@22.0.2': @@ -14400,7 +14389,7 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} - '@shopify/cli-hydrogen@11.1.5(@graphql-codegen/cli@5.0.4(@parcel/watcher@2.5.1)(@types/node@24.7.0)(crossws@0.3.5)(enquirer@2.4.1)(graphql@16.10.0)(typescript@5.9.3))(graphql-config@5.1.5(@types/node@24.7.0)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3))(graphql@16.10.0)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.1(@types/node@24.7.0)(jiti@2.4.2)(sass@1.89.1)(yaml@2.8.2))': + '@shopify/cli-hydrogen@11.1.10(@graphql-codegen/cli@5.0.4(@parcel/watcher@2.5.1)(@types/node@24.7.0)(crossws@0.3.5)(enquirer@2.4.1)(graphql@16.10.0)(typescript@5.9.3))(graphql-config@5.1.5(@types/node@24.7.0)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3))(graphql@16.10.0)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.1(@types/node@24.7.0)(jiti@2.4.2)(sass@1.89.1)(yaml@2.8.2))': dependencies: '@ast-grep/napi': 0.34.1 '@oclif/core': 3.26.5 @@ -14411,11 +14400,12 @@ snapshots: chokidar: 3.5.3 cli-truncate: 4.0.0 diff: 5.2.2 + esbuild: 0.25.12 get-east-asian-width: 1.4.0 get-port: 7.1.0 gunzip-maybe: 1.4.2 - prettier: 2.8.8 - semver: 7.7.3 + prettier: 3.7.4 + semver: 7.7.4 source-map: 0.7.4 source-map-support: 0.5.21 tar-fs: 2.1.4 @@ -15757,16 +15747,9 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ajv-formats@2.1.1(ajv@8.17.1): + ajv-formats@2.1.1(ajv@8.18.0): optionalDependencies: - ajv: 8.17.1 - - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 + ajv: 8.18.0 ajv@6.14.0: dependencies: @@ -15782,7 +15765,7 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 - ajv@8.17.1: + ajv@8.18.0: dependencies: fast-deep-equal: 3.1.3 fast-uri: 3.0.6 @@ -15801,10 +15784,6 @@ snapshots: ansi-escapes@6.2.1: {} - ansi-escapes@7.1.1: - dependencies: - environment: 1.1.0 - ansi-escapes@7.2.0: dependencies: environment: 1.1.0 @@ -16012,7 +15991,7 @@ snapshots: axios@1.13.4: dependencies: follow-redirects: 1.15.11 - form-data: 4.0.5 + form-data: 4.0.4 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -16537,8 +16516,8 @@ snapshots: conf@11.0.2: dependencies: - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) + ajv: 8.18.0 + ajv-formats: 2.1.1(ajv@8.18.0) atomically: 2.0.3 debounce-fn: 5.1.2 dot-prop: 7.2.0 @@ -17037,11 +17016,11 @@ snapshots: es6-error@4.1.1: {} - esbuild-plugin-copy@2.1.1(esbuild@0.27.2): + esbuild-plugin-copy@2.1.1(esbuild@0.27.3): dependencies: chalk: 4.1.2 chokidar: 3.6.0 - esbuild: 0.27.2 + esbuild: 0.27.3 fs-extra: 10.1.0 globby: 11.1.0 @@ -17074,34 +17053,34 @@ snapshots: '@esbuild/win32-ia32': 0.25.12 '@esbuild/win32-x64': 0.25.12 - esbuild@0.27.2: + esbuild@0.27.3: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.2 - '@esbuild/android-arm': 0.27.2 - '@esbuild/android-arm64': 0.27.2 - '@esbuild/android-x64': 0.27.2 - '@esbuild/darwin-arm64': 0.27.2 - '@esbuild/darwin-x64': 0.27.2 - '@esbuild/freebsd-arm64': 0.27.2 - '@esbuild/freebsd-x64': 0.27.2 - '@esbuild/linux-arm': 0.27.2 - '@esbuild/linux-arm64': 0.27.2 - '@esbuild/linux-ia32': 0.27.2 - '@esbuild/linux-loong64': 0.27.2 - '@esbuild/linux-mips64el': 0.27.2 - '@esbuild/linux-ppc64': 0.27.2 - '@esbuild/linux-riscv64': 0.27.2 - '@esbuild/linux-s390x': 0.27.2 - '@esbuild/linux-x64': 0.27.2 - '@esbuild/netbsd-arm64': 0.27.2 - '@esbuild/netbsd-x64': 0.27.2 - '@esbuild/openbsd-arm64': 0.27.2 - '@esbuild/openbsd-x64': 0.27.2 - '@esbuild/openharmony-arm64': 0.27.2 - '@esbuild/sunos-x64': 0.27.2 - '@esbuild/win32-arm64': 0.27.2 - '@esbuild/win32-ia32': 0.27.2 - '@esbuild/win32-x64': 0.27.2 + '@esbuild/aix-ppc64': 0.27.3 + '@esbuild/android-arm': 0.27.3 + '@esbuild/android-arm64': 0.27.3 + '@esbuild/android-x64': 0.27.3 + '@esbuild/darwin-arm64': 0.27.3 + '@esbuild/darwin-x64': 0.27.3 + '@esbuild/freebsd-arm64': 0.27.3 + '@esbuild/freebsd-x64': 0.27.3 + '@esbuild/linux-arm': 0.27.3 + '@esbuild/linux-arm64': 0.27.3 + '@esbuild/linux-ia32': 0.27.3 + '@esbuild/linux-loong64': 0.27.3 + '@esbuild/linux-mips64el': 0.27.3 + '@esbuild/linux-ppc64': 0.27.3 + '@esbuild/linux-riscv64': 0.27.3 + '@esbuild/linux-s390x': 0.27.3 + '@esbuild/linux-x64': 0.27.3 + '@esbuild/netbsd-arm64': 0.27.3 + '@esbuild/netbsd-x64': 0.27.3 + '@esbuild/openbsd-arm64': 0.27.3 + '@esbuild/openbsd-x64': 0.27.3 + '@esbuild/openharmony-arm64': 0.27.3 + '@esbuild/sunos-x64': 0.27.3 + '@esbuild/win32-arm64': 0.27.3 + '@esbuild/win32-ia32': 0.27.3 + '@esbuild/win32-x64': 0.27.3 escalade@3.2.0: {} @@ -17425,7 +17404,7 @@ snapshots: '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 - ajv: 6.12.6 + ajv: 6.14.0 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.0(supports-color@8.1.1) @@ -17721,14 +17700,6 @@ snapshots: hasown: 2.0.2 mime-types: 2.1.35 - form-data@4.0.5: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.2 - mime-types: 2.1.35 - formatly@0.2.4: dependencies: fd-package-json: 2.0.0 @@ -18415,7 +18386,7 @@ snapshots: is-bun-module@2.0.0: dependencies: - semver: 7.7.3 + semver: 7.7.4 is-callable@1.2.7: {} @@ -18967,7 +18938,7 @@ snapshots: log-update@6.1.0: dependencies: - ansi-escapes: 7.1.1 + ansi-escapes: 7.2.0 cli-cursor: 5.0.0 slice-ansi: 7.1.2 strip-ansi: 7.1.0 @@ -19019,7 +18990,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.7.3 + semver: 7.6.3 make-error@1.3.6: {} @@ -19382,19 +19353,19 @@ snapshots: transitivePeerDependencies: - debug - nx@22.4.4: + nx@22.5.4: dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.2 '@zkochan/js-yaml': 0.0.7 axios: 1.13.4 - chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 cliui: 8.0.1 dotenv: 16.4.7 dotenv-expand: 11.0.7 + ejs: 3.1.10 enquirer: 2.3.6 figures: 3.2.0 flat: 5.0.2 @@ -19403,33 +19374,34 @@ snapshots: jest-diff: 30.2.0 jsonc-parser: 3.2.0 lines-and-columns: 2.0.3 - minimatch: 10.1.1 + minimatch: 10.2.4 node-machine-id: 1.1.12 npm-run-path: 4.0.1 open: 8.4.2 ora: 5.3.0 + picocolors: 1.1.1 resolve.exports: 2.0.3 - semver: 7.7.3 + semver: 7.6.3 string-width: 4.2.3 tar-stream: 2.2.0 tmp: 0.2.5 tree-kill: 1.2.2 tsconfig-paths: 4.2.0 tslib: 2.8.1 - yaml: 2.8.2 + yaml: 2.7.0 yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 22.4.4 - '@nx/nx-darwin-x64': 22.4.4 - '@nx/nx-freebsd-x64': 22.4.4 - '@nx/nx-linux-arm-gnueabihf': 22.4.4 - '@nx/nx-linux-arm64-gnu': 22.4.4 - '@nx/nx-linux-arm64-musl': 22.4.4 - '@nx/nx-linux-x64-gnu': 22.4.4 - '@nx/nx-linux-x64-musl': 22.4.4 - '@nx/nx-win32-arm64-msvc': 22.4.4 - '@nx/nx-win32-x64-msvc': 22.4.4 + '@nx/nx-darwin-arm64': 22.5.4 + '@nx/nx-darwin-x64': 22.5.4 + '@nx/nx-freebsd-x64': 22.5.4 + '@nx/nx-linux-arm-gnueabihf': 22.5.4 + '@nx/nx-linux-arm64-gnu': 22.5.4 + '@nx/nx-linux-arm64-musl': 22.5.4 + '@nx/nx-linux-x64-gnu': 22.5.4 + '@nx/nx-linux-x64-musl': 22.5.4 + '@nx/nx-win32-arm64-msvc': 22.5.4 + '@nx/nx-win32-x64-msvc': 22.5.4 transitivePeerDependencies: - debug @@ -19561,7 +19533,7 @@ snapshots: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.6.1 + cli-spinners: 2.9.2 is-interactive: 1.0.0 log-symbols: 4.1.0 strip-ansi: 6.0.1 @@ -20532,15 +20504,7 @@ snapshots: signedsource@1.0.0: {} - simple-git@3.19.1: - dependencies: - '@kwsites/file-exists': 1.1.1 - '@kwsites/promise-deferred': 1.1.1 - debug: 4.4.0(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - simple-git@3.27.0: + simple-git@3.32.3: dependencies: '@kwsites/file-exists': 1.1.1 '@kwsites/promise-deferred': 1.1.1