diff --git a/package.json b/package.json index 20bed9b068a..e5b96b86e48 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@octokit/rest": "22.0.0", "@shopify/eslint-plugin-cli": "file:packages/eslint-plugin-cli", "@shopify/generate-docs": "1.2.0", - "@types/node": "18.19.70", + "@types/node": "22.19.17", "@typescript-eslint/parser": "8.56.1", "@vitest/coverage-istanbul": "^3.1.4", "bugsnag-build-reporter": "^2.0.0", diff --git a/packages/cli-kit/package.json b/packages/cli-kit/package.json index 1725431d06d..f4c4d862ed8 100644 --- a/packages/cli-kit/package.json +++ b/packages/cli-kit/package.json @@ -123,7 +123,6 @@ "color-json": "3.0.5", "conf": "11.0.2", "deepmerge": "4.3.1", - "dotenv": "16.4.7", "env-paths": "3.0.0", "execa": "7.2.0", "fast-glob": "3.3.3", diff --git a/packages/cli-kit/src/public/node/dot-env.ts b/packages/cli-kit/src/public/node/dot-env.ts index 49394a1ce72..72b082dcafa 100644 --- a/packages/cli-kit/src/public/node/dot-env.ts +++ b/packages/cli-kit/src/public/node/dot-env.ts @@ -1,7 +1,7 @@ import {outputDebug, outputContent, outputToken} from './output.js' import {AbortError} from './error.js' import {fileExists, readFile, writeFile} from './fs.js' -import {parse} from 'dotenv' +import {parseEnv} from 'node:util' /** * This interface represents a .env file. @@ -28,10 +28,13 @@ export async function readAndParseDotEnv(path: string): Promise { throw new AbortError(`The environment file at ${path} does not exist.`) } const content = await readFile(path) - return { - path, - variables: parse(content), + // parseEnv types values as `string | undefined`; drop any undefined values so the + // result truly matches Record rather than casting the type away. + const variables: Record = {} + for (const [key, value] of Object.entries(parseEnv(content))) { + if (value !== undefined) variables[key] = value } + return {path, variables} } /** diff --git a/packages/e2e/package.json b/packages/e2e/package.json index 405663fcf2a..64bb328b07e 100644 --- a/packages/e2e/package.json +++ b/packages/e2e/package.json @@ -32,8 +32,7 @@ "@iarna/toml": "2.2.5", "@playwright/test": "^1.50.0", "@shopify/toml-patch": "0.3.0", - "@types/node": "18.19.70", - "dotenv": "16.4.7", + "@types/node": "22.19.17", "execa": "^7.2.0", "node-pty": "^1.0.0", "strip-ansi": "^7.1.0", diff --git a/packages/e2e/playwright.config.ts b/packages/e2e/playwright.config.ts index e10b229cd3d..f9425cbb3b7 100644 --- a/packages/e2e/playwright.config.ts +++ b/packages/e2e/playwright.config.ts @@ -1,9 +1,9 @@ /* eslint-disable line-comment-position */ import {TEST_TIMEOUT} from './setup/constants.js' -import {config} from 'dotenv' +import {loadEnvFile} from './setup/env.js' import {defineConfig} from '@playwright/test' -config() +loadEnvFile() const isCI = Boolean(process.env.CI) diff --git a/packages/e2e/scripts/cleanup-apps.ts b/packages/e2e/scripts/cleanup-apps.ts index 7d6552a7217..4eafa707516 100644 --- a/packages/e2e/scripts/cleanup-apps.ts +++ b/packages/e2e/scripts/cleanup-apps.ts @@ -20,10 +20,10 @@ * E2E_ORG_ID — Organization ID to scan for apps */ -import {config} from 'dotenv' import * as path from 'path' import {fileURLToPath} from 'url' import {chromium} from '@playwright/test' +import {loadEnvFile} from '../setup/env.js' import {BROWSER_TIMEOUT} from '../setup/constants.js' import {navigateToDashboard, refreshIfPageError, trackMainFrameStatus} from '../setup/browser.js' import {deleteAppFromDevDashboard} from '../setup/app.js' @@ -34,7 +34,7 @@ import type {Page} from '@playwright/test' // Load .env from packages/e2e/ (not cwd) only if not already configured const __dirname = path.dirname(fileURLToPath(import.meta.url)) if (!process.env.E2E_ACCOUNT_EMAIL || !process.env.E2E_ACCOUNT_PASSWORD || !process.env.E2E_ORG_ID) { - config({path: path.resolve(__dirname, '../.env')}) + loadEnvFile(path.resolve(__dirname, '../.env')) } // --------------------------------------------------------------------------- diff --git a/packages/e2e/scripts/cleanup-stores.ts b/packages/e2e/scripts/cleanup-stores.ts index 550dcd84ae7..53e413c18a0 100644 --- a/packages/e2e/scripts/cleanup-stores.ts +++ b/packages/e2e/scripts/cleanup-stores.ts @@ -19,10 +19,10 @@ * E2E_ORG_ID — Organization ID to scan for stores */ -import {config} from 'dotenv' import * as path from 'path' import {fileURLToPath} from 'url' import {chromium} from '@playwright/test' +import {loadEnvFile} from '../setup/env.js' import {BROWSER_TIMEOUT} from '../setup/constants.js' import {deleteStore, dismissDevConsole, isStoreAppsEmpty} from '../setup/store.js' import {refreshIfPageError, trackMainFrameStatus} from '../setup/browser.js' @@ -32,7 +32,7 @@ import type {Page} from '@playwright/test' // Load .env from packages/e2e/ (not cwd) only if not already configured const __dirname = path.dirname(fileURLToPath(import.meta.url)) if (!process.env.E2E_ACCOUNT_EMAIL || !process.env.E2E_ACCOUNT_PASSWORD || !process.env.E2E_ORG_ID) { - config({path: path.resolve(__dirname, '../.env')}) + loadEnvFile(path.resolve(__dirname, '../.env')) } // --------------------------------------------------------------------------- diff --git a/packages/e2e/setup/env.ts b/packages/e2e/setup/env.ts index b0e7b023e65..4327d6a1fa8 100644 --- a/packages/e2e/setup/env.ts +++ b/packages/e2e/setup/env.ts @@ -3,6 +3,7 @@ import {test as base} from '@playwright/test' import * as path from 'path' import * as fs from 'fs' import {fileURLToPath} from 'url' +import {parseEnv} from 'node:util' const __filename = fileURLToPath(import.meta.url) const __dirname = path.dirname(__filename) @@ -76,6 +77,22 @@ export const executables = { createApp: path.resolve(__dirname, '../../../packages/create-app/bin/run.js'), } +/** + * Loads environment variables from a `.env` file into `process.env`, mirroring + * dotenv's `config()`: a missing file is silently ignored and values already + * present in `process.env` are never overwritten. + * + * @param envPath - Path to the `.env` file. Defaults to `packages/e2e/.env`. + */ +export function loadEnvFile(envPath: string = path.resolve(__dirname, '../.env')): void { + if (!fs.existsSync(envPath)) return + for (const [key, value] of Object.entries(parseEnv(fs.readFileSync(envPath, 'utf8')))) { + if (value !== undefined && process.env[key] === undefined) { + process.env[key] = value + } + } +} + /** * Creates an isolated temporary directory with XDG subdirectories and .npmrc. * Returns the temp directory path and the env vars to pass to child processes. diff --git a/packages/eslint-plugin-cli/rules/no-inline-graphql.js b/packages/eslint-plugin-cli/rules/no-inline-graphql.js index 8959ccda80b..6621a91dc3c 100644 --- a/packages/eslint-plugin-cli/rules/no-inline-graphql.js +++ b/packages/eslint-plugin-cli/rules/no-inline-graphql.js @@ -2,6 +2,7 @@ const path = require('path') const fs = require('fs') const crypto = require('crypto') +const {execFileSync} = require('child_process') const debugEnabled = process.env.DEBUG && process.env.DEBUG.includes('eslint-plugin-cli') /** @@ -31,9 +32,34 @@ function hashFileSync(filePath, algorithm = 'sha256') { return hash.digest('hex') } +// The `knownFailures` keys are repo-root-relative, so we need the repo root to +// build the lookup key. Ask git rather than deriving it from this rule's +// __dirname: the package manager can place the plugin at different depths in +// node_modules (e.g. pnpm `file:` injection vs `link:` symlink, depending on +// peer resolution), so a fixed `..` offset from a shifting __dirname silently +// breaks the lookup and flags every grandfathered file. Memoized since the root +// is constant for a lint run. +let repoRoot +function findRepoRoot(filePath) { + if (repoRoot === undefined) { + try { + repoRoot = execFileSync('git', ['rev-parse', '--show-toplevel'], { + cwd: path.dirname(filePath), + encoding: 'utf8', + }).trim() + } catch { + // git missing or not a repo (this plugin is published, so it can run + // outside our tree). Fall back to cwd so linting keeps working; the + // known-failures lookup just won't match, which only matters in this repo. + repoRoot = process.cwd() + } + } + return repoRoot +} + function checkKnownFailuresIfShouldFail(context) { const filePath = context.filename || context.getFilename() - const relativePath = path.relative(path.resolve(__dirname, '../../../../../../..'), filePath) + const relativePath = path.relative(findRepoRoot(filePath), filePath).split(path.sep).join('/') const fileHash = hashFileSync(filePath) const shouldFail = !knownFailures[relativePath] || knownFailures[relativePath] !== fileHash diff --git a/packages/theme/src/cli/utilities/errors.test.ts b/packages/theme/src/cli/utilities/errors.test.ts index 7bf42be2b28..9d046017444 100644 --- a/packages/theme/src/cli/utilities/errors.test.ts +++ b/packages/theme/src/cli/utilities/errors.test.ts @@ -77,7 +77,7 @@ describe('errors', () => { beforeEach(() => { // Use a more reliable mock that throws an error - vi.spyOn(process, 'exit').mockImplementation((code?: number): never => { + vi.spyOn(process, 'exit').mockImplementation((code?: string | number | null): never => { throw new Error(`Process exit with code ${code}`) }) }) diff --git a/packages/theme/src/cli/utilities/theme-environment/theme-polling.test.ts b/packages/theme/src/cli/utilities/theme-environment/theme-polling.test.ts index 4576fba4a98..479338388f8 100644 --- a/packages/theme/src/cli/utilities/theme-environment/theme-polling.test.ts +++ b/packages/theme/src/cli/utilities/theme-environment/theme-polling.test.ts @@ -125,7 +125,7 @@ describe('pollRemoteJsonChanges', async () => { vi.mocked(fetchChecksums).mockResolvedValue(updatedRemoteChecksums) // Mock process.exit with a function that throws instead of actually exiting - vi.spyOn(process, 'exit').mockImplementation((code?: number): never => { + vi.spyOn(process, 'exit').mockImplementation((code?: string | number | null): never => { throw new Error(`Process exit with code ${code}`) }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6355cc39894..1943942bccc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,13 +24,13 @@ importers: version: 2.3.3 '@changesets/cli': specifier: 2.29.7 - version: 2.29.7(@types/node@18.19.70) + version: 2.29.7(@types/node@22.19.17) '@graphql-codegen/add': specifier: 6.0.0 version: 6.0.0(graphql@16.10.0) '@graphql-codegen/cli': specifier: 6.0.1 - version: 6.0.1(@parcel/watcher@2.5.6)(@types/node@18.19.70)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3) + version: 6.0.1(@parcel/watcher@2.5.6)(@types/node@22.19.17)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3) '@graphql-codegen/near-operation-file-preset': specifier: 4.0.0 version: 4.0.0(graphql@16.10.0) @@ -51,19 +51,19 @@ importers: version: 22.0.0 '@shopify/eslint-plugin-cli': specifier: file:packages/eslint-plugin-cli - version: file:packages/eslint-plugin-cli(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(prettier@3.8.1)(typescript@5.9.3)(vitest@3.2.4(@types/node@18.19.70)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3)) + version: link:packages/eslint-plugin-cli '@shopify/generate-docs': specifier: 1.2.0 version: 1.2.0 '@types/node': - specifier: 18.19.70 - version: 18.19.70 + specifier: 22.19.17 + version: 22.19.17 '@typescript-eslint/parser': specifier: 8.56.1 version: 8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) '@vitest/coverage-istanbul': specifier: ^3.1.4 - version: 3.2.4(vitest@3.2.4(@types/node@18.19.70)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3)) + version: 3.2.4(vitest@3.2.4(@types/node@22.19.17)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@22.19.17)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3)) bugsnag-build-reporter: specifier: ^2.0.0 version: 2.0.0 @@ -105,7 +105,7 @@ importers: version: 1.0.12 knip: specifier: 5.59.1 - version: 5.59.1(@types/node@18.19.70)(typescript@5.9.3) + version: 5.59.1(@types/node@22.19.17)(typescript@5.9.3) liquidjs: specifier: 10.26.0 version: 10.26.0 @@ -117,7 +117,7 @@ importers: version: 22.7.0 oclif: specifier: 4.23.0 - version: 4.23.0(@types/node@18.19.70) + version: 4.23.0(@types/node@22.19.17) octokit-plugin-create-pull-request: specifier: ^3.12.2 version: 3.13.1 @@ -132,13 +132,13 @@ importers: version: 6.1.3 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@18.19.70)(typescript@5.9.3) + version: 10.9.2(@types/node@22.19.17)(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 vitest: specifier: ^3.1.4 - version: 3.2.4(@types/node@18.19.70)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3) + version: 3.2.4(@types/node@22.19.17)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@22.19.17)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3) zod: specifier: 3.24.4 version: 3.24.4 @@ -269,7 +269,7 @@ importers: version: link:../app '@shopify/cli-hydrogen': specifier: 11.1.10 - version: 11.1.10(@graphql-codegen/cli@6.0.1(@parcel/watcher@2.5.6)(@types/node@18.19.70)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3))(graphql-config@5.1.5(@types/node@22.19.17)(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@22.19.17)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3)) + version: 11.1.10(@graphql-codegen/cli@6.0.1(@parcel/watcher@2.5.6)(@types/node@22.19.17)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3))(graphql-config@5.1.5(@types/node@22.19.17)(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@22.19.17)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3)) '@shopify/cli-kit': specifier: 4.1.0 version: link:../cli-kit @@ -360,9 +360,6 @@ importers: deepmerge: specifier: 4.3.1 version: 4.3.1 - dotenv: - specifier: 16.4.7 - version: 16.4.7 env-paths: specifier: 3.0.0 version: 3.0.0 @@ -534,11 +531,8 @@ importers: specifier: 0.3.0 version: 0.3.0 '@types/node': - specifier: 18.19.70 - version: 18.19.70 - dotenv: - specifier: 16.4.7 - version: 16.4.7 + specifier: 22.19.17 + version: 22.19.17 execa: specifier: ^7.2.0 version: 7.2.0 @@ -3750,11 +3744,6 @@ packages: vite: optional: true - '@shopify/eslint-plugin-cli@file:packages/eslint-plugin-cli': - resolution: {directory: packages/eslint-plugin-cli, type: directory} - peerDependencies: - eslint: ^9.0.0 - '@shopify/eslint-plugin@50.0.0': resolution: {integrity: sha512-QBuZjOpzaXvq6jC/wl9iy8LRLwMPWxWehFBfUc5vvkmp/P58fO2ljzJfOEkClN5tCe6z6+RfTuzX4vPx6dhJIA==} peerDependencies: @@ -4166,13 +4155,13 @@ packages: resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} '@types/node@12.20.55': - resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==, tarball: https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz} '@types/node@18.19.70': - resolution: {integrity: sha512-RE+K0+KZoEpDUbGGctnGdkrLFwi1eYKTlIHNl2Um98mUkGsm1u2Ff6Ltd0e8DktTtC98uy7rSj+hO8t/QuLoVQ==} + resolution: {integrity: sha512-RE+K0+KZoEpDUbGGctnGdkrLFwi1eYKTlIHNl2Um98mUkGsm1u2Ff6Ltd0e8DktTtC98uy7rSj+hO8t/QuLoVQ==, tarball: https://registry.npmjs.org/@types/node/-/node-18.19.70.tgz} '@types/node@22.19.17': - resolution: {integrity: sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==} + resolution: {integrity: sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==, tarball: https://registry.npmjs.org/@types/node/-/node-22.19.17.tgz} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -8808,10 +8797,10 @@ packages: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, tarball: https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz} undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==, tarball: https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz} undici@5.29.0: resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} @@ -10728,7 +10717,7 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.29.7(@types/node@18.19.70)': + '@changesets/cli@2.29.7(@types/node@22.19.17)': dependencies: '@changesets/apply-release-plan': 7.0.14 '@changesets/assemble-release-plan': 6.0.9 @@ -10744,7 +10733,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.3(@types/node@18.19.70) + '@inquirer/external-editor': 1.0.3(@types/node@22.19.17) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 @@ -11252,7 +11241,7 @@ snapshots: graphql: 16.10.0 tslib: 2.6.3 - '@graphql-codegen/cli@6.0.1(@parcel/watcher@2.5.6)(@types/node@18.19.70)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3)': + '@graphql-codegen/cli@6.0.1(@parcel/watcher@2.5.6)(@types/node@22.19.17)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3)': dependencies: '@babel/generator': 7.29.1 '@babel/template': 7.28.6 @@ -11263,20 +11252,20 @@ snapshots: '@graphql-tools/apollo-engine-loader': 8.0.28(graphql@16.10.0) '@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@18.19.70)(graphql@16.10.0) + '@graphql-tools/github-loader': 8.0.22(@types/node@22.19.17)(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/url-loader': 8.0.33(@types/node@18.19.70)(crossws@0.3.5)(graphql@16.10.0) + '@graphql-tools/url-loader': 8.0.33(@types/node@22.19.17)(crossws@0.3.5)(graphql@16.10.0) '@graphql-tools/utils': 10.7.2(graphql@16.10.0) - '@inquirer/prompts': 7.10.1(@types/node@18.19.70) + '@inquirer/prompts': 7.10.1(@types/node@22.19.17) '@whatwg-node/fetch': 0.10.13 chalk: 4.1.2 cosmiconfig: 9.0.0(typescript@5.9.3) debounce: 2.2.0 detect-indent: 6.1.0 graphql: 16.10.0 - graphql-config: 5.1.5(@types/node@18.19.70)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3) + graphql-config: 5.1.5(@types/node@22.19.17)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3) is-glob: 4.0.3 jiti: 2.6.1 json-to-pretty-yaml: 1.2.2 @@ -11577,21 +11566,6 @@ snapshots: - crossws - utf-8-validate - '@graphql-tools/executor-http@1.3.3(@types/node@18.19.70)(graphql@16.10.0)': - dependencies: - '@graphql-hive/signal': 1.0.0 - '@graphql-tools/executor-common': 0.0.4(graphql@16.10.0) - '@graphql-tools/utils': 10.7.2(graphql@16.10.0) - '@repeaterjs/repeater': 3.0.6 - '@whatwg-node/disposablestack': 0.0.6 - '@whatwg-node/fetch': 0.10.13 - '@whatwg-node/promise-helpers': 1.3.2 - graphql: 16.10.0 - meros: 1.3.2(@types/node@18.19.70) - tslib: 2.8.1 - transitivePeerDependencies: - - '@types/node' - '@graphql-tools/executor-http@1.3.3(@types/node@22.19.17)(graphql@16.10.0)': dependencies: '@graphql-hive/signal': 1.0.0 @@ -11606,7 +11580,6 @@ snapshots: tslib: 2.8.1 transitivePeerDependencies: - '@types/node' - optional: true '@graphql-tools/executor-legacy-ws@1.1.25(graphql@16.10.0)': dependencies: @@ -11642,9 +11615,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@graphql-tools/github-loader@8.0.22(@types/node@18.19.70)(graphql@16.10.0)': + '@graphql-tools/github-loader@8.0.22(@types/node@22.19.17)(graphql@16.10.0)': dependencies: - '@graphql-tools/executor-http': 1.3.3(@types/node@18.19.70)(graphql@16.10.0) + '@graphql-tools/executor-http': 1.3.3(@types/node@22.19.17)(graphql@16.10.0) '@graphql-tools/graphql-tag-pluck': 8.3.27(graphql@16.10.0) '@graphql-tools/utils': 10.7.2(graphql@16.10.0) '@whatwg-node/fetch': 0.10.13 @@ -11733,28 +11706,6 @@ snapshots: graphql: 16.10.0 tslib: 2.8.1 - '@graphql-tools/url-loader@8.0.33(@types/node@18.19.70)(crossws@0.3.5)(graphql@16.10.0)': - dependencies: - '@graphql-tools/executor-graphql-ws': 2.0.7(crossws@0.3.5)(graphql@16.10.0) - '@graphql-tools/executor-http': 1.3.3(@types/node@18.19.70)(graphql@16.10.0) - '@graphql-tools/executor-legacy-ws': 1.1.25(graphql@16.10.0) - '@graphql-tools/utils': 10.7.2(graphql@16.10.0) - '@graphql-tools/wrap': 10.1.4(graphql@16.10.0) - '@types/ws': 8.18.1 - '@whatwg-node/fetch': 0.10.13 - '@whatwg-node/promise-helpers': 1.3.2 - graphql: 16.10.0 - isomorphic-ws: 5.0.0(ws@8.18.0) - sync-fetch: 0.6.0-2 - tslib: 2.8.1 - ws: 8.18.0 - transitivePeerDependencies: - - '@fastify/websocket' - - '@types/node' - - bufferutil - - crossws - - utf-8-validate - '@graphql-tools/url-loader@8.0.33(@types/node@22.19.17)(crossws@0.3.5)(graphql@16.10.0)': dependencies: '@graphql-tools/executor-graphql-ws': 2.0.7(crossws@0.3.5)(graphql@16.10.0) @@ -11776,7 +11727,6 @@ snapshots: - bufferutil - crossws - utf-8-validate - optional: true '@graphql-tools/utils@10.7.2(graphql@16.10.0)': dependencies: @@ -11814,28 +11764,21 @@ snapshots: '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.2(@types/node@18.19.70)': + '@inquirer/checkbox@4.3.2(@types/node@22.19.17)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@18.19.70) + '@inquirer/core': 10.3.2(@types/node@22.19.17) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@18.19.70) + '@inquirer/type': 3.0.10(@types/node@22.19.17) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 '@inquirer/confirm@3.2.0': dependencies: '@inquirer/core': 9.2.1 '@inquirer/type': 1.5.5 - '@inquirer/confirm@5.1.21(@types/node@18.19.70)': - dependencies: - '@inquirer/core': 10.3.2(@types/node@18.19.70) - '@inquirer/type': 3.0.10(@types/node@18.19.70) - optionalDependencies: - '@types/node': 18.19.70 - '@inquirer/confirm@5.1.21(@types/node@22.19.17)': dependencies: '@inquirer/core': 10.3.2(@types/node@22.19.17) @@ -11843,19 +11786,6 @@ snapshots: optionalDependencies: '@types/node': 22.19.17 - '@inquirer/core@10.3.2(@types/node@18.19.70)': - dependencies: - '@inquirer/ansi': 1.0.2 - '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@18.19.70) - cli-width: 4.1.0 - mute-stream: 2.0.0 - signal-exit: 4.1.0 - wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 18.19.70 - '@inquirer/core@10.3.2(@types/node@22.19.17)': dependencies: '@inquirer/ansi': 1.0.2 @@ -11884,28 +11814,28 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 - '@inquirer/editor@4.2.23(@types/node@18.19.70)': + '@inquirer/editor@4.2.23(@types/node@22.19.17)': dependencies: - '@inquirer/core': 10.3.2(@types/node@18.19.70) - '@inquirer/external-editor': 1.0.3(@types/node@18.19.70) - '@inquirer/type': 3.0.10(@types/node@18.19.70) + '@inquirer/core': 10.3.2(@types/node@22.19.17) + '@inquirer/external-editor': 1.0.3(@types/node@22.19.17) + '@inquirer/type': 3.0.10(@types/node@22.19.17) optionalDependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 - '@inquirer/expand@4.0.23(@types/node@18.19.70)': + '@inquirer/expand@4.0.23(@types/node@22.19.17)': dependencies: - '@inquirer/core': 10.3.2(@types/node@18.19.70) - '@inquirer/type': 3.0.10(@types/node@18.19.70) + '@inquirer/core': 10.3.2(@types/node@22.19.17) + '@inquirer/type': 3.0.10(@types/node@22.19.17) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 - '@inquirer/external-editor@1.0.3(@types/node@18.19.70)': + '@inquirer/external-editor@1.0.3(@types/node@22.19.17)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 '@inquirer/figures@1.0.15': {} @@ -11914,59 +11844,59 @@ snapshots: '@inquirer/core': 9.2.1 '@inquirer/type': 1.5.5 - '@inquirer/input@4.3.1(@types/node@18.19.70)': + '@inquirer/input@4.3.1(@types/node@22.19.17)': dependencies: - '@inquirer/core': 10.3.2(@types/node@18.19.70) - '@inquirer/type': 3.0.10(@types/node@18.19.70) + '@inquirer/core': 10.3.2(@types/node@22.19.17) + '@inquirer/type': 3.0.10(@types/node@22.19.17) optionalDependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 - '@inquirer/number@3.0.23(@types/node@18.19.70)': + '@inquirer/number@3.0.23(@types/node@22.19.17)': dependencies: - '@inquirer/core': 10.3.2(@types/node@18.19.70) - '@inquirer/type': 3.0.10(@types/node@18.19.70) + '@inquirer/core': 10.3.2(@types/node@22.19.17) + '@inquirer/type': 3.0.10(@types/node@22.19.17) optionalDependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 - '@inquirer/password@4.0.23(@types/node@18.19.70)': + '@inquirer/password@4.0.23(@types/node@22.19.17)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@18.19.70) - '@inquirer/type': 3.0.10(@types/node@18.19.70) + '@inquirer/core': 10.3.2(@types/node@22.19.17) + '@inquirer/type': 3.0.10(@types/node@22.19.17) optionalDependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 - '@inquirer/prompts@7.10.1(@types/node@18.19.70)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@18.19.70) - '@inquirer/confirm': 5.1.21(@types/node@18.19.70) - '@inquirer/editor': 4.2.23(@types/node@18.19.70) - '@inquirer/expand': 4.0.23(@types/node@18.19.70) - '@inquirer/input': 4.3.1(@types/node@18.19.70) - '@inquirer/number': 3.0.23(@types/node@18.19.70) - '@inquirer/password': 4.0.23(@types/node@18.19.70) - '@inquirer/rawlist': 4.1.11(@types/node@18.19.70) - '@inquirer/search': 3.2.2(@types/node@18.19.70) - '@inquirer/select': 4.4.2(@types/node@18.19.70) + '@inquirer/prompts@7.10.1(@types/node@22.19.17)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@22.19.17) + '@inquirer/confirm': 5.1.21(@types/node@22.19.17) + '@inquirer/editor': 4.2.23(@types/node@22.19.17) + '@inquirer/expand': 4.0.23(@types/node@22.19.17) + '@inquirer/input': 4.3.1(@types/node@22.19.17) + '@inquirer/number': 3.0.23(@types/node@22.19.17) + '@inquirer/password': 4.0.23(@types/node@22.19.17) + '@inquirer/rawlist': 4.1.11(@types/node@22.19.17) + '@inquirer/search': 3.2.2(@types/node@22.19.17) + '@inquirer/select': 4.4.2(@types/node@22.19.17) optionalDependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 - '@inquirer/rawlist@4.1.11(@types/node@18.19.70)': + '@inquirer/rawlist@4.1.11(@types/node@22.19.17)': dependencies: - '@inquirer/core': 10.3.2(@types/node@18.19.70) - '@inquirer/type': 3.0.10(@types/node@18.19.70) + '@inquirer/core': 10.3.2(@types/node@22.19.17) + '@inquirer/type': 3.0.10(@types/node@22.19.17) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 - '@inquirer/search@3.2.2(@types/node@18.19.70)': + '@inquirer/search@3.2.2(@types/node@22.19.17)': dependencies: - '@inquirer/core': 10.3.2(@types/node@18.19.70) + '@inquirer/core': 10.3.2(@types/node@22.19.17) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@18.19.70) + '@inquirer/type': 3.0.10(@types/node@22.19.17) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 '@inquirer/select@2.5.0': dependencies: @@ -11976,15 +11906,15 @@ snapshots: ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.3 - '@inquirer/select@4.4.2(@types/node@18.19.70)': + '@inquirer/select@4.4.2(@types/node@22.19.17)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@18.19.70) + '@inquirer/core': 10.3.2(@types/node@22.19.17) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@18.19.70) + '@inquirer/type': 3.0.10(@types/node@22.19.17) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 '@inquirer/type@1.5.5': dependencies: @@ -11994,10 +11924,6 @@ snapshots: dependencies: mute-stream: 1.0.0 - '@inquirer/type@3.0.10(@types/node@18.19.70)': - optionalDependencies: - '@types/node': 18.19.70 - '@inquirer/type@3.0.10(@types/node@22.19.17)': optionalDependencies: '@types/node': 22.19.17 @@ -12396,9 +12322,9 @@ snapshots: dependencies: '@oclif/core': 4.9.0 - '@oclif/plugin-not-found@3.2.81(@types/node@18.19.70)': + '@oclif/plugin-not-found@3.2.81(@types/node@22.19.17)': dependencies: - '@inquirer/prompts': 7.10.1(@types/node@18.19.70) + '@inquirer/prompts': 7.10.1(@types/node@22.19.17) '@oclif/core': 4.10.6 ansis: 3.17.0 fast-levenshtein: 3.0.0 @@ -12915,7 +12841,7 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} - '@shopify/cli-hydrogen@11.1.10(@graphql-codegen/cli@6.0.1(@parcel/watcher@2.5.6)(@types/node@18.19.70)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3))(graphql-config@5.1.5(@types/node@22.19.17)(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@22.19.17)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3))': + '@shopify/cli-hydrogen@11.1.10(@graphql-codegen/cli@6.0.1(@parcel/watcher@2.5.6)(@types/node@22.19.17)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3))(graphql-config@5.1.5(@types/node@22.19.17)(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@22.19.17)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3))': dependencies: '@ast-grep/napi': 0.34.1 '@oclif/core': 3.26.5 @@ -12939,7 +12865,7 @@ snapshots: ts-morph: 20.0.0 use-resize-observer: 9.1.0(react-dom@19.2.4(react@18.3.1))(react@18.3.1) optionalDependencies: - '@graphql-codegen/cli': 6.0.1(@parcel/watcher@2.5.6)(@types/node@18.19.70)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3) + '@graphql-codegen/cli': 6.0.1(@parcel/watcher@2.5.6)(@types/node@22.19.17)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3) graphql-config: 5.1.5(@types/node@22.19.17)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3) vite: 6.4.1(@types/node@22.19.17)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3) transitivePeerDependencies: @@ -12947,34 +12873,6 @@ snapshots: - react - react-dom - '@shopify/eslint-plugin-cli@file:packages/eslint-plugin-cli(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(prettier@3.8.1)(typescript@5.9.3)(vitest@3.2.4(@types/node@18.19.70)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3))': - dependencies: - '@shopify/eslint-plugin': 50.0.0(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(prettier@3.8.1)(typescript@5.9.3) - '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - '@vitest/eslint-plugin': 1.1.44(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)(vitest@3.2.4(@types/node@18.19.70)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3)) - eslint: 9.39.3(jiti@2.6.1) - eslint-config-prettier: 10.1.5(eslint@9.39.3(jiti@2.6.1)) - eslint-plugin-no-catch-all: 1.1.0(eslint@9.39.3(jiti@2.6.1)) - eslint-plugin-prettier: 5.5.1(eslint-config-prettier@10.1.5(eslint@9.39.3(jiti@2.6.1)))(eslint@9.39.3(jiti@2.6.1))(prettier@3.8.1) - eslint-plugin-react: 7.37.5(eslint@9.39.3(jiti@2.6.1)) - eslint-plugin-react-hooks: 5.2.0(eslint@9.39.3(jiti@2.6.1)) - eslint-plugin-tsdoc: 0.4.0 - eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1)) - execa: 7.2.0 - globals: 16.2.0 - transitivePeerDependencies: - - '@types/eslint' - - '@typescript-eslint/utils' - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - eslint-plugin-import - - jest - - prettier - - supports-color - - typescript - - vitest - '@shopify/eslint-plugin@50.0.0(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(prettier@3.8.1)(typescript@5.9.3)': dependencies: change-case: 4.1.2 @@ -13597,7 +13495,7 @@ snapshots: '@types/cli-progress@3.11.6': dependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 '@types/deep-eql@4.0.2': {} @@ -13670,7 +13568,7 @@ snapshots: '@types/readdir-glob@1.1.5': dependencies: - '@types/node': 18.19.70 + '@types/node': 22.19.17 '@types/retry@0.12.5': {} @@ -13852,22 +13750,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/coverage-istanbul@3.2.4(vitest@3.2.4(@types/node@18.19.70)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3))': - dependencies: - '@istanbuljs/schema': 0.1.3 - debug: 4.4.3(supports-color@8.1.1) - istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.3 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 - istanbul-reports: 3.2.0 - magicast: 0.3.5 - test-exclude: 7.0.2 - tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/node@18.19.70)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3) - transitivePeerDependencies: - - supports-color - '@vitest/coverage-istanbul@3.2.4(vitest@3.2.4(@types/node@22.19.17)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@22.19.17)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3))': dependencies: '@istanbuljs/schema': 0.1.3 @@ -13884,14 +13766,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/eslint-plugin@1.1.44(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)(vitest@3.2.4(@types/node@18.19.70)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3))': - dependencies: - '@typescript-eslint/utils': 8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - eslint: 9.39.3(jiti@2.6.1) - optionalDependencies: - typescript: 5.9.3 - vitest: 3.2.4(@types/node@18.19.70)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3) - '@vitest/eslint-plugin@1.1.44(@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)(vitest@3.2.4(@types/node@22.19.17)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@22.19.17)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3))': dependencies: '@typescript-eslint/utils': 8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) @@ -13908,23 +13782,14 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3))(vite@6.4.1(@types/node@18.19.70)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3))': - dependencies: - '@vitest/spy': 3.2.4 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - msw: 2.12.10(@types/node@18.19.70)(typescript@5.9.3) - vite: 6.4.1(@types/node@18.19.70)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3) - - '@vitest/mocker@3.2.4(msw@2.12.10(@types/node@22.19.17)(typescript@5.9.3))(vite@6.4.1(@types/node@18.19.70)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3))': + '@vitest/mocker@3.2.4(msw@2.12.10(@types/node@22.19.17)(typescript@5.9.3))(vite@6.4.1(@types/node@22.19.17)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.12.10(@types/node@22.19.17)(typescript@5.9.3) - vite: 6.4.1(@types/node@18.19.70)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3) + vite: 6.4.1(@types/node@22.19.17)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3) '@vitest/pretty-format@3.2.4': dependencies: @@ -15990,29 +15855,6 @@ snapshots: transitivePeerDependencies: - encoding - graphql-config@5.1.5(@types/node@18.19.70)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3): - dependencies: - '@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/merge': 9.1.7(graphql@16.10.0) - '@graphql-tools/url-loader': 8.0.33(@types/node@18.19.70)(crossws@0.3.5)(graphql@16.10.0) - '@graphql-tools/utils': 10.7.2(graphql@16.10.0) - cosmiconfig: 8.3.6(typescript@5.9.3) - graphql: 16.10.0 - jiti: 2.6.1 - minimatch: 9.0.9 - string-env-interpolation: 1.0.1 - tslib: 2.8.1 - transitivePeerDependencies: - - '@fastify/websocket' - - '@types/node' - - bufferutil - - crossws - - supports-color - - typescript - - utf-8-validate - graphql-config@5.1.5(@types/node@22.19.17)(crossws@0.3.5)(graphql@16.10.0)(typescript@5.9.3): dependencies: '@graphql-tools/graphql-file-loader': 8.1.9(graphql@16.10.0) @@ -16035,7 +15877,6 @@ snapshots: - supports-color - typescript - utf-8-validate - optional: true graphql-request@6.1.0(graphql@16.10.0): dependencies: @@ -16744,10 +16585,10 @@ snapshots: kind-of@6.0.3: {} - knip@5.59.1(@types/node@18.19.70)(typescript@5.9.3): + knip@5.59.1(@types/node@22.19.17)(typescript@5.9.3): dependencies: '@nodelib/fs.walk': 1.2.8 - '@types/node': 18.19.70 + '@types/node': 22.19.17 fast-glob: 3.3.3 formatly: 0.2.4 jiti: 2.6.1 @@ -16959,14 +16800,9 @@ snapshots: merge2@1.4.1: {} - meros@1.3.2(@types/node@18.19.70): - optionalDependencies: - '@types/node': 18.19.70 - meros@1.3.2(@types/node@22.19.17): optionalDependencies: '@types/node': 22.19.17 - optional: true micromatch@4.0.8: dependencies: @@ -17049,32 +16885,6 @@ snapshots: ms@2.1.3: {} - msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3): - dependencies: - '@inquirer/confirm': 5.1.21(@types/node@18.19.70) - '@mswjs/interceptors': 0.41.3 - '@open-draft/deferred-promise': 2.2.0 - '@types/statuses': 2.0.6 - cookie: 1.1.1 - graphql: 16.10.0 - headers-polyfill: 4.0.3 - is-node-process: 1.2.0 - outvariant: 1.4.3 - path-to-regexp: 6.3.0 - picocolors: 1.1.1 - rettime: 0.10.1 - statuses: 2.0.2 - strict-event-emitter: 0.5.1 - tough-cookie: 6.0.0 - type-fest: 5.4.4 - until-async: 3.0.2 - yargs: 17.7.2 - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - '@types/node' - optional: true - msw@2.12.10(@types/node@22.19.17)(typescript@5.9.3): dependencies: '@inquirer/confirm': 5.1.21(@types/node@22.19.17) @@ -17421,7 +17231,7 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - oclif@4.23.0(@types/node@18.19.70): + oclif@4.23.0(@types/node@22.19.17): dependencies: '@aws-sdk/client-cloudfront': 3.1009.0 '@aws-sdk/client-s3': 3.1014.0 @@ -17430,7 +17240,7 @@ snapshots: '@inquirer/select': 2.5.0 '@oclif/core': 4.9.0 '@oclif/plugin-help': 6.2.45 - '@oclif/plugin-not-found': 3.2.81(@types/node@18.19.70) + '@oclif/plugin-not-found': 3.2.81(@types/node@22.19.17) '@oclif/plugin-warn-if-update-available': 3.1.61 ansis: 3.17.0 async-retry: 1.3.3 @@ -17816,7 +17626,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 18.19.70 + '@types/node': 22.19.17 long: 5.3.2 proxy-from-env@2.1.0: {} @@ -18773,14 +18583,14 @@ snapshots: '@ts-morph/common': 0.21.0 code-block-writer: 12.0.0 - ts-node@10.9.2(@types/node@18.19.70)(typescript@5.9.3): + ts-node@10.9.2(@types/node@22.19.17)(typescript@5.9.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.19.70 + '@types/node': 22.19.17 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -19013,27 +18823,6 @@ snapshots: validate-npm-package-name@5.0.1: {} - vite-node@3.2.4(@types/node@18.19.70)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3): - dependencies: - cac: 6.7.14 - debug: 4.4.3(supports-color@8.1.1) - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 6.4.1(@types/node@18.19.70)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - vite-node@3.2.4(@types/node@22.19.17)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3): dependencies: cac: 6.7.14 @@ -19055,22 +18844,6 @@ snapshots: - tsx - yaml - vite@6.4.1(@types/node@18.19.70)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3): - dependencies: - esbuild: 0.25.12 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.6 - rollup: 4.59.0 - tinyglobby: 0.2.15 - optionalDependencies: - '@types/node': 18.19.70 - fsevents: 2.3.3 - jiti: 2.6.1 - sass: 1.97.3 - tsx: 4.21.0 - yaml: 2.8.3 - vite@6.4.1(@types/node@22.19.17)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3): dependencies: esbuild: 0.25.12 @@ -19087,53 +18860,11 @@ snapshots: tsx: 4.21.0 yaml: 2.8.3 - vitest@3.2.4(@types/node@18.19.70)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3): - dependencies: - '@types/chai': 5.2.3 - '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.12.10(@types/node@18.19.70)(typescript@5.9.3))(vite@6.4.1(@types/node@18.19.70)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3)) - '@vitest/pretty-format': 3.2.4 - '@vitest/runner': 3.2.4 - '@vitest/snapshot': 3.2.4 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.3.3 - debug: 4.4.3(supports-color@8.1.1) - expect-type: 1.3.0 - magic-string: 0.30.21 - pathe: 2.0.3 - picomatch: 4.0.3 - std-env: 3.10.0 - tinybench: 2.9.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.15 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 - vite: 6.4.1(@types/node@18.19.70)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3) - vite-node: 3.2.4(@types/node@18.19.70)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3) - why-is-node-running: 2.3.0 - optionalDependencies: - '@types/node': 18.19.70 - jsdom: 28.1.0 - transitivePeerDependencies: - - jiti - - less - - lightningcss - - msw - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - vitest@3.2.4(@types/node@22.19.17)(jiti@2.6.1)(jsdom@28.1.0)(msw@2.12.10(@types/node@22.19.17)(typescript@5.9.3))(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.12.10(@types/node@22.19.17)(typescript@5.9.3))(vite@6.4.1(@types/node@18.19.70)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/mocker': 3.2.4(msw@2.12.10(@types/node@22.19.17)(typescript@5.9.3))(vite@6.4.1(@types/node@22.19.17)(jiti@2.6.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.3)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4