@shopify/create-app 3.94.2 → 4.0.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 (57) hide show
  1. package/dist/analytics-XLT3JDGP.js +33 -0
  2. package/dist/analytics-XUVDQAYG.js +39 -0
  3. package/dist/chunk-37G3KLO2.js +78 -0
  4. package/dist/chunk-4CS37CS5.js +665 -0
  5. package/dist/chunk-6OOTYTVB.js +1133 -0
  6. package/dist/{chunk-NIYBO6HO.js → chunk-ACS6S42W.js} +3 -3
  7. package/dist/chunk-ANIFE3UR.js +12 -0
  8. package/dist/{chunk-2ZQ4JUYQ.js → chunk-DHAC6KEL.js} +47 -12
  9. package/dist/chunk-DJW2W7VA.js +21 -0
  10. package/dist/chunk-DNF3EUMN.js +1771 -0
  11. package/dist/{chunk-LI75HRH4.js → chunk-DWGHKWV5.js} +1 -1
  12. package/dist/chunk-IGDZPTDH.js +371 -0
  13. package/dist/chunk-JCETIRLI.js +30 -0
  14. package/dist/chunk-JUV7D377.js +264 -0
  15. package/dist/{chunk-QCVAV5PM.js → chunk-LNOZTAML.js} +3618 -10143
  16. package/dist/{chunk-IFG7N3S2.js → chunk-OO33NRTL.js} +8 -12671
  17. package/dist/chunk-PES3XMQM.js +70 -0
  18. package/dist/chunk-QMXFPY46.js +55 -0
  19. package/dist/chunk-QN5KFM2B.js +104 -0
  20. package/dist/{chunk-XDAJMLCV.js → chunk-STHW3YIX.js} +43773 -43784
  21. package/dist/chunk-UMSYG5WJ.js +110 -0
  22. package/dist/chunk-UX6FRPFM.js +11555 -0
  23. package/dist/{chunk-CXPWSYGC.js → chunk-X2WZCKNE.js} +4 -14
  24. package/dist/chunk-YIHECXVH.js +5652 -0
  25. package/dist/chunk-YUPQUA3D.js +6106 -0
  26. package/dist/conf-store-RAVX2WFV.js +54 -0
  27. package/dist/custom-oclif-loader-354VAVF4.js +54 -0
  28. package/dist/deprecations-2QTB3736.js +55 -0
  29. package/dist/environments-LTWWRWCC.js +26 -0
  30. package/dist/error-handler-KHJE653Z.js +37 -0
  31. package/dist/fs-XENRLBMU.js +109 -0
  32. package/dist/hooks/postrun.js +6 -9
  33. package/dist/hooks/prerun.js +12 -25
  34. package/dist/{http-proxy-node16-U5VBDLS3.js → http-proxy-node16-XB2DSBCB.js} +3 -2
  35. package/dist/index.js +8987 -10518
  36. package/dist/is-global-KZMSAFQT.js +21 -0
  37. package/dist/latest-version-3PFKLJZM.js +7713 -0
  38. package/dist/lib-HWIFANCM.js +11 -0
  39. package/dist/{local-HD6YAL26.js → local-NQALOHJX.js} +3 -8
  40. package/dist/metadata-FXCUDE5I.js +20 -0
  41. package/dist/{node-package-manager-FD3ZCHSY.js → node-package-manager-7R7HDW4R.js} +17 -7
  42. package/dist/notifications-system-7QMDSL5Y.js +40 -0
  43. package/dist/output-PQSQ7U45.js +51 -0
  44. package/dist/{path-NQ6GZ2WO.js → path-EOPO7QNL.js} +2 -2
  45. package/dist/{prettier-67WYXU6J.js → prettier-UAG5TKE4.js} +2 -2
  46. package/dist/system-W4MMMHEV.js +47 -0
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/dist/typescript-TKTDYKKG.js +6 -0
  49. package/dist/{ui-TJ7NU25P.js → ui-2FROV2IT.js} +15 -6
  50. package/dist/{chunk-Q2E5NGP3.js → upgrade-FAUZ7VAF.js} +77 -125
  51. package/dist/version-HKPHVW5M.js +30 -0
  52. package/dist/version-T73ZLUJK.js +8 -0
  53. package/oclif.manifest.json +63 -66
  54. package/package.json +5 -5
  55. package/dist/chunk-27ZXSSGX.js +0 -14117
  56. package/dist/error-handler-ZQMQHJ3W.js +0 -25
  57. package/dist/lib-PPI2FZOR.js +0 -8
@@ -0,0 +1,6 @@
1
+ import {
2
+ require_typescript
3
+ } from "./chunk-OO33NRTL.js";
4
+ import "./chunk-PKR7KJ6P.js";
5
+ export default require_typescript();
6
+ //# sourceMappingURL=typescript-TKTDYKKG.js.map
@@ -17,13 +17,22 @@ import {
17
17
  renderTasks,
18
18
  renderTextPrompt,
19
19
  renderWarning
20
- } from "./chunk-QCVAV5PM.js";
21
- import "./chunk-IFG7N3S2.js";
22
- import "./chunk-CXPWSYGC.js";
23
- import "./chunk-NIYBO6HO.js";
20
+ } from "./chunk-YIHECXVH.js";
21
+ import "./chunk-37G3KLO2.js";
22
+ import "./chunk-JUV7D377.js";
23
+ import "./chunk-UX6FRPFM.js";
24
+ import "./chunk-X2WZCKNE.js";
25
+ import "./chunk-G2ZZKGSV.js";
26
+ import "./chunk-OO33NRTL.js";
27
+ import "./chunk-PES3XMQM.js";
28
+ import "./chunk-6OOTYTVB.js";
29
+ import "./chunk-QN5KFM2B.js";
30
+ import "./chunk-LNOZTAML.js";
31
+ import "./chunk-4CS37CS5.js";
32
+ import "./chunk-DJW2W7VA.js";
33
+ import "./chunk-ACS6S42W.js";
24
34
  import "./chunk-AROS7RI6.js";
25
35
  import "./chunk-7IK72W75.js";
26
- import "./chunk-G2ZZKGSV.js";
27
36
  import "./chunk-PKR7KJ6P.js";
28
37
  export {
29
38
  handleCtrlC,
@@ -45,4 +54,4 @@ export {
45
54
  renderTextPrompt,
46
55
  renderWarning
47
56
  };
48
- //# sourceMappingURL=ui-TJ7NU25P.js.map
57
+ //# sourceMappingURL=ui-2FROV2IT.js.map
@@ -1,76 +1,68 @@
1
1
  import {
2
- CLI_KIT_VERSION,
3
- getNextDeprecationDate,
4
- reportAnalyticsEvent
5
- } from "./chunk-XDAJMLCV.js";
2
+ fetchNotifications,
3
+ filterNotifications
4
+ } from "./chunk-DHAC6KEL.js";
5
+ import "./chunk-STHW3YIX.js";
6
+ import "./chunk-JCETIRLI.js";
6
7
  import {
7
8
  addNPMDependencies,
8
9
  checkForCachedNewVersion,
9
10
  checkForNewVersion,
10
11
  findUpAndReadPackageJson,
11
- getAutoUpgradeEnabled,
12
12
  getPackageManager,
13
- runAtMinimumInterval,
14
13
  usesWorkspaces
15
- } from "./chunk-27ZXSSGX.js";
14
+ } from "./chunk-IGDZPTDH.js";
15
+ import {
16
+ CLI_KIT_VERSION
17
+ } from "./chunk-ANIFE3UR.js";
18
+ import "./chunk-VBBBCVMH.js";
19
+ import {
20
+ getAutoUpgradeEnabled,
21
+ runAtMinimumInterval,
22
+ setAutoUpgradeEnabled
23
+ } from "./chunk-YUPQUA3D.js";
24
+ import {
25
+ isPreReleaseVersion
26
+ } from "./chunk-QMXFPY46.js";
16
27
  import {
17
- addPublicMetadata,
18
- addSensitiveMetadata,
19
- currentProcessIsGlobal,
20
28
  exec,
21
- getAllSensitiveMetadata,
29
+ isCI,
30
+ renderSuccess
31
+ } from "./chunk-YIHECXVH.js";
32
+ import "./chunk-37G3KLO2.js";
33
+ import "./chunk-JUV7D377.js";
34
+ import "./chunk-UX6FRPFM.js";
35
+ import "./chunk-X2WZCKNE.js";
36
+ import "./chunk-G2ZZKGSV.js";
37
+ import "./chunk-OO33NRTL.js";
38
+ import "./chunk-PES3XMQM.js";
39
+ import "./chunk-6OOTYTVB.js";
40
+ import "./chunk-QN5KFM2B.js";
41
+ import {
42
+ currentProcessIsGlobal,
22
43
  getProjectDir,
23
44
  inferPackageManagerForGlobalCLI,
24
- isCI,
25
- isDevelopment,
26
- isMajorVersionChange,
27
- isPreReleaseVersion,
28
45
  outputContent,
29
46
  outputDebug,
30
47
  outputInfo,
31
48
  outputToken,
32
- outputWarn,
33
- renderWarning
34
- } from "./chunk-QCVAV5PM.js";
49
+ outputWarn
50
+ } from "./chunk-LNOZTAML.js";
51
+ import {
52
+ isDevelopment
53
+ } from "./chunk-4CS37CS5.js";
54
+ import "./chunk-DJW2W7VA.js";
35
55
  import {
36
56
  cwd,
37
57
  moduleDirectory,
38
58
  sniffForPath
39
- } from "./chunk-NIYBO6HO.js";
59
+ } from "./chunk-ACS6S42W.js";
60
+ import "./chunk-AROS7RI6.js";
61
+ import "./chunk-7IK72W75.js";
40
62
  import {
41
63
  init_cjs_shims
42
64
  } from "./chunk-PKR7KJ6P.js";
43
65
 
44
- // ../cli-kit/dist/public/node/hooks/postrun.js
45
- init_cjs_shims();
46
-
47
- // ../cli-kit/dist/public/node/hooks/deprecations.js
48
- init_cjs_shims();
49
- var postrun = (Command) => {
50
- let nextDeprecationDate = getNextDeprecationDate();
51
- if (nextDeprecationDate) {
52
- let forThemes = Command.id.includes("theme");
53
- renderUpgradeWarning(nextDeprecationDate, forThemes);
54
- }
55
- };
56
- function renderUpgradeWarning(upgradeByDate, forThemes) {
57
- let headline = `Upgrade to the latest CLI version by ${new Intl.DateTimeFormat("default", {
58
- year: "numeric",
59
- month: "long",
60
- day: "numeric"
61
- }).format(upgradeByDate)}.`;
62
- renderWarning({
63
- headline,
64
- body: "This command requires an upgrade to continue working as intended.",
65
- nextSteps: [["Run", { command: "upgrade" }, "to", {
66
- link: {
67
- label: "upgrade Shopify CLI",
68
- url: forThemes ? "https://shopify.dev/docs/themes/tools/cli#upgrade-shopify-cli" : "https://shopify.dev/docs/apps/tools/cli#upgrade-shopify-cli"
69
- }
70
- }]]
71
- });
72
- }
73
-
74
66
  // ../cli-kit/dist/public/node/upgrade.js
75
67
  init_cjs_shims();
76
68
  function cliInstallCommand() {
@@ -78,24 +70,30 @@ function cliInstallCommand() {
78
70
  if (!(!packageManager || packageManager === "unknown"))
79
71
  return packageManager === "homebrew" ? "brew upgrade shopify-cli" : packageManager === "yarn" ? `${packageManager} global add @shopify/cli@latest` : `${packageManager} ${packageManager === "pnpm" ? "add" : "install"} -g @shopify/cli@latest`;
80
72
  }
81
- async function runCLIUpgrade() {
73
+ async function runCLIUpgrade(options = {}) {
82
74
  let path = sniffForPath() ?? cwd(), projectDir = getProjectDir(path), isGlobal = currentProcessIsGlobal();
83
75
  if (isDevelopment()) {
84
76
  outputInfo("Skipping upgrade in development mode.");
85
77
  return;
86
78
  }
87
- if (isGlobal) {
88
- let installCommand = cliInstallCommand();
89
- if (!installCommand)
90
- throw new Error("Could not determine the package manager");
91
- let [command, ...args] = installCommand.split(" ");
92
- if (!command)
93
- throw new Error("Could not determine the command to run");
94
- outputInfo(outputContent`Upgrading Shopify CLI by running: ${outputToken.genericShellCommand(installCommand)}...`), await exec(command, args, { stdio: "inherit" });
95
- } else if (projectDir)
96
- await upgradeLocalShopify(projectDir, CLI_KIT_VERSION);
97
- else
98
- throw new Error("Could not determine the local project directory");
79
+ if (!(options.autoupgrade && !isGlobal))
80
+ if (isGlobal) {
81
+ let installCommand = cliInstallCommand();
82
+ if (!installCommand)
83
+ throw new Error("Could not determine the package manager");
84
+ let [command, ...args] = installCommand.split(" ");
85
+ if (!command)
86
+ throw new Error("Could not determine the command to run");
87
+ let newerVersion = checkForCachedNewVersion("@shopify/cli", CLI_KIT_VERSION), headline = newerVersion ? `\u2728 New version of Shopify CLI available! (${CLI_KIT_VERSION} \u2192 ${newerVersion})` : "\u2728 New version of Shopify CLI available!";
88
+ outputInfo(outputContent`${headline}
89
+ Now upgrading by running: ${outputToken.genericShellCommand(installCommand)}...`), await exec(command, args, { stdio: "inherit" }), renderSuccess({
90
+ headline: "Shopify CLI upgraded.",
91
+ body: newerVersion ? `You're now on version ${newerVersion}.` : "You're now on the latest version."
92
+ });
93
+ } else if (projectDir)
94
+ await upgradeLocalShopify(projectDir, CLI_KIT_VERSION);
95
+ else
96
+ throw new Error("Could not determine the local project directory");
99
97
  }
100
98
  function versionToAutoUpgrade() {
101
99
  let currentVersion = CLI_KIT_VERSION, newerVersion = checkForCachedNewVersion("@shopify/cli", currentVersion);
@@ -119,6 +117,14 @@ function versionToAutoUpgrade() {
119
117
  }
120
118
  return newerVersion;
121
119
  }
120
+ async function hasBlockingAutoUpgradeNotification() {
121
+ try {
122
+ let { notifications } = await fetchNotifications();
123
+ return filterNotifications(notifications, "", ["autoupgrade"]).some((notification) => notification.type === "error");
124
+ } catch {
125
+ return !1;
126
+ }
127
+ }
122
128
  async function warnIfUpgradeAvailable() {
123
129
  if (isCI() || isPreReleaseVersion(CLI_KIT_VERSION) || getAutoUpgradeEnabled())
124
130
  return;
@@ -178,68 +184,14 @@ function outputWontInstallMessage(currentVersion) {
178
184
  function outputUpgradeMessage(currentVersion, newestVersion) {
179
185
  outputInfo(outputContent`Upgrading CLI from ${outputToken.yellow(currentVersion)} to ${outputToken.yellow(newestVersion)}...`);
180
186
  }
181
-
182
- // ../cli-kit/dist/public/node/hooks/postrun.js
183
- var postRunHookCompleted = !1;
184
- function postRunHookHasCompleted() {
185
- return postRunHookCompleted;
186
- }
187
- var hook = async ({ config, Command }) => {
188
- await detectStopCommand(Command), await reportAnalyticsEvent({ config, exitMode: "ok" }), postrun(Command);
189
- let command = Command.id.replace(/:/g, " ");
190
- outputDebug(`Completed command ${command}`), postRunHookCompleted = !0, !command.includes("notifications") && !command.includes("upgrade") && await autoUpgradeIfNeeded();
191
- };
192
- async function autoUpgradeIfNeeded() {
193
- let newerVersion = versionToAutoUpgrade();
194
- if (!newerVersion) {
195
- await warnIfUpgradeAvailable();
196
- return;
197
- }
198
- process.env.SHOPIFY_CLI_FORCE_AUTO_UPGRADE === "1" ? await performAutoUpgrade(newerVersion) : await runAtMinimumInterval("auto-upgrade", { days: 1 }, async () => {
199
- await performAutoUpgrade(newerVersion);
200
- });
201
- }
202
- async function performAutoUpgrade(newerVersion) {
203
- if (isMajorVersionChange(CLI_KIT_VERSION, newerVersion)) {
204
- outputWarn(getOutputUpdateCLIReminder(newerVersion, !0)), await addPublicMetadata(() => ({
205
- env_auto_upgrade_skipped_reason: "major_version"
206
- }));
207
- return;
208
- }
209
- try {
210
- await runCLIUpgrade(), await addPublicMetadata(() => ({ env_auto_upgrade_success: !0 }));
211
- } catch (error) {
212
- let errorMessage = `Auto-upgrade failed: ${error}`;
213
- outputDebug(errorMessage), outputWarn(getOutputUpdateCLIReminder(newerVersion)), await addPublicMetadata(() => ({ env_auto_upgrade_success: !1 }));
214
- let { sendErrorToBugsnag } = await import("./error-handler-ZQMQHJ3W.js"), enrichedError = Object.assign(new Error(errorMessage), {
215
- packageManager: inferPackageManagerForGlobalCLI(),
216
- platform: process.platform,
217
- cliVersion: CLI_KIT_VERSION
218
- });
219
- await sendErrorToBugsnag(enrichedError, "expected_error");
220
- }
221
- }
222
- async function detectStopCommand(commandClass) {
223
- let currentTime = (/* @__PURE__ */ new Date()).getTime();
224
- if (commandClass && Object.prototype.hasOwnProperty.call(commandClass, "analyticsStopCommand")) {
225
- let stopCommand = commandClass.analyticsStopCommand();
226
- if (stopCommand) {
227
- let { commandStartOptions } = getAllSensitiveMetadata();
228
- if (!commandStartOptions)
229
- return;
230
- await addSensitiveMetadata(() => ({
231
- commandStartOptions: {
232
- ...commandStartOptions,
233
- startTime: currentTime,
234
- startCommand: stopCommand
235
- }
236
- }));
237
- }
238
- }
239
- }
240
-
241
187
  export {
242
- postRunHookHasCompleted,
243
- hook
188
+ cliInstallCommand,
189
+ getAutoUpgradeEnabled,
190
+ getOutputUpdateCLIReminder,
191
+ hasBlockingAutoUpgradeNotification,
192
+ runCLIUpgrade,
193
+ setAutoUpgradeEnabled,
194
+ versionToAutoUpgrade,
195
+ warnIfUpgradeAvailable
244
196
  };
245
- //# sourceMappingURL=chunk-Q2E5NGP3.js.map
197
+ //# sourceMappingURL=upgrade-FAUZ7VAF.js.map
@@ -0,0 +1,30 @@
1
+ import {
2
+ globalCLIVersion,
3
+ isMajorVersionChange,
4
+ isPreReleaseVersion,
5
+ localCLIVersion
6
+ } from "./chunk-QMXFPY46.js";
7
+ import "./chunk-YIHECXVH.js";
8
+ import "./chunk-37G3KLO2.js";
9
+ import "./chunk-JUV7D377.js";
10
+ import "./chunk-UX6FRPFM.js";
11
+ import "./chunk-X2WZCKNE.js";
12
+ import "./chunk-G2ZZKGSV.js";
13
+ import "./chunk-OO33NRTL.js";
14
+ import "./chunk-PES3XMQM.js";
15
+ import "./chunk-6OOTYTVB.js";
16
+ import "./chunk-QN5KFM2B.js";
17
+ import "./chunk-LNOZTAML.js";
18
+ import "./chunk-4CS37CS5.js";
19
+ import "./chunk-DJW2W7VA.js";
20
+ import "./chunk-ACS6S42W.js";
21
+ import "./chunk-AROS7RI6.js";
22
+ import "./chunk-7IK72W75.js";
23
+ import "./chunk-PKR7KJ6P.js";
24
+ export {
25
+ globalCLIVersion,
26
+ isMajorVersionChange,
27
+ isPreReleaseVersion,
28
+ localCLIVersion
29
+ };
30
+ //# sourceMappingURL=version-HKPHVW5M.js.map
@@ -0,0 +1,8 @@
1
+ import {
2
+ CLI_KIT_VERSION
3
+ } from "./chunk-ANIFE3UR.js";
4
+ import "./chunk-PKR7KJ6P.js";
5
+ export {
6
+ CLI_KIT_VERSION
7
+ };
8
+ //# sourceMappingURL=version-T73ZLUJK.js.map
@@ -1,76 +1,68 @@
1
1
  {
2
2
  "commands": {
3
3
  "init": {
4
- "aliases": [
5
- ],
6
- "args": {
7
- },
4
+ "aliases": [],
5
+ "args": {},
8
6
  "flags": {
9
- "client-id": {
10
- "description": "The Client ID of your app. Use this to automatically link your new project to an existing app. Using this flag avoids the app selection prompt.",
11
- "env": "SHOPIFY_FLAG_CLIENT_ID",
12
- "exclusive": [
13
- "config"
14
- ],
15
- "hasDynamicHelp": false,
7
+ "no-color": {
8
+ "description": "Disable color output.",
9
+ "env": "SHOPIFY_FLAG_NO_COLOR",
16
10
  "hidden": false,
17
- "multiple": false,
18
- "name": "client-id",
19
- "type": "option"
20
- },
21
- "flavor": {
22
- "description": "Which flavor of the given template to use.",
23
- "env": "SHOPIFY_FLAG_TEMPLATE_FLAVOR",
24
- "hasDynamicHelp": false,
25
- "multiple": false,
26
- "name": "flavor",
27
- "type": "option"
11
+ "name": "no-color",
12
+ "allowNo": false,
13
+ "type": "boolean"
28
14
  },
29
- "local": {
15
+ "verbose": {
16
+ "description": "Increase the verbosity of the output.",
17
+ "env": "SHOPIFY_FLAG_VERBOSE",
18
+ "hidden": false,
19
+ "name": "verbose",
30
20
  "allowNo": false,
31
- "char": "l",
32
- "env": "SHOPIFY_FLAG_LOCAL",
33
- "hidden": true,
34
- "name": "local",
35
21
  "type": "boolean"
36
22
  },
37
23
  "name": {
38
24
  "char": "n",
39
25
  "description": "The name for the new app. When provided, skips the app selection prompt and creates a new app with this name.",
40
26
  "env": "SHOPIFY_FLAG_NAME",
41
- "hasDynamicHelp": false,
42
27
  "hidden": false,
43
- "multiple": false,
44
28
  "name": "name",
29
+ "hasDynamicHelp": false,
30
+ "multiple": false,
45
31
  "type": "option"
46
32
  },
47
- "no-color": {
48
- "allowNo": false,
49
- "description": "Disable color output.",
50
- "env": "SHOPIFY_FLAG_NO_COLOR",
33
+ "path": {
34
+ "char": "p",
35
+ "env": "SHOPIFY_FLAG_PATH",
51
36
  "hidden": false,
52
- "name": "no-color",
53
- "type": "boolean"
37
+ "name": "path",
38
+ "default": "/home/runner/work/cli/cli/packages/create-app",
39
+ "hasDynamicHelp": false,
40
+ "multiple": false,
41
+ "type": "option"
54
42
  },
55
- "organization-id": {
56
- "description": "The organization ID. Your organization ID can be found in your Dev Dashboard URL: https://dev.shopify.com/dashboard/<organization-id>",
57
- "env": "SHOPIFY_FLAG_ORGANIZATION_ID",
58
- "exclusive": [
59
- "client-id"
60
- ],
43
+ "template": {
44
+ "description": "The app template. Accepts one of the following:\n - <reactRouter|none>\n - Any GitHub repo with optional branch and subpath, e.g., https://github.com/Shopify/<repository>/[subpath]#[branch]",
45
+ "env": "SHOPIFY_FLAG_TEMPLATE",
46
+ "name": "template",
47
+ "hasDynamicHelp": false,
48
+ "multiple": false,
49
+ "type": "option"
50
+ },
51
+ "flavor": {
52
+ "description": "Which flavor of the given template to use.",
53
+ "env": "SHOPIFY_FLAG_TEMPLATE_FLAVOR",
54
+ "name": "flavor",
61
55
  "hasDynamicHelp": false,
62
- "hidden": false,
63
56
  "multiple": false,
64
- "name": "organization-id",
65
57
  "type": "option"
66
58
  },
67
59
  "package-manager": {
68
60
  "char": "d",
69
61
  "env": "SHOPIFY_FLAG_PACKAGE_MANAGER",
70
- "hasDynamicHelp": false,
71
62
  "hidden": false,
72
- "multiple": false,
73
63
  "name": "package-manager",
64
+ "hasDynamicHelp": false,
65
+ "multiple": false,
74
66
  "options": [
75
67
  "npm",
76
68
  "yarn",
@@ -79,36 +71,41 @@
79
71
  ],
80
72
  "type": "option"
81
73
  },
82
- "path": {
83
- "char": "p",
84
- "default": ".",
85
- "env": "SHOPIFY_FLAG_PATH",
86
- "hasDynamicHelp": false,
74
+ "local": {
75
+ "char": "l",
76
+ "env": "SHOPIFY_FLAG_LOCAL",
77
+ "hidden": true,
78
+ "name": "local",
79
+ "allowNo": false,
80
+ "type": "boolean"
81
+ },
82
+ "client-id": {
83
+ "description": "The Client ID of your app. Use this to automatically link your new project to an existing app. Using this flag avoids the app selection prompt.",
84
+ "env": "SHOPIFY_FLAG_CLIENT_ID",
85
+ "exclusive": [
86
+ "config"
87
+ ],
87
88
  "hidden": false,
89
+ "name": "client-id",
90
+ "hasDynamicHelp": false,
88
91
  "multiple": false,
89
- "name": "path",
90
92
  "type": "option"
91
93
  },
92
- "template": {
93
- "description": "The app template. Accepts one of the following:\n - <reactRouter|remix|none>\n - Any GitHub repo with optional branch and subpath, e.g., https://github.com/Shopify/<repository>/[subpath]#[branch]",
94
- "env": "SHOPIFY_FLAG_TEMPLATE",
94
+ "organization-id": {
95
+ "description": "The organization ID. Your organization ID can be found in your Dev Dashboard URL: https://dev.shopify.com/dashboard/<organization-id>",
96
+ "env": "SHOPIFY_FLAG_ORGANIZATION_ID",
97
+ "exclusive": [
98
+ "client-id"
99
+ ],
100
+ "hidden": false,
101
+ "name": "organization-id",
95
102
  "hasDynamicHelp": false,
96
103
  "multiple": false,
97
- "name": "template",
98
104
  "type": "option"
99
- },
100
- "verbose": {
101
- "allowNo": false,
102
- "description": "Increase the verbosity of the output.",
103
- "env": "SHOPIFY_FLAG_VERBOSE",
104
- "hidden": false,
105
- "name": "verbose",
106
- "type": "boolean"
107
105
  }
108
106
  },
109
107
  "hasDynamicHelp": false,
110
- "hiddenAliases": [
111
- ],
108
+ "hiddenAliases": [],
112
109
  "id": "init",
113
110
  "pluginAlias": "@shopify/create-app",
114
111
  "pluginName": "@shopify/create-app",
@@ -117,5 +114,5 @@
117
114
  "summary": "Create a new app project"
118
115
  }
119
116
  },
120
- "version": "3.94.2"
117
+ "version": "4.0.0"
121
118
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopify/create-app",
3
- "version": "3.94.2",
3
+ "version": "4.0.0",
4
4
  "private": false,
5
5
  "description": "A CLI tool to create a new Shopify app.",
6
6
  "keywords": [
@@ -44,16 +44,16 @@
44
44
  ]
45
45
  },
46
46
  "dependencies": {
47
- "esbuild": "0.27.4"
47
+ "esbuild": "0.28.0"
48
48
  },
49
49
  "devDependencies": {
50
- "@shopify/cli-kit": "3.94.2",
51
- "@shopify/app": "3.94.2",
50
+ "@shopify/cli-kit": "4.0.0",
51
+ "@shopify/app": "4.0.0",
52
52
  "esbuild-plugin-copy": "^2.1.1",
53
53
  "@vitest/coverage-istanbul": "^3.1.4"
54
54
  },
55
55
  "engines": {
56
- "node": ">=20.10.0"
56
+ "node": ">=22.12.0"
57
57
  },
58
58
  "os": [
59
59
  "darwin",