@shopify/cli 3.76.1 → 3.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/{chunk-RDHYYXFE.js → chunk-3ARIMAIR.js} +3 -3
  2. package/dist/{chunk-EHL6XSBG.js → chunk-4BPRKRYD.js} +4 -4
  3. package/dist/{chunk-WWI2QVFK.js → chunk-5ZMRZCPZ.js} +2 -2
  4. package/dist/{chunk-T2LQCR7X.js → chunk-6ZKE2WPK.js} +2 -2
  5. package/dist/{chunk-FZT5AGA5.js → chunk-74V7KQLD.js} +4 -4
  6. package/dist/{chunk-LUCMIGZJ.js → chunk-7IKFEU6I.js} +2 -2
  7. package/dist/{chunk-JBS4NEJX.js → chunk-ACSVNEID.js} +5 -5
  8. package/dist/{chunk-PDQLM7DM.js → chunk-AUBRXAVZ.js} +3 -3
  9. package/dist/{chunk-6TPMZTXG.js → chunk-AW7SZYGV.js} +7 -7
  10. package/dist/{chunk-ACGZSEHA.js → chunk-AZ33PIX2.js} +7 -7
  11. package/dist/{chunk-MVZ4LGIM.js → chunk-CBLCYLJO.js} +2 -2
  12. package/dist/{chunk-DFFXOFLT.js → chunk-DHO2PUCK.js} +2 -2
  13. package/dist/{chunk-IROPFRNN.js → chunk-FJAIUBHO.js} +34 -18
  14. package/dist/{chunk-ZQU7DVLN.js → chunk-GPICPOCE.js} +8 -5
  15. package/dist/{chunk-W6WCETMJ.js → chunk-IX7XAR6F.js} +143 -28
  16. package/dist/{chunk-LXQWZFLX.js → chunk-J3C7BGUW.js} +22 -10
  17. package/dist/{chunk-ULBY4CUT.js → chunk-MYIEKIZR.js} +2 -2
  18. package/dist/{chunk-RB5K7TGA.js → chunk-NHMQOM7T.js} +2 -2
  19. package/dist/{chunk-3THHNKSL.js → chunk-NZVJ77WD.js} +3 -3
  20. package/dist/{chunk-742MYXOA.js → chunk-O5U2T7LH.js} +6 -3
  21. package/dist/{chunk-FUA76K3T.js → chunk-PHWPEUZI.js} +5 -2
  22. package/dist/{chunk-3Q5TSFEN.js → chunk-QVZW3IVL.js} +7 -7
  23. package/dist/{chunk-LTIYNGCV.js → chunk-RA5UDHSI.js} +3 -3
  24. package/dist/{chunk-4OD4TP6T.js → chunk-RWT677FV.js} +4 -4
  25. package/dist/{chunk-5TZDSORY.js → chunk-S3PY2ULH.js} +213 -120
  26. package/dist/{chunk-7UIQNXWE.js → chunk-SO33Y5TT.js} +3 -3
  27. package/dist/{chunk-6KV6OKFB.js → chunk-U7E5RRYF.js} +3 -3
  28. package/dist/{chunk-VX5SZCUI.js → chunk-V5G4FJZH.js} +14 -12
  29. package/dist/{chunk-4SFWD6RY.js → chunk-VTEM2QWG.js} +3 -3
  30. package/dist/{chunk-A44GEDKW.js → chunk-WN6OLVLP.js} +4 -4
  31. package/dist/{chunk-BJG7ZRQ2.js → chunk-YL7TDFFA.js} +3 -3
  32. package/dist/{chunk-EJU7LVJW.js → chunk-YXR557PE.js} +3 -3
  33. package/dist/chunk-ZKUNCSWD.js +52 -0
  34. package/dist/{chunk-WOG2LQ3X.js → chunk-ZVNHCLRN.js} +3 -3
  35. package/dist/cli/commands/auth/logout.js +11 -11
  36. package/dist/cli/commands/auth/logout.test.js +12 -12
  37. package/dist/cli/commands/cache/clear.js +10 -10
  38. package/dist/cli/commands/debug/command-flags.js +10 -10
  39. package/dist/cli/commands/docs/generate.js +10 -10
  40. package/dist/cli/commands/docs/generate.test.js +10 -10
  41. package/dist/cli/commands/help.d.ts +1 -0
  42. package/dist/cli/commands/help.js +10 -10
  43. package/dist/cli/commands/kitchen-sink/async.js +11 -11
  44. package/dist/cli/commands/kitchen-sink/async.test.js +11 -11
  45. package/dist/cli/commands/kitchen-sink/index.js +13 -13
  46. package/dist/cli/commands/kitchen-sink/index.test.js +13 -13
  47. package/dist/cli/commands/kitchen-sink/prompts.js +11 -11
  48. package/dist/cli/commands/kitchen-sink/prompts.test.js +11 -11
  49. package/dist/cli/commands/kitchen-sink/static.js +11 -11
  50. package/dist/cli/commands/kitchen-sink/static.test.js +11 -11
  51. package/dist/cli/commands/notifications/generate.js +11 -11
  52. package/dist/cli/commands/notifications/list.d.ts +3 -0
  53. package/dist/cli/commands/notifications/list.js +11 -11
  54. package/dist/cli/commands/search.d.ts +1 -0
  55. package/dist/cli/commands/search.js +11 -11
  56. package/dist/cli/commands/upgrade.js +11 -11
  57. package/dist/cli/commands/version.js +11 -11
  58. package/dist/cli/commands/version.test.js +11 -11
  59. package/dist/cli/services/commands/notifications.js +6 -6
  60. package/dist/cli/services/commands/search.js +2 -2
  61. package/dist/cli/services/commands/search.test.js +2 -2
  62. package/dist/cli/services/commands/version.js +3 -3
  63. package/dist/cli/services/commands/version.test.js +4 -4
  64. package/dist/cli/services/kitchen-sink/async.js +2 -2
  65. package/dist/cli/services/kitchen-sink/prompts.js +2 -2
  66. package/dist/cli/services/kitchen-sink/static.js +2 -2
  67. package/dist/cli/services/upgrade.js +3 -3
  68. package/dist/cli/services/upgrade.test.js +4 -4
  69. package/dist/configs/all.yml +39 -3
  70. package/dist/configs/recommended.yml +36 -0
  71. package/dist/configs/theme-app-extension.yml +3 -3
  72. package/dist/{custom-oclif-loader-BXHJERI2.js → custom-oclif-loader-TE6EUPGI.js} +2 -2
  73. package/dist/data/filters.json +270 -327
  74. package/dist/data/latest.json +1 -1
  75. package/dist/data/objects.json +1482 -3709
  76. package/dist/data/preset.json +6 -0
  77. package/dist/data/preset_blocks.json +6 -0
  78. package/dist/data/setting.json +167 -50
  79. package/dist/data/tags.json +45 -101
  80. package/dist/{error-handler-FV3FJ3VW.js → error-handler-WC4XSLZQ.js} +8 -8
  81. package/dist/hooks/postrun.js +6 -6
  82. package/dist/hooks/prerun.js +8 -8
  83. package/dist/index.js +5451 -2314
  84. package/dist/{local-PMOJBQT6.js → local-7Q5JCU62.js} +2 -2
  85. package/dist/{node-5MJ6ATKS.js → node-MNEYEH5U.js} +12 -12
  86. package/dist/{node-package-manager-FZRL3EQB.js → node-package-manager-3SFTB3BW.js} +3 -3
  87. package/dist/tsconfig.tsbuildinfo +1 -1
  88. package/dist/{ui-5VMS7DNB.js → ui-NMP2SY3G.js} +2 -2
  89. package/dist/{workerd-JHDITYBC.js → workerd-NN737W52.js} +12 -12
  90. package/oclif.manifest.json +32 -19
  91. package/package.json +6 -6
  92. package/dist/chunk-UAZUB5EV.js +0 -28
@@ -5,16 +5,19 @@ import {
5
5
  } from "./chunk-25IMI7TH.js";
6
6
  import {
7
7
  CLI_KIT_VERSION
8
- } from "./chunk-DFFXOFLT.js";
8
+ } from "./chunk-DHO2PUCK.js";
9
9
  import {
10
10
  Environment,
11
11
  firstPartyDev,
12
12
  import_ts_error,
13
+ maxRequestTimeForNetworkCallsMs,
13
14
  outputContent,
14
15
  outputDebug,
15
16
  runWithTimer,
16
- serviceEnvironment
17
- } from "./chunk-LXQWZFLX.js";
17
+ serviceEnvironment,
18
+ skipNetworkLevelRetry,
19
+ sleep
20
+ } from "./chunk-J3C7BGUW.js";
18
21
  import {
19
22
  __commonJS,
20
23
  __require,
@@ -26918,6 +26921,37 @@ function sanitizeURL(url) {
26918
26921
  // ../cli-kit/dist/private/node/api.js
26919
26922
  init_cjs_shims();
26920
26923
 
26924
+ // ../cli-kit/dist/private/node/sleep-with-backoff.js
26925
+ init_cjs_shims();
26926
+ var DEFAULT_RETRY_DELAY_MS = 300, DEFAULT_MAX_TIME_MS = 1e4;
26927
+ function calculateBackoffDelay(attempt, firstDelayMs, maximumDelayMs = DEFAULT_MAX_TIME_MS / 3) {
26928
+ if (attempt === 0)
26929
+ return 0;
26930
+ let delayMultiplier = 2 ** (attempt - 1);
26931
+ return Math.min(firstDelayMs * delayMultiplier, maximumDelayMs);
26932
+ }
26933
+ async function* backoffGenerator(shouldContinue, firstDelayMs) {
26934
+ let attempt = 0;
26935
+ for (; ; ) {
26936
+ let nextDelayMs = calculateBackoffDelay(attempt, firstDelayMs);
26937
+ if (!shouldContinue(nextDelayMs))
26938
+ return { remainingMs: 0, iterations: attempt };
26939
+ await sleep(nextDelayMs / 1e3), yield nextDelayMs, attempt++;
26940
+ }
26941
+ }
26942
+ async function* sleepWithBackoffUntil(maxTimeMs = DEFAULT_MAX_TIME_MS, firstDelayMs = DEFAULT_RETRY_DELAY_MS) {
26943
+ if (maxTimeMs <= 0)
26944
+ return { remainingMs: 0, iterations: 0 };
26945
+ let startTime = Date.now(), generator = backoffGenerator((nextDelay) => Date.now() - startTime + nextDelay <= maxTimeMs, firstDelayMs), attempt = 0;
26946
+ for await (let delayMs of generator)
26947
+ yield delayMs, attempt++;
26948
+ let elapsedTime = Date.now() - startTime;
26949
+ return {
26950
+ remainingMs: maxTimeMs - elapsedTime,
26951
+ iterations: attempt
26952
+ };
26953
+ }
26954
+
26921
26955
  // ../../node_modules/.pnpm/graphql-request@6.1.0_graphql@16.10.0/node_modules/graphql-request/build/esm/index.js
26922
26956
  init_cjs_shims();
26923
26957
 
@@ -27278,7 +27312,7 @@ var createRequestBody = (query, variables, operationName, jsonSerializer) => {
27278
27312
 
27279
27313
  // ../cli-kit/dist/private/node/api.js
27280
27314
  import { performance } from "perf_hooks";
27281
- var allAPIs = ["admin", "storefront-renderer", "partners", "business-platform", "app-management"], DEFAULT_RETRY_DELAY_MS = 1e3, DEFAULT_RETRY_LIMIT = 10, interestingResponseHeaders = /* @__PURE__ */ new Set([
27315
+ var allAPIs = ["admin", "storefront-renderer", "partners", "business-platform", "app-management"], DEFAULT_RETRY_DELAY_MS2 = 1e3, DEFAULT_RETRY_LIMIT = 10, interestingResponseHeaders = /* @__PURE__ */ new Set([
27282
27316
  "cache-control",
27283
27317
  "content-type",
27284
27318
  "etag",
@@ -27289,10 +27323,38 @@ var allAPIs = ["admin", "storefront-renderer", "partners", "business-platform",
27289
27323
  function responseHeaderIsInteresting(header) {
27290
27324
  return interestingResponseHeaders.has(header);
27291
27325
  }
27292
- async function makeVerboseRequest({ request, url }) {
27293
- let t0 = performance.now(), duration = 0, responseHeaders = {}, sanitizedUrl = sanitizeURL(url), response = {};
27326
+ function isARetryableNetworkError(error) {
27327
+ return error instanceof Error ? [
27328
+ "socket hang up",
27329
+ "ECONNRESET",
27330
+ "ECONNABORTED",
27331
+ "ENOTFOUND",
27332
+ "ENETUNREACH",
27333
+ "network socket disonnected",
27334
+ "ETIMEDOUT",
27335
+ "ECONNREFUSED",
27336
+ "EAI_FAIL",
27337
+ "The operation was aborted."
27338
+ ].some((issueMessage) => error.message.includes(issueMessage)) : !1;
27339
+ }
27340
+ async function runRequestWithNetworkLevelRetry(requestOptions) {
27341
+ if (!requestOptions.useNetworkLevelRetry)
27342
+ return requestOptions.request();
27343
+ let lastSeenError;
27344
+ for await (let _delayMs of sleepWithBackoffUntil(requestOptions.maxRetryTimeMs))
27345
+ try {
27346
+ return await requestOptions.request();
27347
+ } catch (err) {
27348
+ if (lastSeenError = err, !isARetryableNetworkError(err))
27349
+ throw err;
27350
+ outputDebug(`Retrying request to ${requestOptions.url} due to network error ${err}`);
27351
+ }
27352
+ throw lastSeenError;
27353
+ }
27354
+ async function makeVerboseRequest(requestOptions) {
27355
+ let t0 = performance.now(), duration = 0, responseHeaders = {}, sanitizedUrl = sanitizeURL(requestOptions.url), response = {};
27294
27356
  try {
27295
- response = await request(), response.headers.forEach((value, key) => {
27357
+ response = await runRequestWithNetworkLevelRetry(requestOptions), response.headers.forEach((value, key) => {
27296
27358
  responseHeaderIsInteresting(key) && (responseHeaders[key] = value);
27297
27359
  });
27298
27360
  } catch (err) {
@@ -27358,8 +27420,8 @@ async function makeVerboseRequest({ request, url }) {
27358
27420
  function errorsIncludeStatus429(error) {
27359
27421
  return error.response.status === 429 ? !0 : typeof error.response.errors == "string" ? !1 : error.response.errors?.some((error2) => error2.extensions?.code === "429") ?? !1;
27360
27422
  }
27361
- async function simpleRequestWithDebugLog({ request, url }, errorHandler) {
27362
- let result = await makeVerboseRequest({ request, url });
27423
+ async function simpleRequestWithDebugLog(requestOptions, errorHandler) {
27424
+ let result = await makeVerboseRequest(requestOptions);
27363
27425
  switch (outputDebug(`Request to ${result.sanitizedUrl} completed in ${result.duration} ms
27364
27426
  With response headers:
27365
27427
  ${result.sanitizedHeaders}
@@ -27376,10 +27438,10 @@ ${result.sanitizedHeaders}
27376
27438
  throw errorHandler ? errorHandler(result.clientError, result.requestId) : result.clientError;
27377
27439
  }
27378
27440
  }
27379
- async function retryAwareRequest({ request, url }, errorHandler, unauthorizedHandler, retryOptions = {
27441
+ async function retryAwareRequest(requestOptions, errorHandler, unauthorizedHandler, retryOptions = {
27380
27442
  scheduleDelay: setTimeout
27381
27443
  }) {
27382
- let retriesUsed = 0, limitRetriesTo = retryOptions.limitRetriesTo ?? DEFAULT_RETRY_LIMIT, result = await makeVerboseRequest({ request, url });
27444
+ let retriesUsed = 0, limitRetriesTo = retryOptions.limitRetriesTo ?? DEFAULT_RETRY_LIMIT, result = await makeVerboseRequest(requestOptions);
27383
27445
  for (outputDebug(`Request to ${result.sanitizedUrl} completed in ${result.duration} ms
27384
27446
  With response headers:
27385
27447
  ${result.sanitizedHeaders}
@@ -27398,10 +27460,10 @@ ${result.sanitizedHeaders}
27398
27460
  if (limitRetriesTo <= retriesUsed)
27399
27461
  throw outputDebug(`${limitRetriesTo} retries exhausted for request to ${result.sanitizedUrl}`), errorHandler ? errorHandler(result.clientError, result.requestId) : result.clientError;
27400
27462
  retriesUsed += 1;
27401
- let retryDelayMs = result.delayMs ?? retryOptions.defaultDelayMs ?? DEFAULT_RETRY_DELAY_MS;
27463
+ let retryDelayMs = result.delayMs ?? retryOptions.defaultDelayMs ?? DEFAULT_RETRY_DELAY_MS2;
27402
27464
  outputDebug(`Scheduling retry request #${retriesUsed} to ${result.sanitizedUrl} in ${retryDelayMs} ms`), result = await new Promise((resolve) => {
27403
27465
  retryOptions.scheduleDelay(() => {
27404
- resolve(makeVerboseRequest({ request, url }));
27466
+ resolve(makeVerboseRequest(requestOptions));
27405
27467
  }, retryDelayMs);
27406
27468
  });
27407
27469
  }
@@ -28271,25 +28333,76 @@ function fixResponseChunkedTransferBadEnding(request, errorCallback) {
28271
28333
  function formData() {
28272
28334
  return new import_form_data.default();
28273
28335
  }
28274
- async function fetch2(url, init) {
28275
- return runWithTimer("cmd_all_timing_network_ms")(() => simpleRequestWithDebugLog({ url: url.toString(), request: () => fetch(url, init) }));
28276
- }
28277
- async function shopifyFetch(url, init) {
28278
- let sanitizedUrl = sanitizeURL(url.toString()), options = {
28279
- ...init ?? {},
28280
- headers: {
28281
- ...await buildHeaders(),
28282
- ...init?.headers ?? {}
28283
- }
28336
+ function requestMode(preset = "default", env = process.env) {
28337
+ let networkLevelRetryIsSupported = !skipNetworkLevelRetry(env);
28338
+ switch (preset) {
28339
+ case "default":
28340
+ return {
28341
+ useNetworkLevelRetry: networkLevelRetryIsSupported,
28342
+ maxRetryTimeMs: DEFAULT_MAX_TIME_MS,
28343
+ useAbortSignal: !0,
28344
+ timeoutMs: maxRequestTimeForNetworkCallsMs(env)
28345
+ };
28346
+ case "non-blocking":
28347
+ return {
28348
+ useNetworkLevelRetry: !1,
28349
+ useAbortSignal: !0,
28350
+ timeoutMs: maxRequestTimeForNetworkCallsMs(env)
28351
+ };
28352
+ case "slow-request":
28353
+ return {
28354
+ useNetworkLevelRetry: !1,
28355
+ useAbortSignal: !1
28356
+ };
28357
+ }
28358
+ return {
28359
+ ...preset,
28360
+ useNetworkLevelRetry: networkLevelRetryIsSupported && preset.useNetworkLevelRetry
28284
28361
  };
28285
- return outputDebug(outputContent`Sending ${options.method ?? "GET"} request to URL ${sanitizedUrl}
28362
+ }
28363
+ function abortSignalFromRequestBehaviour(behaviour) {
28364
+ let signal;
28365
+ return behaviour.useAbortSignal === !0 ? signal = AbortSignal.timeout(behaviour.timeoutMs) : behaviour.useAbortSignal && typeof behaviour.useAbortSignal == "function" ? signal = behaviour.useAbortSignal() : behaviour.useAbortSignal && (signal = behaviour.useAbortSignal), signal;
28366
+ }
28367
+ async function innerFetch({ url, behaviour, init, logRequest, useHttpsAgent }) {
28368
+ logRequest && outputDebug(outputContent`Sending ${init?.method ?? "GET"} request to URL ${sanitizeURL(url.toString())}
28286
28369
  With request headers:
28287
- ${sanitizedHeadersOutput(options.headers ?? {})}
28288
- `), runWithTimer("cmd_all_timing_network_ms")(async () => simpleRequestWithDebugLog({
28370
+ ${sanitizedHeadersOutput(init?.headers ?? {})}
28371
+ `);
28372
+ let agent;
28373
+ useHttpsAgent && (agent = await httpsAgent());
28374
+ let request = async () => {
28375
+ let signal = abortSignalFromRequestBehaviour(behaviour);
28376
+ return init?.signal && (signal = init.signal), fetch(url, { ...init, agent, signal });
28377
+ };
28378
+ return runWithTimer("cmd_all_timing_network_ms")(async () => simpleRequestWithDebugLog({
28289
28379
  url: url.toString(),
28290
- request: async () => fetch(url, { ...init, agent: await httpsAgent() })
28380
+ request,
28381
+ ...behaviour
28291
28382
  }));
28292
28383
  }
28384
+ async function fetch2(url, init, preferredBehaviour) {
28385
+ let options = {
28386
+ url,
28387
+ init,
28388
+ logRequest: !1,
28389
+ useHttpsAgent: !1,
28390
+ // all special behaviours are disabled by default
28391
+ behaviour: requestMode(preferredBehaviour || "non-blocking")
28392
+ };
28393
+ return innerFetch(options);
28394
+ }
28395
+ async function shopifyFetch(url, init, preferredBehaviour) {
28396
+ let options = {
28397
+ url,
28398
+ init,
28399
+ logRequest: !0,
28400
+ useHttpsAgent: !0,
28401
+ // special behaviours enabled by default
28402
+ behaviour: preferredBehaviour ? requestMode(preferredBehaviour) : requestMode()
28403
+ };
28404
+ return innerFetch(options);
28405
+ }
28293
28406
 
28294
28407
  // ../../node_modules/.pnpm/zod@3.24.1/node_modules/zod/lib/index.mjs
28295
28408
  init_cjs_shims();
@@ -31249,6 +31362,8 @@ export {
31249
31362
  require_mime_types,
31250
31363
  FetchError,
31251
31364
  formData,
31365
+ requestMode,
31366
+ abortSignalFromRequestBehaviour,
31252
31367
  fetch2 as fetch,
31253
31368
  shopifyFetch,
31254
31369
  z
@@ -31271,4 +31386,4 @@ mime-types/index.js:
31271
31386
  * MIT Licensed
31272
31387
  *)
31273
31388
  */
31274
- //# sourceMappingURL=chunk-W6WCETMJ.js.map
31389
+ //# sourceMappingURL=chunk-IX7XAR6F.js.map
@@ -6413,10 +6413,10 @@ var require_ci_info = __commonJS({
6413
6413
  exports.name = null;
6414
6414
  exports.isPR = null;
6415
6415
  vendors.forEach(function(vendor) {
6416
- let isCI = (Array.isArray(vendor.env) ? vendor.env : [vendor.env]).every(function(obj) {
6416
+ let isCI2 = (Array.isArray(vendor.env) ? vendor.env : [vendor.env]).every(function(obj) {
6417
6417
  return checkEnv(obj);
6418
6418
  });
6419
- if (exports[vendor.constant] = isCI, !!isCI)
6419
+ if (exports[vendor.constant] = isCI2, !!isCI2)
6420
6420
  switch (exports.name = vendor.name, typeof vendor.pr) {
6421
6421
  case "string":
6422
6422
  exports.isPR = !!env3[vendor.pr];
@@ -23827,7 +23827,9 @@ var identifier = "shopify-cli", cacheFolder = () => process.env.XDG_CACHE_HOME ?
23827
23827
  otelURL: "SHOPIFY_CLI_OTEL_EXPORTER_OTLP_ENDPOINT",
23828
23828
  themeKitAccessDomain: "SHOPIFY_CLI_THEME_KIT_ACCESS_DOMAIN",
23829
23829
  json: "SHOPIFY_FLAG_JSON",
23830
- neverUsePartnersApi: "SHOPIFY_CLI_NEVER_USE_PARTNERS_API"
23830
+ neverUsePartnersApi: "SHOPIFY_CLI_NEVER_USE_PARTNERS_API",
23831
+ skipNetworkLevelRetry: "SHOPIFY_CLI_SKIP_NETWORK_LEVEL_RETRY",
23832
+ maxRequestTimeForNetworkCalls: "SHOPIFY_CLI_MAX_REQUEST_TIME_FOR_NETWORK_CALLS"
23831
23833
  }, defaultThemeKitAccessDomain = "theme-kit-access.shopifyapps.com", systemEnvironmentVariables = {
23832
23834
  backendPort: "BACKEND_PORT"
23833
23835
  }, pathConstants = {
@@ -24888,8 +24890,7 @@ function buildExec(command, args, options) {
24888
24890
  detached: options?.background,
24889
24891
  cleanup: !options?.background
24890
24892
  });
24891
- return outputDebug(`
24892
- Running system process${options?.background ? " in background" : ""}:
24893
+ return outputDebug(`Running system process${options?.background ? " in background" : ""}:
24893
24894
  \xB7 Command: ${command} ${args.join(" ")}
24894
24895
  \xB7 Working directory: ${executionCwd}
24895
24896
  `), commandProcess;
@@ -24912,6 +24913,9 @@ async function sleep(seconds) {
24912
24913
  function terminalSupportsPrompting() {
24913
24914
  return isTruthy(process.env.CI) ? !1 : !!(process.stdin.isTTY && process.stdout.isTTY);
24914
24915
  }
24916
+ function isCI() {
24917
+ return isTruthy(process.env.CI);
24918
+ }
24915
24919
 
24916
24920
  // ../cli-kit/dist/private/node/context/spin-cache.js
24917
24921
  init_cjs_shims();
@@ -25110,6 +25114,13 @@ function jsonOutputEnabled(environment = getEnvironmentVariables()) {
25110
25114
  function blockPartnersAccess() {
25111
25115
  return isTruthy(getEnvironmentVariables()[environmentVariables.neverUsePartnersApi]);
25112
25116
  }
25117
+ function skipNetworkLevelRetry(environment = getEnvironmentVariables()) {
25118
+ return isTruthy(environment[environmentVariables.skipNetworkLevelRetry]);
25119
+ }
25120
+ function maxRequestTimeForNetworkCallsMs(environment = getEnvironmentVariables()) {
25121
+ let maxRequestTime = environment[environmentVariables.maxRequestTimeForNetworkCalls];
25122
+ return maxRequestTime && !isNaN(Number(maxRequestTime)) ? Number(maxRequestTime) : 15 * 1e3;
25123
+ }
25113
25124
 
25114
25125
  // ../../node_modules/.pnpm/is-interactive@2.0.0/node_modules/is-interactive/index.js
25115
25126
  init_cjs_shims();
@@ -29502,7 +29513,7 @@ function errorMessageImpliesEnvironmentIssue(message) {
29502
29513
 
29503
29514
  // ../cli-kit/dist/public/node/abort.js
29504
29515
  init_cjs_shims();
29505
- var import_node_abort_controller = __toESM(require_node_abort_controller()), AbortController = class extends import_node_abort_controller.AbortController {
29516
+ var import_node_abort_controller = __toESM(require_node_abort_controller(), 1), AbortController = class extends import_node_abort_controller.AbortController {
29506
29517
  }, AbortSignal = class extends import_node_abort_controller.AbortSignal {
29507
29518
  };
29508
29519
 
@@ -29533,7 +29544,7 @@ function createRuntimeMetadataContainer(defaultPublicMetadata = {}) {
29533
29544
  try {
29534
29545
  await getAndSet();
29535
29546
  } catch (error) {
29536
- let { sendErrorToBugsnag } = await import("./error-handler-FV3FJ3VW.js");
29547
+ let { sendErrorToBugsnag } = await import("./error-handler-WC4XSLZQ.js");
29537
29548
  await sendErrorToBugsnag(error, "unexpected_error");
29538
29549
  }
29539
29550
  }, durationStack = [];
@@ -31282,8 +31293,6 @@ export {
31282
31293
  uniq,
31283
31294
  uniqBy,
31284
31295
  difference,
31285
- tslib_es6_exports,
31286
- init_tslib_es6,
31287
31296
  getRandomName,
31288
31297
  capitalize,
31289
31298
  pluralize,
@@ -31340,6 +31349,7 @@ export {
31340
31349
  exec2 as exec,
31341
31350
  sleep,
31342
31351
  terminalSupportsPrompting,
31352
+ isCI,
31343
31353
  currentProcessIsGlobal,
31344
31354
  installGlobalShopifyCLI,
31345
31355
  installGlobalCLIPrompt,
@@ -31424,6 +31434,8 @@ export {
31424
31434
  getIdentityTokenInformation,
31425
31435
  jsonOutputEnabled,
31426
31436
  blockPartnersAccess,
31437
+ skipNetworkLevelRetry,
31438
+ maxRequestTimeForNetworkCallsMs,
31427
31439
  isTerminalInteractive,
31428
31440
  homeDirectory,
31429
31441
  isDevelopment,
@@ -31539,4 +31551,4 @@ react-reconciler/cjs/react-reconciler-constants.development.js:
31539
31551
  * LICENSE file in the root directory of this source tree.
31540
31552
  *)
31541
31553
  */
31542
- //# sourceMappingURL=chunk-LXQWZFLX.js.map
31554
+ //# sourceMappingURL=chunk-J3C7BGUW.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  renderConcurrent,
3
3
  renderTasks
4
- } from "./chunk-LXQWZFLX.js";
4
+ } from "./chunk-J3C7BGUW.js";
5
5
  import {
6
6
  init_cjs_shims
7
7
  } from "./chunk-PKR7KJ6P.js";
@@ -43,4 +43,4 @@ async function asyncTasks() {
43
43
  export {
44
44
  asyncTasks
45
45
  };
46
- //# sourceMappingURL=chunk-ULBY4CUT.js.map
46
+ //# sourceMappingURL=chunk-MYIEKIZR.js.map
@@ -5,7 +5,7 @@ import {
5
5
  renderDangerousConfirmationPrompt,
6
6
  renderSelectPrompt,
7
7
  renderTextPrompt
8
- } from "./chunk-LXQWZFLX.js";
8
+ } from "./chunk-J3C7BGUW.js";
9
9
  import {
10
10
  init_cjs_shims
11
11
  } from "./chunk-PKR7KJ6P.js";
@@ -175,4 +175,4 @@ async function prompts() {
175
175
  export {
176
176
  prompts
177
177
  };
178
- //# sourceMappingURL=chunk-RB5K7TGA.js.map
178
+ //# sourceMappingURL=chunk-NHMQOM7T.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  versionService
3
- } from "./chunk-6KV6OKFB.js";
3
+ } from "./chunk-U7E5RRYF.js";
4
4
  import {
5
5
  base_command_default
6
- } from "./chunk-EHL6XSBG.js";
6
+ } from "./chunk-4BPRKRYD.js";
7
7
  import {
8
8
  init_cjs_shims
9
9
  } from "./chunk-PKR7KJ6P.js";
@@ -22,4 +22,4 @@ var Version = class extends base_command_default {
22
22
  export {
23
23
  Version
24
24
  };
25
- //# sourceMappingURL=chunk-3THHNKSL.js.map
25
+ //# sourceMappingURL=chunk-NZVJ77WD.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  searchService
3
- } from "./chunk-MVZ4LGIM.js";
3
+ } from "./chunk-CBLCYLJO.js";
4
4
  import {
5
5
  base_command_default
6
- } from "./chunk-EHL6XSBG.js";
6
+ } from "./chunk-4BPRKRYD.js";
7
7
  import {
8
8
  require_lib
9
9
  } from "./chunk-VSKRQ3JT.js";
@@ -18,6 +18,9 @@ var import_core = __toESM(require_lib(), 1), Search = class _Search extends base
18
18
  static {
19
19
  this.description = "Starts a search on shopify.dev.";
20
20
  }
21
+ static {
22
+ this.usage = "search [query]";
23
+ }
21
24
  static {
22
25
  this.examples = [
23
26
  `# open the search modal on Shopify.dev
@@ -45,4 +48,4 @@ var import_core = __toESM(require_lib(), 1), Search = class _Search extends base
45
48
  export {
46
49
  Search
47
50
  };
48
- //# sourceMappingURL=chunk-742MYXOA.js.map
51
+ //# sourceMappingURL=chunk-O5U2T7LH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  base_command_default
3
- } from "./chunk-EHL6XSBG.js";
3
+ } from "./chunk-4BPRKRYD.js";
4
4
  import {
5
5
  require_lib
6
6
  } from "./chunk-VSKRQ3JT.js";
@@ -21,6 +21,9 @@ var HelpCommand = class _HelpCommand extends base_command_default {
21
21
  static {
22
22
  this.description = "Display help for Shopify CLI";
23
23
  }
24
+ static {
25
+ this.usage = "help [command] [flags]";
26
+ }
24
27
  static {
25
28
  this.flags = {
26
29
  "nested-commands": import_core.Flags.boolean({
@@ -43,4 +46,4 @@ var HelpCommand = class _HelpCommand extends base_command_default {
43
46
  export {
44
47
  HelpCommand
45
48
  };
46
- //# sourceMappingURL=chunk-FUA76K3T.js.map
49
+ //# sourceMappingURL=chunk-PHWPEUZI.js.map
@@ -4,16 +4,16 @@ import {
4
4
  import {
5
5
  fanoutHooks,
6
6
  reportAnalyticsEvent
7
- } from "./chunk-6TPMZTXG.js";
7
+ } from "./chunk-AW7SZYGV.js";
8
8
  import {
9
9
  getEnvironmentData
10
- } from "./chunk-5TZDSORY.js";
10
+ } from "./chunk-S3PY2ULH.js";
11
11
  import {
12
12
  CLI_KIT_VERSION
13
- } from "./chunk-DFFXOFLT.js";
13
+ } from "./chunk-DHO2PUCK.js";
14
14
  import {
15
15
  runWithRateLimit
16
- } from "./chunk-WWI2QVFK.js";
16
+ } from "./chunk-5ZMRZCPZ.js";
17
17
  import {
18
18
  AbortSilentError,
19
19
  CancelExecution,
@@ -28,7 +28,7 @@ import {
28
28
  reportingRateLimit,
29
29
  require_stacktracey,
30
30
  shouldReportErrorAsUnexpected
31
- } from "./chunk-LXQWZFLX.js";
31
+ } from "./chunk-J3C7BGUW.js";
32
32
  import {
33
33
  cwd,
34
34
  isAbsolutePath,
@@ -2029,7 +2029,7 @@ var require_notifier = __commonJS({
2029
2029
 
2030
2030
  // ../cli-kit/dist/public/node/error-handler.js
2031
2031
  init_cjs_shims();
2032
- var import_core = __toESM(require_lib(), 1), import_stacktracey = __toESM(require_stacktracey(), 1), import_js = __toESM(require_notifier(), 1);
2032
+ var import_core = __toESM(require_lib()), import_stacktracey = __toESM(require_stacktracey()), import_js = __toESM(require_notifier());
2033
2033
  import { realpath } from "fs/promises";
2034
2034
  async function errorHandler(error, config) {
2035
2035
  if (error instanceof CancelExecution)
@@ -2136,4 +2136,4 @@ export {
2136
2136
  registerCleanBugsnagErrorsFromWithinPlugins,
2137
2137
  addBugsnagMetadata
2138
2138
  };
2139
- //# sourceMappingURL=chunk-3Q5TSFEN.js.map
2139
+ //# sourceMappingURL=chunk-QVZW3IVL.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  packageManagerFromUserAgent
3
- } from "./chunk-WWI2QVFK.js";
3
+ } from "./chunk-5ZMRZCPZ.js";
4
4
  import {
5
5
  currentProcessIsGlobal,
6
6
  inferPackageManagerForGlobalCLI,
7
7
  outputContent,
8
8
  outputToken
9
- } from "./chunk-LXQWZFLX.js";
9
+ } from "./chunk-J3C7BGUW.js";
10
10
  import {
11
11
  init_cjs_shims
12
12
  } from "./chunk-PKR7KJ6P.js";
@@ -25,4 +25,4 @@ export {
25
25
  cliInstallCommand,
26
26
  getOutputUpdateCLIReminder
27
27
  };
28
- //# sourceMappingURL=chunk-LTIYNGCV.js.map
28
+ //# sourceMappingURL=chunk-RA5UDHSI.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  logout
3
- } from "./chunk-4SFWD6RY.js";
3
+ } from "./chunk-VTEM2QWG.js";
4
4
  import {
5
5
  base_command_default
6
- } from "./chunk-EHL6XSBG.js";
6
+ } from "./chunk-4BPRKRYD.js";
7
7
  import {
8
8
  outputSuccess
9
- } from "./chunk-LXQWZFLX.js";
9
+ } from "./chunk-J3C7BGUW.js";
10
10
  import {
11
11
  init_cjs_shims
12
12
  } from "./chunk-PKR7KJ6P.js";
@@ -25,4 +25,4 @@ var Logout = class extends base_command_default {
25
25
  export {
26
26
  Logout
27
27
  };
28
- //# sourceMappingURL=chunk-4OD4TP6T.js.map
28
+ //# sourceMappingURL=chunk-RWT677FV.js.map