@shopify/create-app 4.7.1 → 4.8.1

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 (40) hide show
  1. package/dist/{analytics-TKGJW4CI.js → analytics-AIFPAQFX.js} +12 -12
  2. package/dist/{analytics-3C6IM5OH.js → analytics-MBYVUT75.js} +12 -12
  3. package/dist/{chunk-OMR2LYUV.js → chunk-5YZJRRTS.js} +3 -3
  4. package/dist/{chunk-UW2WSGNC.js → chunk-CNLC2F6A.js} +7 -7
  5. package/dist/{chunk-CCB7HUXM.js → chunk-D4SDIFY6.js} +2 -2
  6. package/dist/{chunk-PLO3ASNN.js → chunk-E44G6DYY.js} +9 -2
  7. package/dist/{chunk-7YZDH26Z.js → chunk-EYEPSKLS.js} +16 -16
  8. package/dist/{chunk-NTRP5UPL.js → chunk-FQE245PE.js} +19 -15
  9. package/dist/{chunk-TT7YBXNU.js → chunk-FZPS2NF6.js} +2 -2
  10. package/dist/{chunk-MVIZLNDV.js → chunk-HUPULG7V.js} +2 -2
  11. package/dist/{chunk-OHAG6RQT.js → chunk-NDF4E33L.js} +16 -12
  12. package/dist/{chunk-3CEBU7F7.js → chunk-NGSR3P6K.js} +7 -6
  13. package/dist/{chunk-EOOWFAUQ.js → chunk-QO4QODH2.js} +9 -9
  14. package/dist/{chunk-3WA6JLES.js → chunk-QY3743I6.js} +6 -6
  15. package/dist/{chunk-KITZ5RLX.js → chunk-SHHHVN2Y.js} +4 -4
  16. package/dist/{chunk-SBZZKBLZ.js → chunk-SXQGDWG4.js} +3 -3
  17. package/dist/{chunk-ARIPXAMF.js → chunk-XTAFCII7.js} +5 -5
  18. package/dist/{conf-store-PMOFWF3V.js → conf-store-PMCHDMJZ.js} +5 -5
  19. package/dist/{deprecations-XSONJDPJ.js → deprecations-PXGEALKZ.js} +8 -8
  20. package/dist/{environments-7M5VG3ZO.js → environments-RIRFJDPQ.js} +9 -9
  21. package/dist/{error-handler-OSY5Z5EY.js → error-handler-5EPC54UY.js} +12 -12
  22. package/dist/{fs-QKWQO24G.js → fs-VSX34RFB.js} +3 -3
  23. package/dist/hooks/postrun.js +4 -4
  24. package/dist/hooks/prerun.js +6 -6
  25. package/dist/index.js +32816 -23908
  26. package/dist/{is-global-27HWUS75.js → is-global-4NGXAXDF.js} +3 -3
  27. package/dist/{local-ELO22BKI.js → local-XBVJA7XT.js} +2 -2
  28. package/dist/{metadata-4DNOT3O4.js → metadata-DNUNXC6T.js} +3 -3
  29. package/dist/{node-package-manager-TZ4UXLZO.js → node-package-manager-O3632ODR.js} +10 -10
  30. package/dist/{notifications-system-I4ONBO77.js → notifications-system-YDTVYHLL.js} +13 -13
  31. package/dist/{os-7AHYIADA.js → os-FXDEWMMP.js} +4 -4
  32. package/dist/{output-KF5RQHUT.js → output-7IWQH62B.js} +3 -3
  33. package/dist/{system-J2KVDFSW.js → system-FORA44FB.js} +8 -8
  34. package/dist/tsconfig.tsbuildinfo +1 -1
  35. package/dist/{ui-KTYAOJV5.js → ui-OM553KPT.js} +8 -8
  36. package/dist/{upgrade-YR43DQNI.js → upgrade-BDSSLQBV.js} +14 -14
  37. package/dist/{version-XTE3XEL6.js → version-JYAZEOF6.js} +2 -2
  38. package/dist/{version-CS66ODDA.js → version-SDCJ3VG5.js} +9 -9
  39. package/oclif.manifest.json +1 -1
  40. package/package.json +3 -3
@@ -6,25 +6,25 @@ import {
6
6
  recordTiming,
7
7
  reportAnalyticsEvent,
8
8
  sendAnalyticsEventFromStdin
9
- } from "./chunk-NTRP5UPL.js";
9
+ } from "./chunk-FQE245PE.js";
10
10
  import "./chunk-MSED5ZFM.js";
11
- import "./chunk-TT7YBXNU.js";
11
+ import "./chunk-FZPS2NF6.js";
12
12
  import "./chunk-G53O4PDO.js";
13
- import "./chunk-3WA6JLES.js";
14
- import "./chunk-KITZ5RLX.js";
15
- import "./chunk-EOOWFAUQ.js";
16
- import "./chunk-PLO3ASNN.js";
17
- import "./chunk-SBZZKBLZ.js";
18
- import "./chunk-ARIPXAMF.js";
13
+ import "./chunk-QY3743I6.js";
14
+ import "./chunk-SHHHVN2Y.js";
15
+ import "./chunk-QO4QODH2.js";
16
+ import "./chunk-E44G6DYY.js";
17
+ import "./chunk-SXQGDWG4.js";
18
+ import "./chunk-XTAFCII7.js";
19
19
  import "./chunk-CM6ALOD7.js";
20
20
  import "./chunk-E43EDJOG.js";
21
21
  import "./chunk-ODCXYGJ2.js";
22
22
  import "./chunk-LBXDGVFS.js";
23
23
  import "./chunk-JGGOQOPO.js";
24
24
  import "./chunk-OQ3KXXGH.js";
25
- import "./chunk-MVIZLNDV.js";
26
- import "./chunk-UW2WSGNC.js";
27
- import "./chunk-OMR2LYUV.js";
25
+ import "./chunk-HUPULG7V.js";
26
+ import "./chunk-CNLC2F6A.js";
27
+ import "./chunk-5YZJRRTS.js";
28
28
  import "./chunk-7OHJH7BF.js";
29
29
  import "./chunk-HNIAZN6U.js";
30
30
  import "./chunk-C3J4HVUN.js";
@@ -41,4 +41,4 @@ export {
41
41
  reportAnalyticsEvent,
42
42
  sendAnalyticsEventFromStdin
43
43
  };
44
- //# sourceMappingURL=analytics-TKGJW4CI.js.map
44
+ //# sourceMappingURL=analytics-AIFPAQFX.js.map
@@ -2,25 +2,25 @@ import {
2
2
  getEnvironmentData,
3
3
  getSensitiveEnvironmentData,
4
4
  startAnalytics
5
- } from "./chunk-NTRP5UPL.js";
5
+ } from "./chunk-FQE245PE.js";
6
6
  import "./chunk-MSED5ZFM.js";
7
- import "./chunk-TT7YBXNU.js";
7
+ import "./chunk-FZPS2NF6.js";
8
8
  import "./chunk-G53O4PDO.js";
9
- import "./chunk-3WA6JLES.js";
10
- import "./chunk-KITZ5RLX.js";
11
- import "./chunk-EOOWFAUQ.js";
12
- import "./chunk-PLO3ASNN.js";
13
- import "./chunk-SBZZKBLZ.js";
14
- import "./chunk-ARIPXAMF.js";
9
+ import "./chunk-QY3743I6.js";
10
+ import "./chunk-SHHHVN2Y.js";
11
+ import "./chunk-QO4QODH2.js";
12
+ import "./chunk-E44G6DYY.js";
13
+ import "./chunk-SXQGDWG4.js";
14
+ import "./chunk-XTAFCII7.js";
15
15
  import "./chunk-CM6ALOD7.js";
16
16
  import "./chunk-E43EDJOG.js";
17
17
  import "./chunk-ODCXYGJ2.js";
18
18
  import "./chunk-LBXDGVFS.js";
19
19
  import "./chunk-JGGOQOPO.js";
20
20
  import "./chunk-OQ3KXXGH.js";
21
- import "./chunk-MVIZLNDV.js";
22
- import "./chunk-UW2WSGNC.js";
23
- import "./chunk-OMR2LYUV.js";
21
+ import "./chunk-HUPULG7V.js";
22
+ import "./chunk-CNLC2F6A.js";
23
+ import "./chunk-5YZJRRTS.js";
24
24
  import "./chunk-7OHJH7BF.js";
25
25
  import "./chunk-HNIAZN6U.js";
26
26
  import "./chunk-C3J4HVUN.js";
@@ -33,4 +33,4 @@ export {
33
33
  getSensitiveEnvironmentData,
34
34
  startAnalytics
35
35
  };
36
- //# sourceMappingURL=analytics-3C6IM5OH.js.map
36
+ //# sourceMappingURL=analytics-MBYVUT75.js.map
@@ -174,11 +174,11 @@ var environmentVariables = {
174
174
  import { randomUUID } from "crypto";
175
175
  import { homedir as homedir2, networkInterfaces } from "os";
176
176
  async function lazyFileExists(path2) {
177
- let { fileExists } = await import("./fs-QKWQO24G.js");
177
+ let { fileExists } = await import("./fs-VSX34RFB.js");
178
178
  return fileExists(path2);
179
179
  }
180
180
  async function lazyExec(command, args) {
181
- let { exec } = await import("./system-J2KVDFSW.js");
181
+ let { exec } = await import("./system-FORA44FB.js");
182
182
  await exec(command, args);
183
183
  }
184
184
  function isTerminalInteractive() {
@@ -298,4 +298,4 @@ export {
298
298
  getThemeKitAccessDomain,
299
299
  opentelemetryDomain
300
300
  };
301
- //# sourceMappingURL=chunk-OMR2LYUV.js.map
301
+ //# sourceMappingURL=chunk-5YZJRRTS.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  isUnitTest,
3
3
  isVerbose
4
- } from "./chunk-OMR2LYUV.js";
4
+ } from "./chunk-5YZJRRTS.js";
5
5
  import {
6
6
  require_has_flag
7
7
  } from "./chunk-7OHJH7BF.js";
@@ -4734,17 +4734,17 @@ function currentProcessIsGlobal(argv = process.argv) {
4734
4734
  }
4735
4735
  }
4736
4736
  async function installGlobalShopifyCLI(packageManager) {
4737
- let { outputInfo: outputInfo2 } = await import("./output-KF5RQHUT.js"), { exec } = await import("./system-J2KVDFSW.js"), args = packageManager === "yarn" ? ["global", "add", "@shopify/cli@latest"] : ["install", "-g", "@shopify/cli@latest"];
4737
+ let { outputInfo: outputInfo2 } = await import("./output-7IWQH62B.js"), { exec } = await import("./system-FORA44FB.js"), args = packageManager === "yarn" ? ["global", "add", "@shopify/cli@latest"] : ["install", "-g", "@shopify/cli@latest"];
4738
4738
  outputInfo2(`Running ${packageManager} ${args.join(" ")}...`), await exec(packageManager, args, { stdio: "inherit" });
4739
4739
  }
4740
4740
  async function installGlobalCLIPrompt() {
4741
- let { terminalSupportsPrompting } = await import("./system-J2KVDFSW.js");
4741
+ let { terminalSupportsPrompting } = await import("./system-FORA44FB.js");
4742
4742
  if (!terminalSupportsPrompting())
4743
4743
  return { install: !1, alreadyInstalled: !1 };
4744
- let { globalCLIVersion } = await import("./version-CS66ODDA.js");
4744
+ let { globalCLIVersion } = await import("./version-SDCJ3VG5.js");
4745
4745
  if (await globalCLIVersion())
4746
4746
  return { install: !1, alreadyInstalled: !0 };
4747
- let { renderSelectPrompt } = await import("./ui-KTYAOJV5.js");
4747
+ let { renderSelectPrompt } = await import("./ui-OM553KPT.js");
4748
4748
  return { install: await renderSelectPrompt({
4749
4749
  message: "We recommend installing Shopify CLI globally in your system. Would you like to install it now?",
4750
4750
  choices: [
@@ -5531,7 +5531,7 @@ function asHumanFriendlyArray(items) {
5531
5531
  }
5532
5532
 
5533
5533
  // ../cli-kit/dist/public/common/string.js
5534
- var import_change_case = __toESM(require_dist15(), 1), SAFE_RANDOM_BUSINESS_ADJECTIVES = [
5534
+ var import_change_case = __toESM(require_dist15()), SAFE_RANDOM_BUSINESS_ADJECTIVES = [
5535
5535
  "commercial",
5536
5536
  "profitable",
5537
5537
  "amortizable",
@@ -7347,4 +7347,4 @@ export {
7347
7347
  shouldDisplayColors,
7348
7348
  formatSection
7349
7349
  };
7350
- //# sourceMappingURL=chunk-UW2WSGNC.js.map
7350
+ //# sourceMappingURL=chunk-CNLC2F6A.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  captureOutput,
3
3
  require_lib
4
- } from "./chunk-EOOWFAUQ.js";
4
+ } from "./chunk-QO4QODH2.js";
5
5
  import {
6
6
  require_semver
7
7
  } from "./chunk-OQ3KXXGH.js";
@@ -52,4 +52,4 @@ export {
52
52
  isPreReleaseVersion,
53
53
  isMajorVersionChange
54
54
  };
55
- //# sourceMappingURL=chunk-CCB7HUXM.js.map
55
+ //# sourceMappingURL=chunk-D4SDIFY6.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  outputContent,
9
9
  outputDebug
10
- } from "./chunk-UW2WSGNC.js";
10
+ } from "./chunk-CNLC2F6A.js";
11
11
  import {
12
12
  __commonJS,
13
13
  __require,
@@ -1383,9 +1383,16 @@ function makeUsernameFromId(userId) {
1383
1383
  }
1384
1384
 
1385
1385
  export {
1386
+ require_cross_spawn,
1387
+ stripFinalNewline,
1388
+ npmRunPathEnv,
1389
+ onetime_default,
1386
1390
  require_signal_exit,
1391
+ isStream,
1392
+ isWritableStream,
1393
+ require_merge_stream,
1387
1394
  execa,
1388
1395
  username,
1389
1396
  platformAndArch
1390
1397
  };
1391
- //# sourceMappingURL=chunk-PLO3ASNN.js.map
1398
+ //# sourceMappingURL=chunk-E44G6DYY.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  treeKill
3
- } from "./chunk-MVIZLNDV.js";
3
+ } from "./chunk-HUPULG7V.js";
4
4
  import {
5
5
  init_cjs_shims
6
6
  } from "./chunk-3XNI6LP4.js";
@@ -26,22 +26,22 @@ function waitForPostRunHookAndExit() {
26
26
  }
27
27
  var hook = async ({ config, Command }) => {
28
28
  await detectStopCommand(Command);
29
- let metadata = await import("./metadata-4DNOT3O4.js"), { commandStartOptions } = metadata.getAllSensitiveMetadata();
29
+ let metadata = await import("./metadata-DNUNXC6T.js"), { commandStartOptions } = metadata.getAllSensitiveMetadata();
30
30
  commandStartOptions && await metadata.addSensitiveMetadata(() => ({
31
31
  commandStartOptions: {
32
32
  ...commandStartOptions,
33
33
  endTime: (/* @__PURE__ */ new Date()).getTime()
34
34
  }
35
35
  }));
36
- let { postrun: deprecationsHook } = await import("./deprecations-XSONJDPJ.js");
36
+ let { postrun: deprecationsHook } = await import("./deprecations-PXGEALKZ.js");
37
37
  deprecationsHook(Command);
38
- let { outputDebug } = await import("./output-KF5RQHUT.js"), command = Command.id.replace(/:/g, " ");
38
+ let { outputDebug } = await import("./output-7IWQH62B.js"), command = Command.id.replace(/:/g, " ");
39
39
  outputDebug(`Completed command ${command}`), !command.includes("notifications") && !command.includes("upgrade") && !command.includes("send-analytics") && await autoUpgradeIfNeeded();
40
- let { reportAnalyticsEvent } = await import("./analytics-TKGJW4CI.js");
40
+ let { reportAnalyticsEvent } = await import("./analytics-AIFPAQFX.js");
41
41
  await reportAnalyticsEvent({ config, exitMode: "ok" }), postRunHookCompleted = !0;
42
42
  };
43
43
  async function autoUpgradeIfNeeded() {
44
- let { versionToAutoUpgrade, warnIfUpgradeAvailable } = await import("./upgrade-YR43DQNI.js"), newerVersion = versionToAutoUpgrade();
44
+ let { versionToAutoUpgrade, warnIfUpgradeAvailable } = await import("./upgrade-BDSSLQBV.js"), newerVersion = versionToAutoUpgrade();
45
45
  if (!newerVersion) {
46
46
  await warnIfUpgradeAvailable();
47
47
  return;
@@ -49,7 +49,7 @@ async function autoUpgradeIfNeeded() {
49
49
  if (process.env.SHOPIFY_CLI_FORCE_AUTO_UPGRADE === "1")
50
50
  await performAutoUpgrade(newerVersion);
51
51
  else {
52
- let { runAtMinimumInterval } = await import("./conf-store-PMOFWF3V.js");
52
+ let { runAtMinimumInterval } = await import("./conf-store-PMCHDMJZ.js");
53
53
  await runAtMinimumInterval("auto-upgrade", { days: 1 }, async () => {
54
54
  await performAutoUpgrade(newerVersion);
55
55
  });
@@ -57,11 +57,11 @@ async function autoUpgradeIfNeeded() {
57
57
  }
58
58
  async function performAutoUpgrade(newerVersion) {
59
59
  let [{ CLI_KIT_VERSION }, { isMajorVersionChange }, { outputWarn, outputDebug }, { getOutputUpdateCLIReminder, runCLIUpgrade, hasBlockingAutoUpgradeNotification }, metadata] = await Promise.all([
60
- import("./version-XTE3XEL6.js"),
61
- import("./version-CS66ODDA.js"),
62
- import("./output-KF5RQHUT.js"),
63
- import("./upgrade-YR43DQNI.js"),
64
- import("./metadata-4DNOT3O4.js")
60
+ import("./version-JYAZEOF6.js"),
61
+ import("./version-SDCJ3VG5.js"),
62
+ import("./output-7IWQH62B.js"),
63
+ import("./upgrade-BDSSLQBV.js"),
64
+ import("./metadata-DNUNXC6T.js")
65
65
  ]);
66
66
  if (isMajorVersionChange(CLI_KIT_VERSION, newerVersion)) {
67
67
  outputWarn(getOutputUpdateCLIReminder(newerVersion, !0)), await metadata.addPublicMetadata(() => ({
@@ -81,8 +81,8 @@ async function performAutoUpgrade(newerVersion) {
81
81
  let errorMessage = `Auto-upgrade failed: ${error}`;
82
82
  outputDebug(errorMessage), outputWarn(getOutputUpdateCLIReminder(newerVersion)), await metadata.addPublicMetadata(() => ({ env_auto_upgrade_success: !1 }));
83
83
  let [{ sendErrorToBugsnag }, { inferPackageManagerForGlobalCLI }] = await Promise.all([
84
- import("./error-handler-OSY5Z5EY.js"),
85
- import("./is-global-27HWUS75.js")
84
+ import("./error-handler-5EPC54UY.js"),
85
+ import("./is-global-4NGXAXDF.js")
86
86
  ]), enrichedError = Object.assign(new Error(errorMessage), {
87
87
  packageManager: inferPackageManagerForGlobalCLI(),
88
88
  platform: process.platform,
@@ -96,7 +96,7 @@ async function detectStopCommand(commandClass) {
96
96
  if (commandClass && "analyticsStopCommand" in commandClass && typeof commandClass.analyticsStopCommand == "function") {
97
97
  let stopCommand = commandClass.analyticsStopCommand();
98
98
  if (stopCommand) {
99
- let metadata = await import("./metadata-4DNOT3O4.js"), { commandStartOptions } = metadata.getAllSensitiveMetadata();
99
+ let metadata = await import("./metadata-DNUNXC6T.js"), { commandStartOptions } = metadata.getAllSensitiveMetadata();
100
100
  if (!commandStartOptions)
101
101
  return;
102
102
  await metadata.addSensitiveMetadata(() => ({
@@ -114,4 +114,4 @@ export {
114
114
  waitForPostRunHookAndExit,
115
115
  hook
116
116
  };
117
- //# sourceMappingURL=chunk-7YZDH26Z.js.map
117
+ //# sourceMappingURL=chunk-EYEPSKLS.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-MSED5ZFM.js";
4
4
  import {
5
5
  CLI_KIT_VERSION
6
- } from "./chunk-TT7YBXNU.js";
6
+ } from "./chunk-FZPS2NF6.js";
7
7
  import {
8
8
  FormData,
9
9
  fetch_blob_default,
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  getPackageManager,
14
14
  packageManagerFromUserAgent
15
- } from "./chunk-3WA6JLES.js";
15
+ } from "./chunk-QY3743I6.js";
16
16
  import {
17
17
  Environment,
18
18
  cacheRetrieveOrRepopulate,
@@ -27,7 +27,7 @@ import {
27
27
  setCurrentSessionId,
28
28
  setSessions,
29
29
  timeIntervalToMilliseconds
30
- } from "./chunk-KITZ5RLX.js";
30
+ } from "./chunk-SHHHVN2Y.js";
31
31
  import {
32
32
  isCI,
33
33
  isWsl,
@@ -35,17 +35,17 @@ import {
35
35
  require_baseForOwn,
36
36
  require_stacktracey,
37
37
  sleep
38
- } from "./chunk-EOOWFAUQ.js";
38
+ } from "./chunk-QO4QODH2.js";
39
39
  import {
40
40
  platformAndArch
41
- } from "./chunk-PLO3ASNN.js";
41
+ } from "./chunk-E44G6DYY.js";
42
42
  import {
43
43
  addPublicMetadata,
44
44
  addSensitiveMetadata,
45
45
  getAllPublicMetadata,
46
46
  getAllSensitiveMetadata,
47
47
  runWithTimer
48
- } from "./chunk-SBZZKBLZ.js";
48
+ } from "./chunk-SXQGDWG4.js";
49
49
  import {
50
50
  AbortError,
51
51
  AbortSilentError,
@@ -60,7 +60,7 @@ import {
60
60
  isPermissionCode,
61
61
  isRateLimitCode,
62
62
  shouldReportErrorAsUnexpected
63
- } from "./chunk-ARIPXAMF.js";
63
+ } from "./chunk-XTAFCII7.js";
64
64
  import {
65
65
  require_lib
66
66
  } from "./chunk-E43EDJOG.js";
@@ -108,7 +108,7 @@ import {
108
108
  slugify,
109
109
  stringifyMessage,
110
110
  uniq
111
- } from "./chunk-UW2WSGNC.js";
111
+ } from "./chunk-CNLC2F6A.js";
112
112
  import {
113
113
  alwaysLogAnalytics,
114
114
  alwaysLogMetrics,
@@ -126,7 +126,7 @@ import {
126
126
  sessionConstants,
127
127
  systemEnvironmentVariables,
128
128
  themeToken
129
- } from "./chunk-OMR2LYUV.js";
129
+ } from "./chunk-5YZJRRTS.js";
130
130
  import {
131
131
  isTruthy
132
132
  } from "./chunk-HNIAZN6U.js";
@@ -62335,6 +62335,9 @@ init_cjs_shims();
62335
62335
  // ../cli-kit/dist/public/node/crypto.js
62336
62336
  init_cjs_shims();
62337
62337
  import crypto from "crypto";
62338
+ function sha256(str) {
62339
+ return crypto.createHash("sha256").update(str).digest();
62340
+ }
62338
62341
  function hashString(str) {
62339
62342
  return crypto.createHash("sha1").update(str).digest("hex");
62340
62343
  }
@@ -64488,7 +64491,7 @@ async function sendAnalyticsEvent(payload, skipMonorailAnalytics, skipMetricAnal
64488
64491
  }
64489
64492
  async function sendAnalyticsEventFromStdin() {
64490
64493
  try {
64491
- let { readStdinString } = await import("./system-J2KVDFSW.js"), payloadStr = await readStdinString();
64494
+ let { readStdinString } = await import("./system-FORA44FB.js"), payloadStr = await readStdinString();
64492
64495
  if (payloadStr === void 0)
64493
64496
  throw new Error("No analytics payload received from stdin");
64494
64497
  let { payload, skipMonorailAnalytics, skipMetricAnalytics } = JSON.parse(payloadStr);
@@ -64522,12 +64525,12 @@ async function reportAnalyticsEvent(options2) {
64522
64525
  outputDebug(outputContent`Skipping command analytics, payload: ${outputToken.json(payload)}`);
64523
64526
  return;
64524
64527
  }
64525
- let [{ platformAndArch: platformAndArch2 }, { isInsideContainer }] = await Promise.all([import("./os-7AHYIADA.js"), import("./system-J2KVDFSW.js")]), sendInBackground = !commandStartOptions?.requiresSyncAnalytics && platformAndArch2().platform !== "windows" && !ciPlatform().isCI && !isInsideContainer();
64528
+ let [{ platformAndArch: platformAndArch2 }, { isInsideContainer }] = await Promise.all([import("./os-FXDEWMMP.js"), import("./system-FORA44FB.js")]), sendInBackground = !commandStartOptions?.requiresSyncAnalytics && platformAndArch2().platform !== "windows" && !ciPlatform().isCI && !isInsideContainer();
64526
64529
  if (outputDebug(outputContent`Sending command analytics${sendInBackground ? " in background" : ""}, payload: ${outputToken.json(payload)}`), !sendInBackground) {
64527
64530
  await sendAnalyticsEvent(payload, skipMonorailAnalytics, skipMetricAnalytics);
64528
64531
  return;
64529
64532
  }
64530
- let { exec } = await import("./system-J2KVDFSW.js"), argv = process.argv;
64533
+ let { exec } = await import("./system-FORA44FB.js"), argv = process.argv;
64531
64534
  if (!argv[1])
64532
64535
  return;
64533
64536
  let nodeBinary = process.execPath, args = [argv[1], "send-analytics"], analyticsProcess = exec(nodeBinary, args, {
@@ -64592,7 +64595,7 @@ async function buildPayload({ config, errorMessage: errorMessage2, exitMode }) {
64592
64595
  }), sanitizePayload2(payload);
64593
64596
  }
64594
64597
  function sanitizePayload2(payload) {
64595
- let sanitizedPayloadString = JSON.stringify(payload).replace(/shptka_\w*/g, "*****").replace(/(--store-password(?:=|\s+))(?:"[^"]*"|'[^']*'|[^\s"]+)/g, "$1*****").replace(/((?:store-password|SHOPIFY_FLAG_STORE_PASSWORD)\\?":\\?")[^"\\]*/g, "$1*****");
64598
+ let sanitizedPayloadString = JSON.stringify(payload).replace(/shptka_\w*/g, "*****").replace(/(--store-password(?:=|\s+))(?:\\"[^"\\]*\\"|'[^']*'|(?:\\.|[^\s"\\])+)/g, "$1*****").replace(/((?:store-password|SHOPIFY_FLAG_STORE_PASSWORD)\\?":\\?")[^"\\]*/g, "$1*****").replace(/(--signup(?:=|\s+))(?:\\"[^"\\]*\\"|'[^']*'|(?:\\.|[^\s"\\])+)/g, "$1*****").replace(/((?:signup|SHOPIFY_FLAG_SIGNUP)\\?":\\?")[^"\\]*/g, "$1*****").replace(/(?<![\w-])(signup=)[^&\s"'\\]+/g, "$1*****");
64596
64599
  return JSON.parse(sanitizedPayloadString);
64597
64600
  }
64598
64601
  function recordTiming2(eventName) {
@@ -65940,7 +65943,7 @@ async function graphqlRequestDoc(options2) {
65940
65943
 
65941
65944
  // ../cli-kit/dist/public/node/api/partners.js
65942
65945
  init_cjs_shims();
65943
- var import_bottleneck = __toESM(require_lib4(), 1), limiter = new import_bottleneck.default({
65946
+ var import_bottleneck = __toESM(require_lib4()), limiter = new import_bottleneck.default({
65944
65947
  minTime: 150,
65945
65948
  maxConcurrent: 10
65946
65949
  });
@@ -66256,6 +66259,7 @@ function flagIncluded(flag, commandClass) {
66256
66259
  }
66257
66260
 
66258
66261
  export {
66262
+ sha256,
66259
66263
  hashString,
66260
66264
  fileHash,
66261
66265
  randomUUID,
@@ -66357,4 +66361,4 @@ mime-types/index.js:
66357
66361
  * MIT Licensed
66358
66362
  *)
66359
66363
  */
66360
- //# sourceMappingURL=chunk-NTRP5UPL.js.map
66364
+ //# sourceMappingURL=chunk-FQE245PE.js.map
@@ -4,9 +4,9 @@ import {
4
4
 
5
5
  // ../cli-kit/dist/public/common/version.js
6
6
  init_cjs_shims();
7
- var CLI_KIT_VERSION = "4.7.1";
7
+ var CLI_KIT_VERSION = "4.8.1";
8
8
 
9
9
  export {
10
10
  CLI_KIT_VERSION
11
11
  };
12
- //# sourceMappingURL=chunk-TT7YBXNU.js.map
12
+ //# sourceMappingURL=chunk-FZPS2NF6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  outputDebug
3
- } from "./chunk-UW2WSGNC.js";
3
+ } from "./chunk-CNLC2F6A.js";
4
4
  import {
5
5
  init_cjs_shims
6
6
  } from "./chunk-3XNI6LP4.js";
@@ -96,4 +96,4 @@ function buildProcessTree(parentPid, tree, pidsToProcess, spawnChildProcessesLis
96
96
  export {
97
97
  treeKill
98
98
  };
99
- //# sourceMappingURL=chunk-MVIZLNDV.js.map
99
+ //# sourceMappingURL=chunk-HUPULG7V.js.map
@@ -2,29 +2,29 @@ import {
2
2
  external_exports,
3
3
  fetch,
4
4
  jsonOutputEnabled
5
- } from "./chunk-NTRP5UPL.js";
5
+ } from "./chunk-FQE245PE.js";
6
6
  import {
7
7
  CLI_KIT_VERSION
8
- } from "./chunk-TT7YBXNU.js";
8
+ } from "./chunk-FZPS2NF6.js";
9
9
  import {
10
10
  versionSatisfies
11
- } from "./chunk-3WA6JLES.js";
11
+ } from "./chunk-QY3743I6.js";
12
12
  import {
13
13
  cacheRetrieve,
14
14
  cacheStore
15
- } from "./chunk-KITZ5RLX.js";
15
+ } from "./chunk-SHHHVN2Y.js";
16
16
  import {
17
17
  exec,
18
18
  renderError,
19
19
  renderInfo,
20
20
  renderWarning
21
- } from "./chunk-EOOWFAUQ.js";
21
+ } from "./chunk-QO4QODH2.js";
22
22
  import {
23
23
  AbortSilentError
24
- } from "./chunk-ARIPXAMF.js";
24
+ } from "./chunk-XTAFCII7.js";
25
25
  import {
26
26
  outputDebug
27
- } from "./chunk-UW2WSGNC.js";
27
+ } from "./chunk-CNLC2F6A.js";
28
28
  import {
29
29
  isTruthy
30
30
  } from "./chunk-HNIAZN6U.js";
@@ -58,19 +58,23 @@ var URL = "https://cdn.shopify.com/static/cli/notifications.json", EMPTY_CACHE_M
58
58
  "hydrogen:init",
59
59
  "cache:clear",
60
60
  "send-analytics"
61
- ];
61
+ ], LOOPBACK_HOSTNAMES = ["127.0.0.1", "localhost", "::1", "[::1]"];
62
62
  function url() {
63
63
  let envUrl = process.env.SHOPIFY_CLI_NOTIFICATIONS_URL;
64
64
  if (envUrl)
65
65
  try {
66
- if (new globalThis.URL(envUrl).protocol === "https:")
66
+ let parsedUrl = new globalThis.URL(envUrl);
67
+ if (isAllowedNotificationsUrl(parsedUrl))
67
68
  return envUrl;
68
- outputDebug(`The notifications URL provided via SHOPIFY_CLI_NOTIFICATIONS_URL (${envUrl}) is not secure (https). Falling back to default.`);
69
+ outputDebug(`The notifications URL provided via SHOPIFY_CLI_NOTIFICATIONS_URL (${envUrl}) must use https, or http with a loopback host. Falling back to default.`);
69
70
  } catch {
70
71
  outputDebug(`The notifications URL provided via SHOPIFY_CLI_NOTIFICATIONS_URL (${envUrl}) is not a valid URL. Falling back to default.`);
71
72
  }
72
73
  return URL;
73
74
  }
75
+ function isAllowedNotificationsUrl(parsedUrl) {
76
+ return parsedUrl.protocol === "https:" ? !0 : parsedUrl.protocol === "http:" && LOOPBACK_HOSTNAMES.includes(parsedUrl.hostname);
77
+ }
74
78
  var NotificationSchema = external_exports.object({
75
79
  id: external_exports.string(),
76
80
  message: external_exports.string(),
@@ -105,7 +109,7 @@ async function showNotificationsIfNeeded(currentSurfaces, environment = process.
105
109
  throw new AbortSilentError();
106
110
  let errorMessage = `Error showing notifications: ${error.message}`;
107
111
  outputDebug(errorMessage);
108
- let { sendErrorToBugsnag } = await import("./error-handler-OSY5Z5EY.js");
112
+ let { sendErrorToBugsnag } = await import("./error-handler-5EPC54UY.js");
109
113
  await sendErrorToBugsnag(errorMessage, "unexpected_error");
110
114
  }
111
115
  }
@@ -219,4 +223,4 @@ export {
219
223
  filterNotifications,
220
224
  stringifyFilters
221
225
  };
222
- //# sourceMappingURL=chunk-OHAG6RQT.js.map
226
+ //# sourceMappingURL=chunk-NDF4E33L.js.map
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  renderWarning
3
- } from "./chunk-EOOWFAUQ.js";
3
+ } from "./chunk-QO4QODH2.js";
4
4
  import {
5
5
  addSensitiveMetadata
6
- } from "./chunk-SBZZKBLZ.js";
6
+ } from "./chunk-SXQGDWG4.js";
7
7
  import {
8
8
  AbortError
9
- } from "./chunk-ARIPXAMF.js";
9
+ } from "./chunk-XTAFCII7.js";
10
10
  import {
11
11
  fileExists,
12
12
  findPathUp,
13
13
  readFile,
14
14
  writeFile
15
- } from "./chunk-UW2WSGNC.js";
15
+ } from "./chunk-CNLC2F6A.js";
16
16
  import {
17
17
  cwd
18
18
  } from "./chunk-C3J4HVUN.js";
@@ -1623,7 +1623,7 @@ function encodeToml(content) {
1623
1623
  }
1624
1624
 
1625
1625
  // ../cli-kit/dist/public/node/toml/toml-file.js
1626
- var import_toml_patch = __toESM(require_toml_patch(), 1), TomlFileError = class extends AbortError {
1626
+ var import_toml_patch = __toESM(require_toml_patch()), TomlFileError = class extends AbortError {
1627
1627
  path;
1628
1628
  constructor(path, message) {
1629
1629
  super(message), this.name = "TomlFileError", this.path = path;
@@ -1768,10 +1768,11 @@ async function environmentFilePath(fileName, options) {
1768
1768
  }
1769
1769
 
1770
1770
  export {
1771
+ decodeToml,
1771
1772
  require_toml_patch,
1772
1773
  TomlFileError,
1773
1774
  TomlFile,
1774
1775
  loadEnvironment,
1775
1776
  environmentFilePath
1776
1777
  };
1777
- //# sourceMappingURL=chunk-3CEBU7F7.js.map
1778
+ //# sourceMappingURL=chunk-NGSR3P6K.js.map
@@ -2,23 +2,23 @@ import {
2
2
  execa,
3
3
  platformAndArch,
4
4
  require_signal_exit
5
- } from "./chunk-PLO3ASNN.js";
5
+ } from "./chunk-E44G6DYY.js";
6
6
  import {
7
7
  runWithTimer
8
- } from "./chunk-SBZZKBLZ.js";
8
+ } from "./chunk-SXQGDWG4.js";
9
9
  import {
10
10
  AbortError,
11
11
  AbortSilentError,
12
12
  BugError,
13
13
  ExternalError,
14
14
  cleanSingleStackTracePath
15
- } from "./chunk-ARIPXAMF.js";
15
+ } from "./chunk-XTAFCII7.js";
16
16
  import {
17
17
  require_ansi_styles
18
18
  } from "./chunk-E43EDJOG.js";
19
19
  import {
20
20
  treeKill
21
- } from "./chunk-MVIZLNDV.js";
21
+ } from "./chunk-HUPULG7V.js";
22
22
  import {
23
23
  ansi_escapes_default,
24
24
  appendToTokenItem,
@@ -50,11 +50,11 @@ import {
50
50
  stripAnsi,
51
51
  tokenItemToString,
52
52
  unstyled
53
- } from "./chunk-UW2WSGNC.js";
53
+ } from "./chunk-CNLC2F6A.js";
54
54
  import {
55
55
  isCloudEnvironment,
56
56
  isUnitTest
57
- } from "./chunk-OMR2LYUV.js";
57
+ } from "./chunk-5YZJRRTS.js";
58
58
  import {
59
59
  isTruthy
60
60
  } from "./chunk-HNIAZN6U.js";
@@ -29919,7 +29919,7 @@ function throttle2(func, wait, options) {
29919
29919
  var import_react63 = __toESM(require_react(), 1);
29920
29920
  var MIN_NUMBER_OF_ITEMS_FOR_SEARCH = 5, DEFAULT_SEARCH_DEBOUNCE_MS = 400;
29921
29921
  function AutocompletePrompt({ message, choices, infoTable, onSubmit, search, hasMorePages: initialHasMorePages = !1, abortSignal, infoMessage, groupOrder, searchDebounceMs = DEFAULT_SEARCH_DEBOUNCE_MS }) {
29922
- let complete = useComplete(), [searchTerm, setSearchTerm] = (0, import_react63.useState)(""), [searchResults, setSearchResults] = (0, import_react63.useState)(choices), canSearch = choices.length > MIN_NUMBER_OF_ITEMS_FOR_SEARCH, [hasMorePages, setHasMorePages] = (0, import_react63.useState)(initialHasMorePages), { promptState, setPromptState, answer, setAnswer } = usePrompt({
29922
+ let complete = useComplete(), [searchTerm, setSearchTerm] = (0, import_react63.useState)(""), [searchResults, setSearchResults] = (0, import_react63.useState)(choices), canSearch = initialHasMorePages || choices.length > MIN_NUMBER_OF_ITEMS_FOR_SEARCH, [hasMorePages, setHasMorePages] = (0, import_react63.useState)(initialHasMorePages), { promptState, setPromptState, answer, setAnswer } = usePrompt({
29923
29923
  initialAnswer: void 0
29924
29924
  }), paginatedSearch = (0, import_react63.useCallback)(async (term) => await search(term), [search]), submitAnswer = (0, import_react63.useCallback)((answer2) => {
29925
29925
  promptState === PromptState.Idle && (setAnswer(answer2), setPromptState(PromptState.Submitted));
@@ -29972,7 +29972,7 @@ var SingleTask = ({ task, title, onComplete, onAbort, noColor }) => {
29972
29972
  };
29973
29973
 
29974
29974
  // ../cli-kit/dist/public/node/ui.js
29975
- var import_react65 = __toESM(require_react()), defaultUIDebugOptions = {
29975
+ var import_react65 = __toESM(require_react(), 1), defaultUIDebugOptions = {
29976
29976
  skipTTYCheck: !1
29977
29977
  };
29978
29978
  async function renderConcurrent({ renderOptions, ...props }) {
@@ -30264,4 +30264,4 @@ react-reconciler/cjs/react-reconciler.development.js:
30264
30264
  * LICENSE file in the root directory of this source tree.
30265
30265
  *)
30266
30266
  */
30267
- //# sourceMappingURL=chunk-EOOWFAUQ.js.map
30267
+ //# sourceMappingURL=chunk-QO4QODH2.js.map