@shopify/cli 3.59.3 → 3.60.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 (138) hide show
  1. package/dist/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/theme_app_extension.rb +1 -1
  2. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/proxy.rb +1 -1
  3. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer/extension_serve_job.rb +1 -18
  4. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/auth_middleware.rb +1 -1
  5. package/dist/assets/cli-ruby/test/shopify-cli/theme/dev_server/proxy_test.rb +21 -8
  6. package/dist/{chokidar-DGBVSVUZ.js → chokidar-DOC6OXDL.js} +3 -3
  7. package/dist/chunk-23EONB5V.js +2488 -0
  8. package/dist/{chunk-TOONJ2CA.js → chunk-2EVDXDJS.js} +2 -2
  9. package/dist/{chunk-24FJTPDB.js → chunk-2T7IS53S.js} +4 -4
  10. package/dist/{chunk-AXXAG7WU.js → chunk-3JLUTHGR.js} +1 -1
  11. package/dist/{chunk-7ZP3BQHT.js → chunk-3MBQVTEX.js} +1 -1
  12. package/dist/{chunk-37WSDC6Z.js → chunk-3RAXFENB.js} +3 -3
  13. package/dist/{chunk-3MMF34G4.js → chunk-4AOK4O3R.js} +14196 -14093
  14. package/dist/{chunk-4N5YPEOH.js → chunk-4HU62A6V.js} +4 -4
  15. package/dist/{chunk-PNZIXRIF.js → chunk-55F2DQCB.js} +9 -2487
  16. package/dist/{chunk-7D6QIBBS.js → chunk-5R5555YE.js} +2 -2
  17. package/dist/{chunk-LIWGTANH.js → chunk-7ORYLSDK.js} +2 -2
  18. package/dist/{chunk-WBWFZ6IT.js → chunk-7P2SWIQY.js} +1 -1
  19. package/dist/{chunk-WD7SEY5L.js → chunk-7VU6FOLD.js} +6 -6
  20. package/dist/{chunk-FWZYDOOO.js → chunk-B4622FYO.js} +2 -2
  21. package/dist/{chunk-SMULJJG3.js → chunk-BE73NZXB.js} +1 -1
  22. package/dist/{chunk-SIH2DDL6.js → chunk-BIDUT2RV.js} +3 -3
  23. package/dist/{chunk-MWCOJGV6.js → chunk-BSOZ6PRB.js} +2 -2
  24. package/dist/{chunk-LJA4EOTX.js → chunk-BUQTR47W.js} +5 -5
  25. package/dist/{chunk-FS2KWH4D.js → chunk-DQNIIVBG.js} +3 -3
  26. package/dist/{chunk-53M3MKPI.js → chunk-EANTE4MT.js} +5 -5
  27. package/dist/{chunk-JCAIZOYO.js → chunk-FBB6KUZG.js} +1 -1
  28. package/dist/{chunk-SA32EMWV.js → chunk-FQIRJADJ.js} +1 -1
  29. package/dist/{chunk-RRHAA7U3.js → chunk-FVRSV2AX.js} +2 -2
  30. package/dist/{chunk-YLPWACJJ.js → chunk-FWGRGI4R.js} +1 -1
  31. package/dist/{chunk-OVCQRTZZ.js → chunk-G56QICQP.js} +3 -3
  32. package/dist/{chunk-M336AND6.js → chunk-G6FN5VUE.js} +2 -2
  33. package/dist/{chunk-566AK3QG.js → chunk-GXPKATXW.js} +1 -1
  34. package/dist/{chunk-CXG2USMP.js → chunk-IUHH3PST.js} +1 -1
  35. package/dist/{chunk-PAZZ5BCS.js → chunk-IZU2AQEQ.js} +2 -2
  36. package/dist/{chunk-Q3AO7F62.js → chunk-KDOLMUJB.js} +1 -1
  37. package/dist/{chunk-764QFYJX.js → chunk-KEIEB4WC.js} +4 -4
  38. package/dist/{chunk-HEOKQONH.js → chunk-LDKJK42D.js} +14 -11
  39. package/dist/{chunk-6MJ52OLD.js → chunk-LKGDG6WW.js} +1 -1
  40. package/dist/{chunk-BVGYIZ3O.js → chunk-M63RTPGR.js} +0 -7
  41. package/dist/chunk-MSXPXGEQ.js +176 -0
  42. package/dist/{chunk-GPBOTRYV.js → chunk-NAXATNVY.js} +9 -9
  43. package/dist/{chunk-ZQSNWZD4.js → chunk-NQYIB3IR.js} +3 -3
  44. package/dist/{chunk-QI5VKSMW.js → chunk-OVPEO3GL.js} +2 -2
  45. package/dist/{chunk-OIWSTE6V.js → chunk-PU5KGSLR.js} +3 -3
  46. package/dist/{chunk-WI3E2P3B.js → chunk-QTHWTF4X.js} +2 -2
  47. package/dist/{chunk-BEYT7IAV.js → chunk-RNLLSL24.js} +14 -10
  48. package/dist/{chunk-CYG4QPQ3.js → chunk-RQ24VTW4.js} +1 -1
  49. package/dist/{chunk-HVHJU6BK.js → chunk-RZVQGETB.js} +7 -7
  50. package/dist/{chunk-QBOF3CYT.js → chunk-T3QDR67D.js} +5 -5
  51. package/dist/{chunk-7SNGGY5B.js → chunk-TMGCRPEZ.js} +1 -1
  52. package/dist/{chunk-3CU2FNWB.js → chunk-TZ5DL7CA.js} +3 -3
  53. package/dist/{chunk-NLMW7YYN.js → chunk-U2VYZHIW.js} +5 -5
  54. package/dist/{chunk-TKNIQF4H.js → chunk-URD52LAO.js} +2 -2
  55. package/dist/{chunk-LOF3ZXQM.js → chunk-VNBOO6TJ.js} +64 -2
  56. package/dist/{chunk-YNJ3FUKX.js → chunk-W7VW72CK.js} +4 -4
  57. package/dist/{chunk-P52UWCZD.js → chunk-WCNR75S2.js} +1 -1
  58. package/dist/{chunk-DLDVLYHU.js → chunk-Y4AOSTJD.js} +20 -16
  59. package/dist/{chunk-IUKVZDDI.js → chunk-YVHTE4VJ.js} +3 -3
  60. package/dist/{chunk-GG6BKQB7.js → chunk-ZCRCEEIR.js} +4 -4
  61. package/dist/{chunk-SDNI4T2T.js → chunk-ZLSD2RNR.js} +14 -13
  62. package/dist/cli/commands/auth/logout.js +28 -28
  63. package/dist/cli/commands/auth/logout.test.js +30 -30
  64. package/dist/cli/commands/debug/command-flags.js +26 -26
  65. package/dist/cli/commands/demo/catalog.js +28 -28
  66. package/dist/cli/commands/demo/generate-file.js +29 -29
  67. package/dist/cli/commands/demo/index.js +27 -27
  68. package/dist/cli/commands/demo/print-ai-prompt.js +29 -29
  69. package/dist/cli/commands/docs/generate.js +26 -26
  70. package/dist/cli/commands/docs/generate.js.map +1 -1
  71. package/dist/cli/commands/docs/generate.test.js +30 -27
  72. package/dist/cli/commands/help.js +26 -26
  73. package/dist/cli/commands/hydrogen/init.js +26 -26
  74. package/dist/cli/commands/kitchen-sink/async.js +27 -27
  75. package/dist/cli/commands/kitchen-sink/async.test.js +28 -28
  76. package/dist/cli/commands/kitchen-sink/index.js +29 -29
  77. package/dist/cli/commands/kitchen-sink/index.test.js +30 -30
  78. package/dist/cli/commands/kitchen-sink/prompts.js +27 -27
  79. package/dist/cli/commands/kitchen-sink/prompts.test.js +28 -28
  80. package/dist/cli/commands/kitchen-sink/static.js +27 -27
  81. package/dist/cli/commands/kitchen-sink/static.test.js +28 -28
  82. package/dist/cli/commands/search.js +27 -27
  83. package/dist/cli/commands/upgrade.js +26 -26
  84. package/dist/cli/commands/upgrade.test.js +4 -4
  85. package/dist/cli/commands/version.js +27 -27
  86. package/dist/cli/commands/version.test.js +28 -28
  87. package/dist/cli/services/commands/search.js +16 -17
  88. package/dist/cli/services/commands/search.test.js +17 -18
  89. package/dist/cli/services/commands/version.js +19 -19
  90. package/dist/cli/services/commands/version.test.js +21 -21
  91. package/dist/cli/services/demo.js +17 -18
  92. package/dist/cli/services/demo.test.js +18 -19
  93. package/dist/cli/services/kitchen-sink/async.js +16 -17
  94. package/dist/cli/services/kitchen-sink/prompts.js +16 -17
  95. package/dist/cli/services/kitchen-sink/static.js +16 -17
  96. package/dist/cli/services/upgrade.js +18 -18
  97. package/dist/cli/services/upgrade.test.js +21 -21
  98. package/dist/{constants-OQPDSWGZ.js → constants-3B4PKIC7.js} +4 -4
  99. package/dist/{custom-oclif-loader-C3NJVUH5.js → custom-oclif-loader-2FLACCMK.js} +15 -16
  100. package/dist/{del-HVOV3MSN.js → del-5I7QSZXM.js} +7 -8
  101. package/dist/{devtools-SPNRC62Y.js → devtools-KQM4GF6J.js} +1 -1
  102. package/dist/error-handler-RU2ELIV6.js +37 -0
  103. package/dist/hooks/init.js +15 -16
  104. package/dist/hooks/postrun.js +23 -23
  105. package/dist/hooks/prerun.js +19 -19
  106. package/dist/{http-proxy-UXKO35LH.js → http-proxy-42DFA6MY.js} +2 -2
  107. package/dist/index.js +7398 -6797
  108. package/dist/{lib-2EBQB76J.js → lib-AAMRQUES.js} +3 -3
  109. package/dist/lib-KV4KCWH7.js +11 -0
  110. package/dist/{local-LOUQD2TP.js → local-IWFESFES.js} +15 -16
  111. package/dist/{magic-string.es-XWLPTYL2.js → magic-string.es-6WMSFIAX.js} +1 -1
  112. package/dist/{multipart-parser-KUMTOIY4.js → multipart-parser-O2BQODS2.js} +2 -2
  113. package/dist/{node-package-manager-HN2BURTH.js → node-package-manager-HBYFQNJQ.js} +17 -17
  114. package/dist/npa-VW3Y6UCQ.js +2262 -0
  115. package/dist/{open-4QOBUNAV.js → open-B7XFJJCK.js} +2 -2
  116. package/dist/out-MH5VOFOS.js +6 -0
  117. package/dist/{path-NJJ6ID3F.js → path-HO4HBKK5.js} +3 -3
  118. package/dist/system-KY2XFEXZ.js +28 -0
  119. package/dist/templates/ui-extensions/projects/web_pixel_extension/package.json.liquid +1 -1
  120. package/dist/templates/ui-extensions/projects/web_pixel_extension/src/index.liquid +1 -1
  121. package/dist/tsconfig.tsbuildinfo +1 -1
  122. package/dist/{ui-36MRS2GL.js → ui-MN3VE2TA.js} +15 -16
  123. package/oclif.manifest.json +115 -30
  124. package/package.json +7 -6
  125. package/dist/assets/cli-ruby/test/shopify-cli/theme/extension/syncer_test.rb +0 -82
  126. package/dist/chunk-F6GZ5SSL.js +0 -69
  127. package/dist/error-handler-WFXXE3PZ.js +0 -37
  128. package/dist/favicon-4808307e.ico +0 -0
  129. package/dist/index-878807df.js +0 -5
  130. package/dist/index-a69a7f3d.js +0 -7
  131. package/dist/index-e6f8190d.js +0 -953
  132. package/dist/lib-ZHR6CBL4.js +0 -12
  133. package/dist/out-K5X4ON7U.js +0 -6
  134. package/dist/package-9a1ede4a.json +0 -268
  135. package/dist/shell-FSGSHXVH.js +0 -2517
  136. package/dist/style-49513a24.css +0 -58
  137. package/dist/system-PSH5D5DY.js +0 -29
  138. package/dist/yarn-e8df42e5.js +0 -31
@@ -16,22 +16,21 @@ import {
16
16
  renderText,
17
17
  renderTextPrompt,
18
18
  renderWarning
19
- } from "./chunk-SDNI4T2T.js";
20
- import "./chunk-SA32EMWV.js";
21
- import "./chunk-JCAIZOYO.js";
22
- import "./chunk-QI5VKSMW.js";
23
- import "./chunk-3MMF34G4.js";
24
- import "./chunk-YLPWACJJ.js";
25
- import "./chunk-SMULJJG3.js";
26
- import "./chunk-LOF3ZXQM.js";
27
- import "./chunk-F6GZ5SSL.js";
28
- import "./chunk-WI3E2P3B.js";
29
- import "./chunk-CYG4QPQ3.js";
30
- import "./chunk-P52UWCZD.js";
31
- import "./chunk-M336AND6.js";
32
- import "./chunk-AXXAG7WU.js";
33
- import "./chunk-566AK3QG.js";
34
- import "./chunk-BVGYIZ3O.js";
19
+ } from "./chunk-ZLSD2RNR.js";
20
+ import "./chunk-FQIRJADJ.js";
21
+ import "./chunk-FBB6KUZG.js";
22
+ import "./chunk-OVPEO3GL.js";
23
+ import "./chunk-4AOK4O3R.js";
24
+ import "./chunk-FWGRGI4R.js";
25
+ import "./chunk-BE73NZXB.js";
26
+ import "./chunk-VNBOO6TJ.js";
27
+ import "./chunk-QTHWTF4X.js";
28
+ import "./chunk-RQ24VTW4.js";
29
+ import "./chunk-WCNR75S2.js";
30
+ import "./chunk-G6FN5VUE.js";
31
+ import "./chunk-3JLUTHGR.js";
32
+ import "./chunk-GXPKATXW.js";
33
+ import "./chunk-M63RTPGR.js";
35
34
  export {
36
35
  handleCtrlC,
37
36
  keypress,
@@ -210,8 +210,8 @@
210
210
  ],
211
211
  "args": {
212
212
  },
213
- "description": "\"Builds the app\" (https://shopify.dev/docs/apps/tools/cli/commands#build), then deploys your app configuration and extensions.\n\n This command creates an app version, which is a snapshot of your app configuration and all extensions, including the app extensions that you manage in the Partner Dashboard. This version is then released to users.\n\n This command doesn't deploy your \"web app\" (https://shopify.dev/docs/apps/tools/cli/structure#web-components). You need to \"deploy your web app\" (https://shopify.dev/docs/apps/deployment/web) to your own hosting solution.\n ",
214
- "descriptionWithMarkdown": "[Builds the app](https://shopify.dev/docs/apps/tools/cli/commands#build), then deploys your app configuration and extensions.\n\n This command creates an app version, which is a snapshot of your app configuration and all extensions, including the app extensions that you manage in the Partner Dashboard. This version is then released to users.\n\n This command doesn't deploy your [web app](https://shopify.dev/docs/apps/tools/cli/structure#web-components). You need to [deploy your web app](https://shopify.dev/docs/apps/deployment/web) to your own hosting solution.\n ",
213
+ "description": "\"Builds the app\" (https://shopify.dev/docs/api/shopify-cli/app/app-build), then deploys your app configuration and extensions.\n\n This command creates an app version, which is a snapshot of your app configuration and all extensions, including the app extensions that you manage in the Partner Dashboard. This version is then released to users.\n\n This command doesn't deploy your \"web app\" (https://shopify.dev/docs/apps/tools/cli/structure#web-components). You need to \"deploy your web app\" (https://shopify.dev/docs/apps/deployment/web) to your own hosting solution.\n ",
214
+ "descriptionWithMarkdown": "[Builds the app](https://shopify.dev/docs/api/shopify-cli/app/app-build), then deploys your app configuration and extensions.\n\n This command creates an app version, which is a snapshot of your app configuration and all extensions, including the app extensions that you manage in the Partner Dashboard. This version is then released to users.\n\n This command doesn't deploy your [web app](https://shopify.dev/docs/apps/tools/cli/structure#web-components). You need to [deploy your web app](https://shopify.dev/docs/apps/deployment/web) to your own hosting solution.\n ",
215
215
  "flags": {
216
216
  "api-key": {
217
217
  "description": "The API key of your app.",
@@ -343,8 +343,8 @@
343
343
  ],
344
344
  "args": {
345
345
  },
346
- "description": "\"Builds the app\" (https://shopify.dev/docs/apps/tools/cli/commands#build) and lets you preview it on a \"development store\" (https://shopify.dev/docs/apps/tools/development-stores) or \"Plus sandbox store\" (https://help.shopify.com/partners/dashboard/managing-stores/plus-sandbox-store?shpxid=09640797-900B-4D1E-6E65-76A35B54FF4A).\n\n To preview your app on a development store or Plus sandbox store, Shopify CLI walks you through the following steps. If you've run `dev` before, then your settings are saved and some of these steps are skipped. You can reset these configurations using `dev --reset` to go through all of them again:\n\n- Associating your project with an app associated with your Partner account or organization, or creating a new app.\n- Selecting a development store or Plus sandbox store to use for testing. If you have only one store, then it's selected automatically.\n- Installing your app on the store using the provided install link.\n- Creating a tunnel between your local environment and the store using Cloudflare.\n\n You can use your own tunneling software instead, by passing your tunnel URL with the `--tunnel-url` flag.\n- Updating the app URLs that are set in the Partner Dashboard.\n\n To avoid overwriting any URLs that are already set, select the No, never option. If you select this option, then you're provided with URLs that you can manually add in the Partner Dashboard so you can preview your app.\n\n- Enabling development store preview for extensions.\n- Serving \"GraphiQL for the Admin API\" (https://shopify.dev/docs/apps/tools/graphiql-admin-api#use-a-local-graphiql-instance) using your app's credentials and access scopes.\n- Building and serving your app and app extensions.\n\nIf you're using the PHP or Ruby app template, then you need to complete the following steps before you can preview your app for the first time:\n\n- PHP: \"Set up your Laravel app\" (https://github.com/Shopify/shopify-app-template-php#setting-up-your-laravel-app)\n- Ruby: \"Set up your Rails app\" (https://github.com/Shopify/shopify-app-template-ruby#setting-up-your-rails-app)\n\n> Caution: To use a development store or Plus sandbox store with Shopify CLI, you need to be the store owner, or have a \"staff account\" (https://help.shopify.com/manual/your-account/staff-accounts?shpxid=09640797-900B-4D1E-6E65-76A35B54FF4A) on the store. Staff accounts are created automatically the first time you access a development store with your Partner staff account through the Partner Dashboard.\n",
347
- "descriptionWithMarkdown": "[Builds the app](https://shopify.dev/docs/apps/tools/cli/commands#build) and lets you preview it on a [development store](https://shopify.dev/docs/apps/tools/development-stores) or [Plus sandbox store](https://help.shopify.com/partners/dashboard/managing-stores/plus-sandbox-store?shpxid=09640797-900B-4D1E-6E65-76A35B54FF4A).\n\n To preview your app on a development store or Plus sandbox store, Shopify CLI walks you through the following steps. If you've run `dev` before, then your settings are saved and some of these steps are skipped. You can reset these configurations using `dev --reset` to go through all of them again:\n\n- Associating your project with an app associated with your Partner account or organization, or creating a new app.\n- Selecting a development store or Plus sandbox store to use for testing. If you have only one store, then it's selected automatically.\n- Installing your app on the store using the provided install link.\n- Creating a tunnel between your local environment and the store using Cloudflare.\n\n You can use your own tunneling software instead, by passing your tunnel URL with the `--tunnel-url` flag.\n- Updating the app URLs that are set in the Partner Dashboard.\n\n To avoid overwriting any URLs that are already set, select the No, never option. If you select this option, then you're provided with URLs that you can manually add in the Partner Dashboard so you can preview your app.\n\n- Enabling development store preview for extensions.\n- Serving [GraphiQL for the Admin API](https://shopify.dev/docs/apps/tools/graphiql-admin-api#use-a-local-graphiql-instance) using your app's credentials and access scopes.\n- Building and serving your app and app extensions.\n\nIf you're using the PHP or Ruby app template, then you need to complete the following steps before you can preview your app for the first time:\n\n- PHP: [Set up your Laravel app](https://github.com/Shopify/shopify-app-template-php#setting-up-your-laravel-app)\n- Ruby: [Set up your Rails app](https://github.com/Shopify/shopify-app-template-ruby#setting-up-your-rails-app)\n\n> Caution: To use a development store or Plus sandbox store with Shopify CLI, you need to be the store owner, or have a [staff account](https://help.shopify.com/manual/your-account/staff-accounts?shpxid=09640797-900B-4D1E-6E65-76A35B54FF4A) on the store. Staff accounts are created automatically the first time you access a development store with your Partner staff account through the Partner Dashboard.\n",
346
+ "description": "\"Builds the app\" (https://shopify.dev/docs/api/shopify-cli/app/app-build) and lets you preview it on a \"development store\" (https://shopify.dev/docs/apps/tools/development-stores) or \"Plus sandbox store\" (https://help.shopify.com/partners/dashboard/managing-stores/plus-sandbox-store).\n\n To preview your app on a development store or Plus sandbox store, Shopify CLI walks you through the following steps. If you've run `dev` before, then your settings are saved and some of these steps are skipped. You can reset these configurations using `dev --reset` to go through all of them again:\n\n- Associating your project with an app associated with your Partner account or organization, or creating a new app.\n- Selecting a development store or Plus sandbox store to use for testing. If you have only one store, then it's selected automatically.\n- Installing your app on the store using the provided install link.\n- Creating a tunnel between your local environment and the store using Cloudflare.\n\n You can use your own tunneling software instead, by passing your tunnel URL with the `--tunnel-url` flag.\n- Updating the app URLs that are set in the Partner Dashboard.\n\n To avoid overwriting any URLs that are already set, select the No, never option. If you select this option, then you're provided with URLs that you can manually add in the Partner Dashboard so you can preview your app.\n\n- Enabling development store preview for extensions.\n- Serving \"GraphiQL for the Admin API\" (https://shopify.dev/docs/apps/tools/graphiql-admin-api#use-a-local-graphiql-instance) using your app's credentials and access scopes.\n- Building and serving your app and app extensions.\n\nIf you're using the PHP or Ruby app template, then you need to complete the following steps before you can preview your app for the first time:\n\n- PHP: \"Set up your Laravel app\" (https://github.com/Shopify/shopify-app-template-php#setting-up-your-laravel-app)\n- Ruby: \"Set up your Rails app\" (https://github.com/Shopify/shopify-app-template-ruby#setting-up-your-rails-app)\n\n> Caution: To use a development store or Plus sandbox store with Shopify CLI, you need to be the store owner, or have a \"staff account\" (https://help.shopify.com/manual/your-account/staff-accounts) on the store. Staff accounts are created automatically the first time you access a development store with your Partner staff account through the Partner Dashboard.\n",
347
+ "descriptionWithMarkdown": "[Builds the app](https://shopify.dev/docs/api/shopify-cli/app/app-build) and lets you preview it on a [development store](https://shopify.dev/docs/apps/tools/development-stores) or [Plus sandbox store](https://help.shopify.com/partners/dashboard/managing-stores/plus-sandbox-store).\n\n To preview your app on a development store or Plus sandbox store, Shopify CLI walks you through the following steps. If you've run `dev` before, then your settings are saved and some of these steps are skipped. You can reset these configurations using `dev --reset` to go through all of them again:\n\n- Associating your project with an app associated with your Partner account or organization, or creating a new app.\n- Selecting a development store or Plus sandbox store to use for testing. If you have only one store, then it's selected automatically.\n- Installing your app on the store using the provided install link.\n- Creating a tunnel between your local environment and the store using Cloudflare.\n\n You can use your own tunneling software instead, by passing your tunnel URL with the `--tunnel-url` flag.\n- Updating the app URLs that are set in the Partner Dashboard.\n\n To avoid overwriting any URLs that are already set, select the No, never option. If you select this option, then you're provided with URLs that you can manually add in the Partner Dashboard so you can preview your app.\n\n- Enabling development store preview for extensions.\n- Serving [GraphiQL for the Admin API](https://shopify.dev/docs/apps/tools/graphiql-admin-api#use-a-local-graphiql-instance) using your app's credentials and access scopes.\n- Building and serving your app and app extensions.\n\nIf you're using the PHP or Ruby app template, then you need to complete the following steps before you can preview your app for the first time:\n\n- PHP: [Set up your Laravel app](https://github.com/Shopify/shopify-app-template-php#setting-up-your-laravel-app)\n- Ruby: [Set up your Rails app](https://github.com/Shopify/shopify-app-template-ruby#setting-up-your-rails-app)\n\n> Caution: To use a development store or Plus sandbox store with Shopify CLI, you need to be the store owner, or have a [staff account](https://help.shopify.com/manual/your-account/staff-accounts) on the store. Staff accounts are created automatically the first time you access a development store with your Partner staff account through the Partner Dashboard.\n",
348
348
  "flags": {
349
349
  "api-key": {
350
350
  "description": "The API key of your app.",
@@ -1020,8 +1020,8 @@
1020
1020
  "name": "file"
1021
1021
  }
1022
1022
  },
1023
- "description": "Generates a new \"app extension\" (https://shopify.dev/docs/apps/app-extensions). For a list of app extensions that you can generate using this command, refer to \"Supported extensions\" (https://shopify.dev/docs/apps/tools/cli/commands#supported-extensions).\n\n Each new app extension is created in a folder under `extensions/`. To learn more about the extensions file structure, refer to \"App structure\" (https://shopify.dev/docs/apps/tools/cli/structure) and the documentation for your extension.\n ",
1024
- "descriptionWithMarkdown": "Generates a new [app extension](https://shopify.dev/docs/apps/app-extensions). For a list of app extensions that you can generate using this command, refer to [Supported extensions](https://shopify.dev/docs/apps/tools/cli/commands#supported-extensions).\n\n Each new app extension is created in a folder under `extensions/`. To learn more about the extensions file structure, refer to [App structure](https://shopify.dev/docs/apps/tools/cli/structure) and the documentation for your extension.\n ",
1023
+ "description": "Generates a new \"app extension\" (https://shopify.dev/docs/apps/app-extensions). For a list of app extensions that you can generate using this command, refer to \"Supported extensions\" (https://shopify.dev/docs/apps/structure/app-extensions/list).\n\n Each new app extension is created in a folder under `extensions/`. To learn more about the extensions file structure, refer to \"App structure\" (https://shopify.dev/docs/apps/tools/cli/structure) and the documentation for your extension.\n ",
1024
+ "descriptionWithMarkdown": "Generates a new [app extension](https://shopify.dev/docs/apps/app-extensions). For a list of app extensions that you can generate using this command, refer to [Supported extensions](https://shopify.dev/docs/apps/structure/app-extensions/list).\n\n Each new app extension is created in a folder under `extensions/`. To learn more about the extensions file structure, refer to [App structure](https://shopify.dev/docs/apps/tools/cli/structure) and the documentation for your extension.\n ",
1025
1025
  "examples": [
1026
1026
  "<%= config.bin %> <%= command.id %>"
1027
1027
  ],
@@ -1320,8 +1320,8 @@
1320
1320
  ],
1321
1321
  "args": {
1322
1322
  },
1323
- "description": "The information returned includes the following:\n\n - The app and development store or Plus sandbox store that's used when you run the \"dev\" (https://shopify.dev/docs/apps/tools/cli/commands#dev) command. You can reset these configurations using \"dev --reset\" (https://shopify.dev/docs/apps/tools/cli/commands#dev).\n - The \"structure\" (https://shopify.dev/docs/apps/tools/cli/structure) of your app project.\n - The \"access scopes\" (https://shopify.dev/docs/api/usage) your app has requested.\n - System information, including the package manager and version of Shopify CLI used in the project.",
1324
- "descriptionWithMarkdown": "The information returned includes the following:\n\n - The app and development store or Plus sandbox store that's used when you run the [dev](https://shopify.dev/docs/apps/tools/cli/commands#dev) command. You can reset these configurations using [dev --reset](https://shopify.dev/docs/apps/tools/cli/commands#dev).\n - The [structure](https://shopify.dev/docs/apps/tools/cli/structure) of your app project.\n - The [access scopes](https://shopify.dev/docs/api/usage) your app has requested.\n - System information, including the package manager and version of Shopify CLI used in the project.",
1323
+ "description": "The information returned includes the following:\n\n - The app and development store or Plus sandbox store that's used when you run the \"dev\" (https://shopify.dev/docs/api/shopify-cli/app/app-dev) command. You can reset these configurations using \"`dev --reset`\" (https://shopify.dev/docs/api/shopify-cli/app/app-dev#flags-propertydetail-reset).\n - The \"structure\" (https://shopify.dev/docs/apps/tools/cli/structure) of your app project.\n - The \"access scopes\" (https://shopify.dev/docs/api/usage) your app has requested.\n - System information, including the package manager and version of Shopify CLI used in the project.",
1324
+ "descriptionWithMarkdown": "The information returned includes the following:\n\n - The app and development store or Plus sandbox store that's used when you run the [dev](https://shopify.dev/docs/api/shopify-cli/app/app-dev) command. You can reset these configurations using [`dev --reset`](https://shopify.dev/docs/api/shopify-cli/app/app-dev#flags-propertydetail-reset).\n - The [structure](https://shopify.dev/docs/apps/tools/cli/structure) of your app project.\n - The [access scopes](https://shopify.dev/docs/api/usage) your app has requested.\n - System information, including the package manager and version of Shopify CLI used in the project.",
1325
1325
  "flags": {
1326
1326
  "config": {
1327
1327
  "char": "c",
@@ -1701,6 +1701,18 @@
1701
1701
  "required": false,
1702
1702
  "type": "option"
1703
1703
  },
1704
+ "client-id": {
1705
+ "description": "The Client ID of your app.",
1706
+ "env": "SHOPIFY_FLAG_CLIENT_ID",
1707
+ "exclusive": [
1708
+ "config"
1709
+ ],
1710
+ "hasDynamicHelp": false,
1711
+ "hidden": false,
1712
+ "multiple": false,
1713
+ "name": "client-id",
1714
+ "type": "option"
1715
+ },
1704
1716
  "client-secret": {
1705
1717
  "description": "Your app's client secret. This secret allows us to return the X-Shopify-Hmac-SHA256 header that lets you validate the origin of the response that you receive.",
1706
1718
  "env": "SHOPIFY_FLAG_CLIENT_SECRET",
@@ -1711,6 +1723,16 @@
1711
1723
  "required": false,
1712
1724
  "type": "option"
1713
1725
  },
1726
+ "config": {
1727
+ "char": "c",
1728
+ "description": "The name of the app configuration.",
1729
+ "env": "SHOPIFY_FLAG_APP_CONFIG",
1730
+ "hasDynamicHelp": false,
1731
+ "hidden": false,
1732
+ "multiple": false,
1733
+ "name": "config",
1734
+ "type": "option"
1735
+ },
1714
1736
  "delivery-method": {
1715
1737
  "description": "Method chosen to deliver the topic payload. If not passed, it's inferred from the address.",
1716
1738
  "env": "SHOPIFY_FLAG_DELIVERY_METHOD",
@@ -1735,6 +1757,15 @@
1735
1757
  "required": false,
1736
1758
  "type": "boolean"
1737
1759
  },
1760
+ "path": {
1761
+ "description": "The path to your app directory.",
1762
+ "env": "SHOPIFY_FLAG_PATH",
1763
+ "hasDynamicHelp": false,
1764
+ "multiple": false,
1765
+ "name": "path",
1766
+ "noCacheDefault": true,
1767
+ "type": "option"
1768
+ },
1738
1769
  "shared-secret": {
1739
1770
  "description": "Deprecated. Please use client-secret.",
1740
1771
  "env": "SHOPIFY_FLAG_SHARED_SECRET",
@@ -2283,15 +2314,24 @@
2283
2314
  "description": "",
2284
2315
  "enableJsonFlag": true,
2285
2316
  "examples": [
2286
- "<%= config.bin %> <%= command.id %> <%- config.pjson.oclif.examplePlugin || \"myplugin\" %> ",
2287
- "<%= config.bin %> <%= command.id %> https://github.com/someuser/someplugin",
2288
- "<%= config.bin %> <%= command.id %> someuser/someplugin"
2317
+ {
2318
+ "command": "<%= config.bin %> <%= command.id %> <%- config.pjson.oclif.examplePlugin || \"myplugin\" %> ",
2319
+ "description": "Install a plugin from npm registry."
2320
+ },
2321
+ {
2322
+ "command": "<%= config.bin %> <%= command.id %> https://github.com/someuser/someplugin",
2323
+ "description": "Install a plugin from a github url."
2324
+ },
2325
+ {
2326
+ "command": "<%= config.bin %> <%= command.id %> someuser/someplugin",
2327
+ "description": "Install a plugin from a github slug."
2328
+ }
2289
2329
  ],
2290
2330
  "flags": {
2291
2331
  "force": {
2292
2332
  "allowNo": false,
2293
2333
  "char": "f",
2294
- "description": "Run yarn install with force flag.",
2334
+ "description": "Force npm to fetch remote resources even if a local copy exists on disk.",
2295
2335
  "name": "force",
2296
2336
  "type": "boolean"
2297
2337
  },
@@ -2318,7 +2358,7 @@
2318
2358
  "silent": {
2319
2359
  "allowNo": false,
2320
2360
  "char": "s",
2321
- "description": "Silences yarn output.",
2361
+ "description": "Silences npm output.",
2322
2362
  "exclusive": [
2323
2363
  "verbose"
2324
2364
  ],
@@ -2328,7 +2368,7 @@
2328
2368
  "verbose": {
2329
2369
  "allowNo": false,
2330
2370
  "char": "v",
2331
- "description": "Show verbose yarn output.",
2371
+ "description": "Show verbose npm output.",
2332
2372
  "exclusive": [
2333
2373
  "silent"
2334
2374
  ],
@@ -2344,7 +2384,7 @@
2344
2384
  "pluginName": "@shopify/cli",
2345
2385
  "pluginType": "core",
2346
2386
  "strict": false,
2347
- "usage": "plugins:install PLUGIN..."
2387
+ "summary": "Installs a plugin into <%= config.bin %>."
2348
2388
  },
2349
2389
  "plugins:link": {
2350
2390
  "aliases": [
@@ -2390,8 +2430,7 @@
2390
2430
  "pluginAlias": "@shopify/cli",
2391
2431
  "pluginName": "@shopify/cli",
2392
2432
  "pluginType": "core",
2393
- "strict": true,
2394
- "usage": "plugins:link PLUGIN"
2433
+ "strict": true
2395
2434
  },
2396
2435
  "plugins:reset": {
2397
2436
  "aliases": [
@@ -2461,8 +2500,7 @@
2461
2500
  "pluginAlias": "@shopify/cli",
2462
2501
  "pluginName": "@shopify/cli",
2463
2502
  "pluginType": "core",
2464
- "strict": false,
2465
- "usage": "plugins:uninstall PLUGIN..."
2503
+ "strict": false
2466
2504
  },
2467
2505
  "plugins:update": {
2468
2506
  "aliases": [
@@ -2853,9 +2891,17 @@
2853
2891
  "force",
2854
2892
  "notify"
2855
2893
  ],
2856
- "description": "\n Uploads the current theme as the specified theme, or a \"development theme\" (https://shopify.dev/docs/themes/tools/cli#development-themes), to a store so you can preview it.\n\nThis command returns the following information:\n\n- A link to your development theme at http://127.0.0.1:9292. This URL can hot reload local changes to CSS and sections, or refresh the entire page when a file changes, enabling you to preview changes in real time using the store's data.\n\n You can specify a different network interface and port using `--host` and `--port`.\n\n- A link to the \"editor\" (https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n\n- A \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes?shpxid=cee12a89-AA22-4AD3-38C8-91C8FC0E1FB0#share-a-theme-preview-with-others) that you can share with other developers.\n\nIf you already have a development theme for your current environment, then this command replaces the development theme with your local theme. You can override this using the `--theme-editor-sync` flag.\n\n> Note: You can't preview checkout customizations using http://127.0.0.1:9292.\n\nDevelopment themes are deleted when you run `shopify auth logout`. If you need a preview link that can be used after you log out, then you should \"share\" (https://shopify.dev/docs/themes/tools/cli/commands#share) your theme or \"push\" (https://shopify.dev/docs/themes/tools/cli/commands#push) to an unpublished theme on your store.\n\nYou can run this command only in a directory that matches the \"default Shopify theme folder structure\" (https://shopify.dev/docs/themes/tools/cli#directory-structure).",
2857
- "descriptionWithMarkdown": "\n Uploads the current theme as the specified theme, or a [development theme](https://shopify.dev/docs/themes/tools/cli#development-themes), to a store so you can preview it.\n\nThis command returns the following information:\n\n- A link to your development theme at http://127.0.0.1:9292. This URL can hot reload local changes to CSS and sections, or refresh the entire page when a file changes, enabling you to preview changes in real time using the store's data.\n\n You can specify a different network interface and port using `--host` and `--port`.\n\n- A link to the [editor](https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n\n- A [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes?shpxid=cee12a89-AA22-4AD3-38C8-91C8FC0E1FB0#share-a-theme-preview-with-others) that you can share with other developers.\n\nIf you already have a development theme for your current environment, then this command replaces the development theme with your local theme. You can override this using the `--theme-editor-sync` flag.\n\n> Note: You can't preview checkout customizations using http://127.0.0.1:9292.\n\nDevelopment themes are deleted when you run `shopify auth logout`. If you need a preview link that can be used after you log out, then you should [share](https://shopify.dev/docs/themes/tools/cli/commands#share) your theme or [push](https://shopify.dev/docs/themes/tools/cli/commands#push) to an unpublished theme on your store.\n\nYou can run this command only in a directory that matches the [default Shopify theme folder structure](https://shopify.dev/docs/themes/tools/cli#directory-structure).",
2894
+ "description": "\n Uploads the current theme as the specified theme, or a \"development theme\" (https://shopify.dev/docs/themes/tools/cli#development-themes), to a store so you can preview it.\n\nThis command returns the following information:\n\n- A link to your development theme at http://127.0.0.1:9292. This URL can hot reload local changes to CSS and sections, or refresh the entire page when a file changes, enabling you to preview changes in real time using the store's data.\n\n You can specify a different network interface and port using `--host` and `--port`.\n\n- A link to the \"editor\" (https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n\n- A \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with other developers.\n\nIf you already have a development theme for your current environment, then this command replaces the development theme with your local theme. You can override this using the `--theme-editor-sync` flag.\n\n> Note: You can't preview checkout customizations using http://127.0.0.1:9292.\n\nDevelopment themes are deleted when you run `shopify auth logout`. If you need a preview link that can be used after you log out, then you should \"share\" (https://shopify.dev/docs/api/shopify-cli/theme/theme-share) your theme or \"push\" (https://shopify.dev/docs/api/shopify-cli/theme/theme-push) to an unpublished theme on your store.\n\nYou can run this command only in a directory that matches the \"default Shopify theme folder structure\" (https://shopify.dev/docs/themes/tools/cli#directory-structure).",
2895
+ "descriptionWithMarkdown": "\n Uploads the current theme as the specified theme, or a [development theme](https://shopify.dev/docs/themes/tools/cli#development-themes), to a store so you can preview it.\n\nThis command returns the following information:\n\n- A link to your development theme at http://127.0.0.1:9292. This URL can hot reload local changes to CSS and sections, or refresh the entire page when a file changes, enabling you to preview changes in real time using the store's data.\n\n You can specify a different network interface and port using `--host` and `--port`.\n\n- A link to the [editor](https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n\n- A [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with other developers.\n\nIf you already have a development theme for your current environment, then this command replaces the development theme with your local theme. You can override this using the `--theme-editor-sync` flag.\n\n> Note: You can't preview checkout customizations using http://127.0.0.1:9292.\n\nDevelopment themes are deleted when you run `shopify auth logout`. If you need a preview link that can be used after you log out, then you should [share](https://shopify.dev/docs/api/shopify-cli/theme/theme-share) your theme or [push](https://shopify.dev/docs/api/shopify-cli/theme/theme-push) to an unpublished theme on your store.\n\nYou can run this command only in a directory that matches the [default Shopify theme folder structure](https://shopify.dev/docs/themes/tools/cli#directory-structure).",
2858
2896
  "flags": {
2897
+ "dev-preview": {
2898
+ "allowNo": false,
2899
+ "description": "Enables the developer preview for the upcoming `theme dev` implementation.",
2900
+ "env": "SHOPIFY_FLAG_BETA",
2901
+ "hidden": true,
2902
+ "name": "dev-preview",
2903
+ "type": "boolean"
2904
+ },
2859
2905
  "environment": {
2860
2906
  "char": "e",
2861
2907
  "description": "The environment to apply to the current command.",
@@ -3315,8 +3361,8 @@
3315
3361
  ],
3316
3362
  "args": {
3317
3363
  },
3318
- "description": "Returns links that let you preview the specified theme. The following links are returned:\n\n - A link to the \"editor\" (https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n - A \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes?shpxid=cee12a89-AA22-4AD3-38C8-91C8FC0E1FB0#share-a-theme-preview-with-others) that you can share with other developers.\n\n If you don't specify a theme, then you're prompted to select the theme to open from the list of the themes in your store.",
3319
- "descriptionWithMarkdown": "Returns links that let you preview the specified theme. The following links are returned:\n\n - A link to the [editor](https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n - A [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes?shpxid=cee12a89-AA22-4AD3-38C8-91C8FC0E1FB0#share-a-theme-preview-with-others) that you can share with other developers.\n\n If you don't specify a theme, then you're prompted to select the theme to open from the list of the themes in your store.",
3364
+ "description": "Returns links that let you preview the specified theme. The following links are returned:\n\n - A link to the \"editor\" (https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n - A \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with other developers.\n\n If you don't specify a theme, then you're prompted to select the theme to open from the list of the themes in your store.",
3365
+ "descriptionWithMarkdown": "Returns links that let you preview the specified theme. The following links are returned:\n\n - A link to the [editor](https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n - A [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with other developers.\n\n If you don't specify a theme, then you're prompted to select the theme to open from the list of the themes in your store.",
3320
3366
  "flags": {
3321
3367
  "development": {
3322
3368
  "allowNo": false,
@@ -3702,8 +3748,8 @@
3702
3748
  "force",
3703
3749
  "development-theme-id"
3704
3750
  ],
3705
- "description": "Uploads your local theme files to Shopify, overwriting the remote version if specified.\n\n If no theme is specified, then you're prompted to select the theme to overwrite from the list of the themes in your store.\n\n You can run this command only in a directory that matches the \"default Shopify theme folder structure\" (https://shopify.dev/docs/themes/tools/cli#directory-structure).\n\n This command returns the following information:\n\n - A link to the \"editor\" (https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n - A \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes?shpxid=cee12a89-AA22-4AD3-38C8-91C8FC0E1FB0#share-a-theme-preview-with-others) that you can share with others.\n\n If you use the `--json` flag, then theme information is returned in JSON format, which can be used as a machine-readable input for scripts or continuous integration.\n\n Sample output:\n\n ```json\n {\n \"theme\": {\n \"id\": 108267175958,\n \"name\": \"MyTheme\",\n \"role\": \"unpublished\",\n \"shop\": \"mystore.myshopify.com\",\n \"editor_url\": \"https://mystore.myshopify.com/admin/themes/108267175958/editor\",\n \"preview_url\": \"https://mystore.myshopify.com/?preview_theme_id=108267175958\"\n }\n }\n ```\n ",
3706
- "descriptionWithMarkdown": "Uploads your local theme files to Shopify, overwriting the remote version if specified.\n\n If no theme is specified, then you're prompted to select the theme to overwrite from the list of the themes in your store.\n\n You can run this command only in a directory that matches the [default Shopify theme folder structure](https://shopify.dev/docs/themes/tools/cli#directory-structure).\n\n This command returns the following information:\n\n - A link to the [editor](https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n - A [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes?shpxid=cee12a89-AA22-4AD3-38C8-91C8FC0E1FB0#share-a-theme-preview-with-others) that you can share with others.\n\n If you use the `--json` flag, then theme information is returned in JSON format, which can be used as a machine-readable input for scripts or continuous integration.\n\n Sample output:\n\n ```json\n {\n \"theme\": {\n \"id\": 108267175958,\n \"name\": \"MyTheme\",\n \"role\": \"unpublished\",\n \"shop\": \"mystore.myshopify.com\",\n \"editor_url\": \"https://mystore.myshopify.com/admin/themes/108267175958/editor\",\n \"preview_url\": \"https://mystore.myshopify.com/?preview_theme_id=108267175958\"\n }\n }\n ```\n ",
3751
+ "description": "Uploads your local theme files to Shopify, overwriting the remote version if specified.\n\n If no theme is specified, then you're prompted to select the theme to overwrite from the list of the themes in your store.\n\n You can run this command only in a directory that matches the \"default Shopify theme folder structure\" (https://shopify.dev/docs/themes/tools/cli#directory-structure).\n\n This command returns the following information:\n\n - A link to the \"editor\" (https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n - A \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with others.\n\n If you use the `--json` flag, then theme information is returned in JSON format, which can be used as a machine-readable input for scripts or continuous integration.\n\n Sample output:\n\n ```json\n {\n \"theme\": {\n \"id\": 108267175958,\n \"name\": \"MyTheme\",\n \"role\": \"unpublished\",\n \"shop\": \"mystore.myshopify.com\",\n \"editor_url\": \"https://mystore.myshopify.com/admin/themes/108267175958/editor\",\n \"preview_url\": \"https://mystore.myshopify.com/?preview_theme_id=108267175958\"\n }\n }\n ```\n ",
3752
+ "descriptionWithMarkdown": "Uploads your local theme files to Shopify, overwriting the remote version if specified.\n\n If no theme is specified, then you're prompted to select the theme to overwrite from the list of the themes in your store.\n\n You can run this command only in a directory that matches the [default Shopify theme folder structure](https://shopify.dev/docs/themes/tools/cli#directory-structure).\n\n This command returns the following information:\n\n - A link to the [editor](https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n - A [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with others.\n\n If you use the `--json` flag, then theme information is returned in JSON format, which can be used as a machine-readable input for scripts or continuous integration.\n\n Sample output:\n\n ```json\n {\n \"theme\": {\n \"id\": 108267175958,\n \"name\": \"MyTheme\",\n \"role\": \"unpublished\",\n \"shop\": \"mystore.myshopify.com\",\n \"editor_url\": \"https://mystore.myshopify.com/admin/themes/108267175958/editor\",\n \"preview_url\": \"https://mystore.myshopify.com/?preview_theme_id=108267175958\"\n }\n }\n ```\n ",
3707
3753
  "flags": {
3708
3754
  "allow-live": {
3709
3755
  "allowNo": false,
@@ -3987,9 +4033,17 @@
3987
4033
  "force",
3988
4034
  "notify"
3989
4035
  ],
3990
- "description": "\n Uploads the current theme as the specified theme, or a \"development theme\" (https://shopify.dev/docs/themes/tools/cli#development-themes), to a store so you can preview it.\n\nThis command returns the following information:\n\n- A link to your development theme at http://127.0.0.1:9292. This URL can hot reload local changes to CSS and sections, or refresh the entire page when a file changes, enabling you to preview changes in real time using the store's data.\n\n You can specify a different network interface and port using `--host` and `--port`.\n\n- A link to the \"editor\" (https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n\n- A \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes?shpxid=cee12a89-AA22-4AD3-38C8-91C8FC0E1FB0#share-a-theme-preview-with-others) that you can share with other developers.\n\nIf you already have a development theme for your current environment, then this command replaces the development theme with your local theme. You can override this using the `--theme-editor-sync` flag.\n\n> Note: You can't preview checkout customizations using http://127.0.0.1:9292.\n\nDevelopment themes are deleted when you run `shopify auth logout`. If you need a preview link that can be used after you log out, then you should \"share\" (https://shopify.dev/docs/themes/tools/cli/commands#share) your theme or \"push\" (https://shopify.dev/docs/themes/tools/cli/commands#push) to an unpublished theme on your store.\n\nYou can run this command only in a directory that matches the \"default Shopify theme folder structure\" (https://shopify.dev/docs/themes/tools/cli#directory-structure).",
3991
- "descriptionWithMarkdown": "\n Uploads the current theme as the specified theme, or a [development theme](https://shopify.dev/docs/themes/tools/cli#development-themes), to a store so you can preview it.\n\nThis command returns the following information:\n\n- A link to your development theme at http://127.0.0.1:9292. This URL can hot reload local changes to CSS and sections, or refresh the entire page when a file changes, enabling you to preview changes in real time using the store's data.\n\n You can specify a different network interface and port using `--host` and `--port`.\n\n- A link to the [editor](https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n\n- A [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes?shpxid=cee12a89-AA22-4AD3-38C8-91C8FC0E1FB0#share-a-theme-preview-with-others) that you can share with other developers.\n\nIf you already have a development theme for your current environment, then this command replaces the development theme with your local theme. You can override this using the `--theme-editor-sync` flag.\n\n> Note: You can't preview checkout customizations using http://127.0.0.1:9292.\n\nDevelopment themes are deleted when you run `shopify auth logout`. If you need a preview link that can be used after you log out, then you should [share](https://shopify.dev/docs/themes/tools/cli/commands#share) your theme or [push](https://shopify.dev/docs/themes/tools/cli/commands#push) to an unpublished theme on your store.\n\nYou can run this command only in a directory that matches the [default Shopify theme folder structure](https://shopify.dev/docs/themes/tools/cli#directory-structure).",
4036
+ "description": "\n Uploads the current theme as the specified theme, or a \"development theme\" (https://shopify.dev/docs/themes/tools/cli#development-themes), to a store so you can preview it.\n\nThis command returns the following information:\n\n- A link to your development theme at http://127.0.0.1:9292. This URL can hot reload local changes to CSS and sections, or refresh the entire page when a file changes, enabling you to preview changes in real time using the store's data.\n\n You can specify a different network interface and port using `--host` and `--port`.\n\n- A link to the \"editor\" (https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n\n- A \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with other developers.\n\nIf you already have a development theme for your current environment, then this command replaces the development theme with your local theme. You can override this using the `--theme-editor-sync` flag.\n\n> Note: You can't preview checkout customizations using http://127.0.0.1:9292.\n\nDevelopment themes are deleted when you run `shopify auth logout`. If you need a preview link that can be used after you log out, then you should \"share\" (https://shopify.dev/docs/api/shopify-cli/theme/theme-share) your theme or \"push\" (https://shopify.dev/docs/api/shopify-cli/theme/theme-push) to an unpublished theme on your store.\n\nYou can run this command only in a directory that matches the \"default Shopify theme folder structure\" (https://shopify.dev/docs/themes/tools/cli#directory-structure).",
4037
+ "descriptionWithMarkdown": "\n Uploads the current theme as the specified theme, or a [development theme](https://shopify.dev/docs/themes/tools/cli#development-themes), to a store so you can preview it.\n\nThis command returns the following information:\n\n- A link to your development theme at http://127.0.0.1:9292. This URL can hot reload local changes to CSS and sections, or refresh the entire page when a file changes, enabling you to preview changes in real time using the store's data.\n\n You can specify a different network interface and port using `--host` and `--port`.\n\n- A link to the [editor](https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n\n- A [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with other developers.\n\nIf you already have a development theme for your current environment, then this command replaces the development theme with your local theme. You can override this using the `--theme-editor-sync` flag.\n\n> Note: You can't preview checkout customizations using http://127.0.0.1:9292.\n\nDevelopment themes are deleted when you run `shopify auth logout`. If you need a preview link that can be used after you log out, then you should [share](https://shopify.dev/docs/api/shopify-cli/theme/theme-share) your theme or [push](https://shopify.dev/docs/api/shopify-cli/theme/theme-push) to an unpublished theme on your store.\n\nYou can run this command only in a directory that matches the [default Shopify theme folder structure](https://shopify.dev/docs/themes/tools/cli#directory-structure).",
3992
4038
  "flags": {
4039
+ "dev-preview": {
4040
+ "allowNo": false,
4041
+ "description": "Enables the developer preview for the upcoming `theme dev` implementation.",
4042
+ "env": "SHOPIFY_FLAG_BETA",
4043
+ "hidden": true,
4044
+ "name": "dev-preview",
4045
+ "type": "boolean"
4046
+ },
3993
4047
  "environment": {
3994
4048
  "char": "e",
3995
4049
  "description": "The environment to apply to the current command.",
@@ -4171,8 +4225,8 @@
4171
4225
  "cli2Flags": [
4172
4226
  "force"
4173
4227
  ],
4174
- "description": "Uploads your theme as a new, unpublished theme in your theme library. The theme is given a randomized name.\n\n This command returns a \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes?shpxid=cee12a89-AA22-4AD3-38C8-91C8FC0E1FB0#share-a-theme-preview-with-others) that you can share with others.",
4175
- "descriptionWithMarkdown": "Uploads your theme as a new, unpublished theme in your theme library. The theme is given a randomized name.\n\n This command returns a [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes?shpxid=cee12a89-AA22-4AD3-38C8-91C8FC0E1FB0#share-a-theme-preview-with-others) that you can share with others.",
4228
+ "description": "Uploads your theme as a new, unpublished theme in your theme library. The theme is given a randomized name.\n\n This command returns a \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with others.",
4229
+ "descriptionWithMarkdown": "Uploads your theme as a new, unpublished theme in your theme library. The theme is given a randomized name.\n\n This command returns a [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with others.",
4176
4230
  "flags": {
4177
4231
  "environment": {
4178
4232
  "char": "e",
@@ -4309,6 +4363,18 @@
4309
4363
  "required": false,
4310
4364
  "type": "option"
4311
4365
  },
4366
+ "client-id": {
4367
+ "description": "The Client ID of your app.",
4368
+ "env": "SHOPIFY_FLAG_CLIENT_ID",
4369
+ "exclusive": [
4370
+ "config"
4371
+ ],
4372
+ "hasDynamicHelp": false,
4373
+ "hidden": false,
4374
+ "multiple": false,
4375
+ "name": "client-id",
4376
+ "type": "option"
4377
+ },
4312
4378
  "client-secret": {
4313
4379
  "description": "Your app's client secret. This secret allows us to return the X-Shopify-Hmac-SHA256 header that lets you validate the origin of the response that you receive.",
4314
4380
  "env": "SHOPIFY_FLAG_CLIENT_SECRET",
@@ -4319,6 +4385,16 @@
4319
4385
  "required": false,
4320
4386
  "type": "option"
4321
4387
  },
4388
+ "config": {
4389
+ "char": "c",
4390
+ "description": "The name of the app configuration.",
4391
+ "env": "SHOPIFY_FLAG_APP_CONFIG",
4392
+ "hasDynamicHelp": false,
4393
+ "hidden": false,
4394
+ "multiple": false,
4395
+ "name": "config",
4396
+ "type": "option"
4397
+ },
4322
4398
  "delivery-method": {
4323
4399
  "description": "Method chosen to deliver the topic payload. If not passed, it's inferred from the address.",
4324
4400
  "env": "SHOPIFY_FLAG_DELIVERY_METHOD",
@@ -4343,6 +4419,15 @@
4343
4419
  "required": false,
4344
4420
  "type": "boolean"
4345
4421
  },
4422
+ "path": {
4423
+ "description": "The path to your app directory.",
4424
+ "env": "SHOPIFY_FLAG_PATH",
4425
+ "hasDynamicHelp": false,
4426
+ "multiple": false,
4427
+ "name": "path",
4428
+ "noCacheDefault": true,
4429
+ "type": "option"
4430
+ },
4346
4431
  "shared-secret": {
4347
4432
  "description": "Deprecated. Please use client-secret.",
4348
4433
  "env": "SHOPIFY_FLAG_SHARED_SECRET",
@@ -4375,5 +4460,5 @@
4375
4460
  "summary": "Trigger delivery of a sample webhook topic payload to a designated address."
4376
4461
  }
4377
4462
  },
4378
- "version": "3.59.3"
4463
+ "version": "3.60.0"
4379
4464
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopify/cli",
3
- "version": "3.59.3",
3
+ "version": "3.60.0",
4
4
  "private": false,
5
5
  "description": "A CLI tool to build for the Shopify platform",
6
6
  "keywords": [
@@ -14,7 +14,8 @@
14
14
  },
15
15
  "repository": {
16
16
  "type": "git",
17
- "url": "https://github.com/Shopify/cli/edit/main/packages/cli"
17
+ "url": "https://github.com/Shopify/cli.git",
18
+ "directory": "packages/cli"
18
19
  },
19
20
  "license": "MIT",
20
21
  "type": "module",
@@ -83,14 +84,14 @@
83
84
  ]
84
85
  },
85
86
  "dependencies": {
86
- "esbuild": "0.19.8"
87
+ "esbuild": "0.19.8",
88
+ "npm": "10.7.0"
87
89
  },
88
90
  "devDependencies": {
89
- "@shopify/app": "3.59.3",
90
- "@shopify/theme": "3.59.3",
91
+ "@shopify/app": "3.60.0",
92
+ "@shopify/theme": "3.60.0",
91
93
  "@types/node": "18.19.3",
92
94
  "@vitest/coverage-istanbul": "^0.34.3",
93
- "@chialab/esbuild-plugin-require-resolve": "^0.18.0",
94
95
  "esbuild-plugin-copy": "^2.1.1",
95
96
  "espree": "9.6.1",
96
97
  "vitest": "^0.34.3"
@@ -1,82 +0,0 @@
1
- # frozen_string_literal: true
2
- require "test_helper"
3
- require "timecop"
4
- require "shopify_cli/theme/extension/app_extension"
5
- require "shopify_cli/theme/extension/syncer"
6
- require "shopify_cli/theme/extension/syncer/extension_serve_job"
7
- require "project_types/extension/tasks/converters/version_converter"
8
-
9
- module ShopifyCLI
10
- module Theme
11
- module Extension
12
- class SyncerTest < Minitest::Test
13
- def setup
14
- super
15
- root = ShopifyCLI::ROOT + "/test/fixtures/extension"
16
- @ctx = TestHelpers::FakeContext.new(root: root)
17
- @extension = AppExtension.new(@ctx, root: root, app_id: 1234)
18
- @extension.stubs(:extension_files).returns([])
19
- @extension_title = "Extension Testing"
20
- @project = generate_fake_project
21
- @specification_handler = generate_fake_spec_handler
22
-
23
- @syncer = Syncer.new(@ctx, extension: @extension, project: @project,
24
- specification_handler: @specification_handler)
25
- end
26
-
27
- def test_logs_errors_when_draft_sync_fails
28
- # We need to have this return a time over the PUSH_INTERVAL
29
- @syncer.expects(:latest_sync).returns(frozen_time - Syncer::ExtensionServeJob::PUSH_INTERVAL)
30
- file_paths = %w[blocks/block1.liquid blocks/block2.liquid assets/block1.css]
31
- files = file_paths.map { |f| @extension[f] }
32
-
33
- error_msg = "[blocks/block1.liquid] This is a sample error message"
34
- graphql_error = {
35
- "data" => {
36
- "extensionUpdateDraft" => {
37
- "userErrors" => [{ "message" => error_msg }],
38
- },
39
- },
40
- }
41
- ShopifyCLI::PartnersAPI.expects(:query).returns(graphql_error)
42
- @ctx.expects(:puts)
43
- .with("{{red:Error}} {{>}} {{blue:'#{@extension_title}'}} could not be pushed:").once
44
- Syncer::ExtensionServeJob.any_instance.expects(:print_file_error)
45
- .with(files[0], error_msg).once
46
- Syncer::ExtensionServeJob.any_instance.expects(:print_file_success)
47
- .with(files[1]).once
48
- Syncer::ExtensionServeJob.any_instance.expects(:print_file_success)
49
- .with(files[2]).once
50
- @syncer.start
51
- time_freeze do
52
- @syncer.enqueue_updates(files)
53
- @syncer.shutdown
54
- end
55
- end
56
-
57
- private
58
-
59
- def time_freeze(&block)
60
- Timecop.freeze(frozen_time, &block)
61
- end
62
-
63
- def frozen_time
64
- Time.local(2000, 1, 1, 12, 30, 59)
65
- end
66
-
67
- def generate_fake_project
68
- mock(
69
- "Project",
70
- title: @extension_title,
71
- app: stub(api_key: 1234),
72
- registration_id: 4321,
73
- )
74
- end
75
-
76
- def generate_fake_spec_handler
77
- mock("Specification Handler", config: {}, extension_context: @ctx)
78
- end
79
- end
80
- end
81
- end
82
- end
@@ -1,69 +0,0 @@
1
- import {
2
- __commonJS,
3
- init_cjs_shims
4
- } from "./chunk-BVGYIZ3O.js";
5
-
6
- // ../../node_modules/.pnpm/balanced-match@1.0.2/node_modules/balanced-match/index.js
7
- var require_balanced_match = __commonJS({
8
- "../../node_modules/.pnpm/balanced-match@1.0.2/node_modules/balanced-match/index.js"(exports, module) {
9
- "use strict";
10
- init_cjs_shims();
11
- module.exports = balanced;
12
- function balanced(a, b, str) {
13
- if (a instanceof RegExp)
14
- a = maybeMatch(a, str);
15
- if (b instanceof RegExp)
16
- b = maybeMatch(b, str);
17
- var r = range(a, b, str);
18
- return r && {
19
- start: r[0],
20
- end: r[1],
21
- pre: str.slice(0, r[0]),
22
- body: str.slice(r[0] + a.length, r[1]),
23
- post: str.slice(r[1] + b.length)
24
- };
25
- }
26
- function maybeMatch(reg, str) {
27
- var m = str.match(reg);
28
- return m ? m[0] : null;
29
- }
30
- balanced.range = range;
31
- function range(a, b, str) {
32
- var begs, beg, left, right, result;
33
- var ai = str.indexOf(a);
34
- var bi = str.indexOf(b, ai + 1);
35
- var i = ai;
36
- if (ai >= 0 && bi > 0) {
37
- if (a === b) {
38
- return [ai, bi];
39
- }
40
- begs = [];
41
- left = str.length;
42
- while (i >= 0 && !result) {
43
- if (i == ai) {
44
- begs.push(i);
45
- ai = str.indexOf(a, i + 1);
46
- } else if (begs.length == 1) {
47
- result = [begs.pop(), bi];
48
- } else {
49
- beg = begs.pop();
50
- if (beg < left) {
51
- left = beg;
52
- right = bi;
53
- }
54
- bi = str.indexOf(b, i + 1);
55
- }
56
- i = ai < bi && ai >= 0 ? ai : bi;
57
- }
58
- if (begs.length) {
59
- result = [left, right];
60
- }
61
- }
62
- return result;
63
- }
64
- }
65
- });
66
-
67
- export {
68
- require_balanced_match
69
- };
@@ -1,37 +0,0 @@
1
- import {
2
- addBugsnagMetadata,
3
- cleanStackFrameFilePath,
4
- errorHandler,
5
- registerCleanBugsnagErrorsFromWithinPlugins,
6
- sendErrorToBugsnag
7
- } from "./chunk-GPBOTRYV.js";
8
- import "./chunk-6MJ52OLD.js";
9
- import "./chunk-DLDVLYHU.js";
10
- import "./chunk-7SNGGY5B.js";
11
- import "./chunk-LJA4EOTX.js";
12
- import "./chunk-TKNIQF4H.js";
13
- import "./chunk-TOONJ2CA.js";
14
- import "./chunk-PNZIXRIF.js";
15
- import "./chunk-SDNI4T2T.js";
16
- import "./chunk-SA32EMWV.js";
17
- import "./chunk-JCAIZOYO.js";
18
- import "./chunk-QI5VKSMW.js";
19
- import "./chunk-3MMF34G4.js";
20
- import "./chunk-YLPWACJJ.js";
21
- import "./chunk-SMULJJG3.js";
22
- import "./chunk-LOF3ZXQM.js";
23
- import "./chunk-F6GZ5SSL.js";
24
- import "./chunk-WI3E2P3B.js";
25
- import "./chunk-CYG4QPQ3.js";
26
- import "./chunk-P52UWCZD.js";
27
- import "./chunk-M336AND6.js";
28
- import "./chunk-AXXAG7WU.js";
29
- import "./chunk-566AK3QG.js";
30
- import "./chunk-BVGYIZ3O.js";
31
- export {
32
- addBugsnagMetadata,
33
- cleanStackFrameFilePath,
34
- errorHandler,
35
- registerCleanBugsnagErrorsFromWithinPlugins,
36
- sendErrorToBugsnag
37
- };
Binary file