shopify-cli 1.4.0 → 1.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (302) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +2 -2
  3. data/.github/CONTRIBUTING.md +9 -1
  4. data/.github/PULL_REQUEST_TEMPLATE.md +10 -1
  5. data/.github/workflows/release.yml +61 -0
  6. data/.github/workflows/triage.yml +22 -0
  7. data/.rubocop.yml +56 -7
  8. data/.rubocop_todo.yml +4 -13
  9. data/.travis.yml +1 -0
  10. data/CHANGELOG.md +27 -1
  11. data/Gemfile +12 -10
  12. data/Gemfile.lock +33 -31
  13. data/README.md +39 -7
  14. data/RELEASING.md +5 -27
  15. data/Rakefile +32 -28
  16. data/bin/load_shopify.rb +6 -6
  17. data/bin/shopify +2 -2
  18. data/dev.yml +2 -2
  19. data/docs/_config.yml +1 -18
  20. data/docs/app/node/commands/index.md +2 -80
  21. data/docs/app/node/index.md +2 -33
  22. data/docs/app/rails/commands/index.md +2 -78
  23. data/docs/app/rails/index.md +2 -34
  24. data/docs/core/index.md +2 -84
  25. data/docs/getting-started/index.md +2 -25
  26. data/docs/getting-started/install/index.md +1 -118
  27. data/docs/getting-started/migrate/index.md +2 -94
  28. data/docs/getting-started/uninstall/index.md +2 -35
  29. data/docs/getting-started/upgrade/index.md +2 -39
  30. data/docs/help/start-app/index.md +2 -4
  31. data/docs/index.md +2 -24
  32. data/ext/shopify-cli/extconf.rb +7 -7
  33. data/install.sh +1 -1
  34. data/lib/docgen/markdown.rb +11 -11
  35. data/lib/{project_types/extension/graphql → graphql}/get_app_by_api_key.graphql +0 -0
  36. data/lib/project_types/extension/cli.rb +64 -47
  37. data/lib/project_types/extension/commands/build.rb +3 -3
  38. data/lib/project_types/extension/commands/create.rb +16 -9
  39. data/lib/project_types/extension/commands/extension_command.rb +8 -5
  40. data/lib/project_types/extension/commands/push.rb +8 -8
  41. data/lib/project_types/extension/commands/register.rb +19 -30
  42. data/lib/project_types/extension/commands/serve.rb +23 -3
  43. data/lib/project_types/extension/commands/tunnel.rb +12 -12
  44. data/lib/project_types/extension/extension_project.rb +4 -4
  45. data/lib/project_types/extension/extension_project_keys.rb +4 -4
  46. data/lib/project_types/extension/features/argo.rb +117 -0
  47. data/lib/project_types/extension/features/argo_config.rb +5 -5
  48. data/lib/project_types/extension/features/argo_dependencies.rb +5 -5
  49. data/lib/project_types/extension/features/argo_setup.rb +2 -2
  50. data/lib/project_types/extension/features/argo_setup_steps.rb +4 -4
  51. data/lib/project_types/extension/forms/create.rb +28 -34
  52. data/lib/project_types/extension/forms/questions/ask_app.rb +53 -0
  53. data/lib/project_types/extension/forms/questions/ask_name.rb +40 -0
  54. data/lib/project_types/extension/forms/questions/ask_type.rb +36 -0
  55. data/lib/project_types/extension/messages/messages.rb +53 -52
  56. data/lib/project_types/extension/models/lazy_specification_handler.rb +12 -0
  57. data/lib/project_types/extension/models/specification.rb +35 -0
  58. data/lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb +19 -0
  59. data/lib/project_types/extension/models/specification_handlers/default.rb +67 -0
  60. data/lib/project_types/extension/models/specifications.rb +77 -0
  61. data/lib/project_types/extension/tasks/configure_features.rb +52 -0
  62. data/lib/project_types/extension/tasks/converters/app_converter.rb +6 -6
  63. data/lib/project_types/extension/tasks/converters/registration_converter.rb +6 -6
  64. data/lib/project_types/extension/tasks/converters/validation_error_converter.rb +4 -4
  65. data/lib/project_types/extension/tasks/converters/version_converter.rb +7 -7
  66. data/lib/project_types/extension/tasks/create_extension.rb +4 -4
  67. data/lib/project_types/extension/tasks/fetch_specifications.rb +38 -0
  68. data/lib/project_types/extension/tasks/get_app.rb +4 -4
  69. data/lib/project_types/extension/tasks/get_apps.rb +3 -3
  70. data/lib/project_types/extension/tasks/update_draft.rb +4 -4
  71. data/lib/project_types/extension/tasks/user_errors.rb +4 -4
  72. data/lib/project_types/node/cli.rb +19 -16
  73. data/lib/project_types/node/commands/connect.rb +15 -0
  74. data/lib/project_types/node/commands/create.rb +44 -41
  75. data/lib/project_types/node/commands/deploy.rb +4 -4
  76. data/lib/project_types/node/commands/deploy/heroku.rb +24 -24
  77. data/lib/project_types/node/commands/generate.rb +9 -18
  78. data/lib/project_types/node/commands/open.rb +2 -2
  79. data/lib/project_types/node/commands/populate.rb +6 -6
  80. data/lib/project_types/node/commands/populate/customer.rb +5 -5
  81. data/lib/project_types/node/commands/populate/draft_order.rb +5 -5
  82. data/lib/project_types/node/commands/populate/product.rb +5 -5
  83. data/lib/project_types/node/commands/serve.rb +9 -9
  84. data/lib/project_types/node/commands/tunnel.rb +7 -7
  85. data/lib/project_types/node/forms/create.rb +7 -7
  86. data/lib/project_types/node/messages/messages.rb +19 -53
  87. data/lib/project_types/rails/cli.rb +21 -18
  88. data/lib/project_types/rails/commands/connect.rb +15 -0
  89. data/lib/project_types/rails/commands/create.rb +58 -57
  90. data/lib/project_types/rails/commands/deploy.rb +4 -4
  91. data/lib/project_types/rails/commands/deploy/heroku.rb +30 -30
  92. data/lib/project_types/rails/commands/generate.rb +7 -7
  93. data/lib/project_types/rails/commands/generate/webhook.rb +6 -6
  94. data/lib/project_types/rails/commands/open.rb +2 -2
  95. data/lib/project_types/rails/commands/populate.rb +6 -6
  96. data/lib/project_types/rails/commands/populate/customer.rb +5 -5
  97. data/lib/project_types/rails/commands/populate/draft_order.rb +5 -5
  98. data/lib/project_types/rails/commands/populate/product.rb +5 -5
  99. data/lib/project_types/rails/commands/serve.rb +11 -11
  100. data/lib/project_types/rails/commands/tunnel.rb +7 -7
  101. data/lib/project_types/rails/forms/create.rb +24 -24
  102. data/lib/project_types/rails/gem.rb +24 -24
  103. data/lib/project_types/rails/messages/messages.rb +12 -9
  104. data/lib/project_types/rails/ruby.rb +2 -2
  105. data/lib/project_types/script/cli.rb +44 -38
  106. data/lib/project_types/script/commands/create.rb +15 -10
  107. data/lib/project_types/script/commands/disable.rb +3 -3
  108. data/lib/project_types/script/commands/enable.rb +19 -9
  109. data/lib/project_types/script/commands/push.rb +10 -17
  110. data/lib/project_types/script/config/extension_points.yml +17 -12
  111. data/lib/project_types/script/errors.rb +22 -0
  112. data/lib/project_types/script/forms/create.rb +29 -5
  113. data/lib/project_types/script/graphql/app_script_update_or_create.graphql +12 -1
  114. data/lib/project_types/script/layers/application/build_script.rb +19 -19
  115. data/lib/project_types/script/layers/application/create_script.rb +41 -12
  116. data/lib/project_types/script/layers/application/disable_script.rb +2 -2
  117. data/lib/project_types/script/layers/application/enable_script.rb +2 -2
  118. data/lib/project_types/script/layers/application/extension_points.rb +24 -0
  119. data/lib/project_types/script/layers/application/project_dependencies.rb +4 -4
  120. data/lib/project_types/script/layers/application/push_script.rb +15 -18
  121. data/lib/project_types/script/layers/domain/config_ui.rb +16 -0
  122. data/lib/project_types/script/layers/domain/errors.rb +23 -0
  123. data/lib/project_types/script/layers/domain/extension_point.rb +62 -7
  124. data/lib/project_types/script/layers/domain/metadata.rb +55 -0
  125. data/lib/project_types/script/layers/domain/push_package.rb +29 -6
  126. data/lib/project_types/script/layers/infrastructure/assemblyscript_project_creator.rb +19 -55
  127. data/lib/project_types/script/layers/infrastructure/assemblyscript_task_runner.rb +49 -18
  128. data/lib/project_types/script/layers/infrastructure/config_ui_repository.rb +46 -0
  129. data/lib/project_types/script/layers/infrastructure/errors.rb +37 -1
  130. data/lib/project_types/script/layers/infrastructure/extension_point_repository.rb +12 -6
  131. data/lib/project_types/script/layers/infrastructure/project_creator.rb +2 -1
  132. data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +20 -13
  133. data/lib/project_types/script/layers/infrastructure/rust_project_creator.rb +72 -0
  134. data/lib/project_types/script/layers/infrastructure/rust_task_runner.rb +59 -0
  135. data/lib/project_types/script/layers/infrastructure/script_service.rb +39 -17
  136. data/lib/project_types/script/layers/infrastructure/task_runner.rb +4 -3
  137. data/lib/project_types/script/messages/messages.rb +79 -10
  138. data/lib/project_types/script/script_project.rb +26 -16
  139. data/lib/project_types/script/ui/error_handler.rb +141 -45
  140. data/lib/project_types/script/ui/printing_spinner.rb +1 -1
  141. data/lib/project_types/script/ui/strict_spinner.rb +1 -1
  142. data/lib/project_types/theme/cli.rb +40 -0
  143. data/lib/project_types/theme/commands/connect.rb +54 -0
  144. data/lib/project_types/theme/commands/create.rb +48 -0
  145. data/lib/project_types/theme/commands/deploy.rb +38 -0
  146. data/lib/project_types/theme/commands/generate.rb +20 -0
  147. data/lib/project_types/theme/commands/generate/env.rb +79 -0
  148. data/lib/project_types/theme/commands/push.rb +55 -0
  149. data/lib/project_types/theme/commands/serve.rb +31 -0
  150. data/lib/project_types/theme/forms/connect.rb +34 -0
  151. data/lib/project_types/theme/forms/create.rb +22 -0
  152. data/lib/project_types/theme/messages/messages.rb +147 -0
  153. data/lib/project_types/theme/tasks/ensure_themekit_installed.rb +78 -0
  154. data/lib/project_types/theme/themekit.rb +113 -0
  155. data/lib/rubygems_plugin.rb +3 -3
  156. data/lib/shopify-cli/admin_api.rb +52 -12
  157. data/lib/shopify-cli/admin_api/populate_resource_command.rb +17 -17
  158. data/lib/shopify-cli/admin_api/schema.rb +3 -3
  159. data/lib/shopify-cli/api.rb +36 -31
  160. data/lib/shopify-cli/command.rb +1 -1
  161. data/lib/shopify-cli/commands.rb +9 -9
  162. data/lib/shopify-cli/commands/config.rb +28 -28
  163. data/lib/shopify-cli/commands/connect.rb +35 -18
  164. data/lib/shopify-cli/commands/create.rb +5 -5
  165. data/lib/shopify-cli/commands/help.rb +6 -6
  166. data/lib/shopify-cli/commands/logout.rb +3 -3
  167. data/lib/shopify-cli/commands/system.rb +33 -33
  168. data/lib/shopify-cli/commands/version.rb +2 -2
  169. data/lib/shopify-cli/context.rb +43 -22
  170. data/lib/shopify-cli/core.rb +4 -4
  171. data/lib/shopify-cli/core/entry_point.rb +5 -5
  172. data/lib/shopify-cli/core/executor.rb +1 -1
  173. data/lib/shopify-cli/core/help_resolver.rb +2 -2
  174. data/lib/shopify-cli/core/monorail.rb +21 -19
  175. data/lib/shopify-cli/db.rb +2 -2
  176. data/lib/shopify-cli/feature.rb +1 -3
  177. data/lib/shopify-cli/form.rb +1 -1
  178. data/lib/shopify-cli/git.rb +17 -17
  179. data/lib/shopify-cli/helpers.rb +1 -1
  180. data/lib/shopify-cli/helpers/haikunator.rb +1 -1
  181. data/lib/shopify-cli/heroku.rb +28 -28
  182. data/lib/shopify-cli/http_request.rb +21 -9
  183. data/lib/shopify-cli/js_deps.rb +13 -13
  184. data/lib/shopify-cli/js_system.rb +5 -5
  185. data/lib/shopify-cli/lazy_delegator.rb +55 -0
  186. data/lib/shopify-cli/messages/messages.rb +21 -10
  187. data/lib/shopify-cli/method_object.rb +104 -0
  188. data/lib/shopify-cli/oauth.rb +25 -25
  189. data/lib/shopify-cli/oauth/servlet.rb +9 -9
  190. data/lib/shopify-cli/options.rb +3 -3
  191. data/lib/shopify-cli/packager.rb +24 -24
  192. data/lib/shopify-cli/partners_api.rb +38 -16
  193. data/lib/shopify-cli/partners_api/organizations.rb +10 -10
  194. data/lib/shopify-cli/process_supervision.rb +8 -8
  195. data/lib/shopify-cli/project.rb +27 -23
  196. data/lib/shopify-cli/project_type.rb +21 -5
  197. data/lib/shopify-cli/resolve_constant.rb +25 -0
  198. data/lib/shopify-cli/resources.rb +1 -1
  199. data/lib/shopify-cli/resources/env_file.rb +9 -9
  200. data/lib/shopify-cli/result.rb +432 -0
  201. data/lib/shopify-cli/shopifolk.rb +35 -18
  202. data/lib/shopify-cli/sub_command.rb +1 -1
  203. data/lib/shopify-cli/task.rb +9 -1
  204. data/lib/shopify-cli/tasks.rb +7 -7
  205. data/lib/shopify-cli/tasks/create_api_client.rb +17 -6
  206. data/lib/shopify-cli/tasks/ensure_dev_store.rb +11 -11
  207. data/lib/shopify-cli/tasks/ensure_env.rb +18 -15
  208. data/lib/shopify-cli/tasks/ensure_loopback_url.rb +4 -4
  209. data/lib/shopify-cli/tasks/select_org_and_shop.rb +29 -24
  210. data/lib/shopify-cli/tasks/update_dashboard_urls.rb +10 -10
  211. data/lib/shopify-cli/transform_data_structure.rb +86 -0
  212. data/lib/shopify-cli/tunnel.rb +36 -30
  213. data/lib/shopify-cli/version.rb +1 -1
  214. data/lib/shopify_cli.rb +57 -52
  215. data/shopify-cli.gemspec +6 -6
  216. data/shopify.fish +1 -1
  217. data/shopify.sh +1 -1
  218. data/vendor/deps/cli-kit/REVISION +1 -1
  219. data/vendor/deps/cli-kit/lib/cli/kit/logger.rb +2 -2
  220. data/vendor/deps/cli-kit/lib/cli/kit/system.rb +3 -3
  221. data/vendor/deps/cli-ui/REVISION +1 -1
  222. data/vendor/deps/cli-ui/lib/cli/ui.rb +26 -22
  223. data/vendor/deps/cli-ui/lib/cli/ui/ansi.rb +4 -6
  224. data/vendor/deps/cli-ui/lib/cli/ui/frame.rb +3 -3
  225. data/vendor/deps/cli-ui/lib/cli/ui/frame/frame_stack.rb +8 -9
  226. data/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style.rb +1 -1
  227. data/vendor/deps/cli-ui/lib/cli/ui/glyph.rb +1 -0
  228. data/vendor/deps/cli-ui/lib/cli/ui/printer.rb +15 -3
  229. data/vendor/deps/cli-ui/lib/cli/ui/prompt/interactive_options.rb +4 -11
  230. data/vendor/deps/cli-ui/lib/cli/ui/spinner.rb +3 -5
  231. data/vendor/deps/cli-ui/lib/cli/ui/terminal.rb +10 -10
  232. data/vendor/deps/cli-ui/lib/cli/ui/version.rb +1 -1
  233. data/vendor/deps/cli-ui/lib/cli/ui/wrap.rb +56 -0
  234. data/vendor/deps/webrick/.gitignore +9 -0
  235. data/vendor/deps/webrick/Gemfile +3 -0
  236. data/vendor/deps/webrick/LICENSE.txt +22 -0
  237. data/vendor/deps/webrick/README.md +61 -0
  238. data/vendor/deps/webrick/Rakefile +10 -0
  239. data/vendor/deps/webrick/lib/webrick.rb +232 -0
  240. data/vendor/deps/webrick/lib/webrick/accesslog.rb +157 -0
  241. data/vendor/deps/webrick/lib/webrick/cgi.rb +313 -0
  242. data/vendor/deps/webrick/lib/webrick/compat.rb +36 -0
  243. data/vendor/deps/webrick/lib/webrick/config.rb +158 -0
  244. data/vendor/deps/webrick/lib/webrick/cookie.rb +172 -0
  245. data/vendor/deps/webrick/lib/webrick/htmlutils.rb +30 -0
  246. data/vendor/deps/webrick/lib/webrick/httpauth.rb +96 -0
  247. data/vendor/deps/webrick/lib/webrick/httpauth/authenticator.rb +117 -0
  248. data/vendor/deps/webrick/lib/webrick/httpauth/basicauth.rb +116 -0
  249. data/vendor/deps/webrick/lib/webrick/httpauth/digestauth.rb +395 -0
  250. data/vendor/deps/webrick/lib/webrick/httpauth/htdigest.rb +132 -0
  251. data/vendor/deps/webrick/lib/webrick/httpauth/htgroup.rb +97 -0
  252. data/vendor/deps/webrick/lib/webrick/httpauth/htpasswd.rb +158 -0
  253. data/vendor/deps/webrick/lib/webrick/httpauth/userdb.rb +53 -0
  254. data/vendor/deps/webrick/lib/webrick/httpproxy.rb +354 -0
  255. data/vendor/deps/webrick/lib/webrick/httprequest.rb +636 -0
  256. data/vendor/deps/webrick/lib/webrick/httpresponse.rb +564 -0
  257. data/vendor/deps/webrick/lib/webrick/https.rb +152 -0
  258. data/vendor/deps/webrick/lib/webrick/httpserver.rb +294 -0
  259. data/vendor/deps/webrick/lib/webrick/httpservlet.rb +23 -0
  260. data/vendor/deps/webrick/lib/webrick/httpservlet/abstract.rb +152 -0
  261. data/vendor/deps/webrick/lib/webrick/httpservlet/cgi_runner.rb +47 -0
  262. data/vendor/deps/webrick/lib/webrick/httpservlet/cgihandler.rb +126 -0
  263. data/vendor/deps/webrick/lib/webrick/httpservlet/erbhandler.rb +88 -0
  264. data/vendor/deps/webrick/lib/webrick/httpservlet/filehandler.rb +552 -0
  265. data/vendor/deps/webrick/lib/webrick/httpservlet/prochandler.rb +47 -0
  266. data/vendor/deps/webrick/lib/webrick/httpstatus.rb +194 -0
  267. data/vendor/deps/webrick/lib/webrick/httputils.rb +512 -0
  268. data/vendor/deps/webrick/lib/webrick/httpversion.rb +76 -0
  269. data/vendor/deps/webrick/lib/webrick/log.rb +156 -0
  270. data/vendor/deps/webrick/lib/webrick/server.rb +381 -0
  271. data/vendor/deps/webrick/lib/webrick/ssl.rb +215 -0
  272. data/vendor/deps/webrick/lib/webrick/utils.rb +265 -0
  273. data/vendor/deps/webrick/lib/webrick/version.rb +18 -0
  274. data/vendor/deps/webrick/webrick.gemspec +74 -0
  275. data/vendor/gen/template/bin/update-deps +9 -9
  276. metadata +83 -29
  277. data/docs/Gemfile +0 -5
  278. data/docs/Gemfile.lock +0 -258
  279. data/docs/_data/nav.yml +0 -35
  280. data/docs/_includes/footer.html +0 -15
  281. data/docs/_includes/head.html +0 -19
  282. data/docs/_includes/sidebar_nav.html +0 -22
  283. data/docs/_includes/toc.html +0 -112
  284. data/docs/_layouts/default.html +0 -79
  285. data/docs/css/docs.css +0 -157
  286. data/docs/images/header.png +0 -0
  287. data/docs/installing-ruby.md +0 -28
  288. data/lib/project_types/extension/features/argo/admin.rb +0 -20
  289. data/lib/project_types/extension/features/argo/base.rb +0 -129
  290. data/lib/project_types/extension/features/argo/checkout.rb +0 -20
  291. data/lib/project_types/extension/forms/register.rb +0 -47
  292. data/lib/project_types/extension/models/type.rb +0 -81
  293. data/lib/project_types/extension/models/types/checkout_post_purchase.rb +0 -23
  294. data/lib/project_types/extension/models/types/product_subscription.rb +0 -24
  295. data/lib/project_types/node/commands/generate/billing.rb +0 -39
  296. data/lib/project_types/node/commands/generate/page.rb +0 -59
  297. data/lib/project_types/node/commands/generate/webhook.rb +0 -37
  298. data/lib/project_types/script/layers/domain/script.rb +0 -18
  299. data/lib/project_types/script/layers/infrastructure/assemblyscript_tsconfig.rb +0 -38
  300. data/lib/project_types/script/layers/infrastructure/script_repository.rb +0 -59
  301. data/lib/project_types/script/templates/ts/as-pect.config.js +0 -27
  302. data/lib/project_types/script/templates/ts/as-pect.d.ts +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5832060f2695566da5c38ce98ccd1c67d522e8bb8306a5b2a16d95f92b3e56f1
4
- data.tar.gz: e223c587130318b500d5cd12b494c50aef424957aef5da797dafea4b233e9933
3
+ metadata.gz: 810ed674eed1f0938f1e4fdb55703fe8bcbcf10d13293a27f7e59f28cc39d384
4
+ data.tar.gz: 0f7572e8d715e589bbe3cc23d6835e6256063a54b99504f3f6975b5008a0ed24
5
5
  SHA512:
6
- metadata.gz: b85a1e420f5d8b80a46f93ca4d16ebc1198fd31899bc7fbb8c9e0fbfa485c5f38fe9eca820782b0c4743b53e10266ce73bb0010fa90cd5b08fff199bb6a99585
7
- data.tar.gz: 0dfd783ede5fcad7b04d648ec0f4d7084bea778d1fe7c73c0d2a86e683181cce73e8706a53462b7e285c04095dcebcc0c7cc489587f35ceb34716be4ec71efa2
6
+ metadata.gz: 7681161d8502e8e728bac04b339b06d84334b1ec0edfc8a58c3f8eb5d4a85ba873c79810c63d30e784508cb9b155c3f39d672e88689b53fc0dd5cff32be865ff
7
+ data.tar.gz: ac283b1b16d617b27c2f61dc948e77adead2910f218c0649783884ee6debc6c4135c18dccf35bf73931ded907dadab0ba9c70598238874d941107fa471970041
data/.github/CODEOWNERS CHANGED
@@ -1,4 +1,4 @@
1
1
  * @shopify/platform-dev-tools-education
2
2
 
3
- /lib/project_types/script/ @shopify/scripts
4
- /test/project_types/script/ @shopify/scripts
3
+ /lib/project_types/script/ @shopify/scripts-experience
4
+ /test/project_types/script/ @shopify/scripts-experience
@@ -19,6 +19,14 @@ When contributing to the Shopify App CLI, there are a set of [design guidelines]
19
19
 
20
20
  We track all of our issues in GitHub and [bugs](https://github.com/Shopify/shopify-app-cli/labels/Bug) are labeled accordingly. If you are planning to work on an issue, avoid ones which already have an assignee, where someone has commented within the last two weeks they are working on it, or the issue is labeled with [fix in progress](https://github.com/Shopify/shopify-app-cli/labels/fix%20in%20progress). We will do our best to communicate when an issue is being worked on internally.
21
21
 
22
+ ### Running against a local environment
23
+
24
+ This section only applies to Shopify staff:
25
+
26
+ To run against a local Partners or Identity instance, you can use:
27
+
28
+ `SHOPIFY_APP_CLI_LOCAL_PARTNERS=1 shopify`
29
+
22
30
  ### Reporting new issues
23
31
 
24
32
  To reduce duplicates, look through open issues before filing one. When [opening an issue](https://github.com/Shopify/shopify-app-cli/issues/new?template=ISSUE.md), complete as much of the template as possible.
@@ -48,4 +56,4 @@ Each contributor is required to [sign a CLA](https://cla.shopify.com/). This pro
48
56
 
49
57
  If you are changing the CLI version, please make sure to update all the places that use it:
50
58
  * ShopifyCLI::VERSION
51
- * Debian package version under `packaging/debian`
59
+ * Debian package version under `packaging/debian`
@@ -3,7 +3,7 @@
3
3
  - Prefix it with [Feature] (if applicable)
4
4
  - Start with a verb, for example: Add, Delete, Improve, Fix…
5
5
  - Give as much context as necessary and as little as possible
6
- - Prefix it with [WIP] while it’s a work in progress
6
+ - Use a draft PR while it’s a work in progress
7
7
  -->
8
8
 
9
9
  ### WHY are these changes introduced?
@@ -20,3 +20,12 @@ Fixes #0000 <!-- link to issue if one exists -->
20
20
  Summary of the changes committed.
21
21
  Before / after screenshots appreciated for UI changes.
22
22
  -->
23
+
24
+ ### Update checklist
25
+ <!--
26
+ Ideally, CHANGELOG entries should be in the format
27
+ `* [#PR](PR URL): Message`. You should consider adding your PR
28
+ and then making the CHANGELOG update once you know the PR number.
29
+ -->
30
+ - [ ] I've added a CHANGELOG entry for this PR (if the change is public-facing)
31
+ - [ ] I've considered possible cross-platform impacts (Mac, Linux, Windows).
@@ -0,0 +1,61 @@
1
+ name: Create Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ jobs:
9
+ create-release:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - name: Extract tag name
13
+ id: tag
14
+ run: echo "::set-output name=value::${GITHUB_REF##*/}"
15
+ - uses: actions/checkout@v2
16
+
17
+ - name: Set up Ruby
18
+ uses: actions/setup-ruby@v1.1.2
19
+ with:
20
+ ruby-version: 2.6
21
+
22
+ - name: Install dependencies
23
+ run: bundle install
24
+
25
+ - name: Create package
26
+ run: bundle exec rake package
27
+
28
+ - name: Get Directory
29
+ id: folder
30
+ run: |
31
+ cd packaging/builds
32
+ echo ::set-output name=name::$(ls)
33
+
34
+ - name: Get Packages
35
+ id: binaries
36
+ run: |
37
+ cd packaging/builds/${{ steps.folder.outputs.name }}
38
+ deb=$(find . -type f -name '*.deb')
39
+ rpm=$(find . -type f -name "*.rpm")
40
+ echo ::set-output name=deb_file::"${deb:2}"
41
+ echo ::set-output name=rpm_file::"${rpm:2}"
42
+
43
+ - uses: dawidd6/action-homebrew-bump-formula@v3
44
+ with:
45
+ token: ${{secrets.BREW_TOKEN}}
46
+ tap: shopify/shopify
47
+ formula: shopify-cli
48
+ tag: ${{ steps.folder.outputs.name }}
49
+
50
+ - name: Create Release # https://hub.github.com/hub-release.1.html
51
+ env:
52
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
53
+ run: |
54
+ cd packaging/builds/${{ steps.folder.outputs.name }}
55
+ hub release create ${{ steps.tag.outputs.value }} \
56
+ -a ${{ steps.binaries.outputs.deb_file }} \
57
+ -a ${{ steps.binaries.outputs.rpm_file }} \
58
+ -m "Version ${{ steps.folder.outputs.name }}
59
+
60
+ Release of version ${{ steps.folder.outputs.name }} of the Shopify App CLI
61
+ Please refer to [CHANGELOG](https://github.com/Shopify/shopify-app-cli/blob/master/CHANGELOG.md) for details."
@@ -0,0 +1,22 @@
1
+ name: Triage new issues to DTE oncall project board ("Needs triage" column)
2
+
3
+ on:
4
+ issues:
5
+ types: [opened, reopened]
6
+
7
+ jobs:
8
+ triage-issue:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - name: Extract issue id
12
+ id: issue
13
+ run: echo "::set-output name=id::$(jq -r '.issue.id' < "$GITHUB_EVENT_PATH")"
14
+
15
+ - name: Create card
16
+ env:
17
+ TOKEN: ${{ secrets.ACTIONS_TOKEN }}
18
+ run: |
19
+ curl -s -X POST -u "$GITHUB_ACTOR:$TOKEN" --retry 3 \
20
+ -H 'Accept: application/vnd.github.inertia-preview+json' \
21
+ -d "{\"content_type\": \"Issue\", \"content_id\": ${{ steps.issue.outputs.id }}}" \
22
+ "https://api.github.com/projects/columns/10507989/cards"
data/.rubocop.yml CHANGED
@@ -1,9 +1,44 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
+ require: rubocop-minitest
4
+
3
5
  inherit_gem:
4
6
  rubocop-shopify:
5
7
  - rubocop-cli.yml
6
8
 
9
+ Minitest:
10
+ Enabled: true
11
+ Include:
12
+ - '**/test/**/*'
13
+ - '**/*_test.rb'
14
+
15
+ Minitest/AssertInDelta: # (new in 0.10)
16
+ Enabled: true
17
+ Minitest/AssertionInLifecycleHook: # (new in 0.10)
18
+ Enabled: true
19
+ Minitest/AssertKindOf: # (new in 0.10)
20
+ Enabled: true
21
+ Minitest/AssertOutput: # (new in 0.10)
22
+ Enabled: true
23
+ Minitest/AssertPathExists: # (new in 0.10)
24
+ Enabled: false # only available from minitest 5.13.0
25
+ Minitest/AssertSilent: # (new in 0.10)
26
+ Enabled: true
27
+ Minitest/LiteralAsActualArgument: # (new in 0.10)
28
+ Enabled: true
29
+ Minitest/MultipleAssertions: # (new in 0.10)
30
+ Enabled: true
31
+ Minitest/RefuteInDelta: # (new in 0.10)
32
+ Enabled: true
33
+ Minitest/RefuteKindOf: # (new in 0.10)
34
+ Enabled: true
35
+ Minitest/RefutePathExists: # (new in 0.10)
36
+ Enabled: false # only available from minitest 5.13.0
37
+ Minitest/TestMethodName: # (new in 0.10)
38
+ Enabled: true
39
+ Minitest/UnspecifiedException: # (new in 0.10)
40
+ Enabled: true
41
+
7
42
  AllCops:
8
43
  Exclude:
9
44
  - 'vendor/**/*'
@@ -16,6 +51,9 @@ Layout/EmptyLines:
16
51
  # Need extra line so comment at top isnt registered to the Dev namespace
17
52
  - 'lib/dev/helpers/chruby_reset.rb'
18
53
 
54
+ Layout/EmptyLineBetweenDefs:
55
+ AllowAdjacentOneLineDefs: true
56
+
19
57
  # Changing this could effect the way the content is rendered.
20
58
  Layout/HeredocIndentation:
21
59
  Exclude:
@@ -39,13 +77,24 @@ Style/RegexpLiteral:
39
77
 
40
78
  Style/MethodCallWithArgsParentheses:
41
79
  IgnoredMethods:
80
+ - assert
81
+ - assert_equal
82
+ - assert_includes
83
+ - assert_nil
84
+ - assert_raises
85
+ - assert_requested # from Webmock
86
+ - puts
87
+ - raise
88
+ - refute
89
+ - refute_empty
90
+ - refute_nil
42
91
  - require
43
- - require_relative
44
92
  - require_dependency
93
+ - require_relative
45
94
  - yield
46
- - raise
47
- - puts
48
- - assert_equal
49
- - assert
50
- - refute
51
- - assert_requested # from Webmock
95
+
96
+ Layout/TrailingWhitespace:
97
+ Exclude:
98
+ - 'ext/shopify-cli/extconf.rb' # unsure if safe to remove
99
+ - 'lib/project_types/extension/messages/messages.rb' # unsure if safe to remove
100
+ - 'test/project_types/extension/extension_test_helpers/stubs/argo_script.rb' # unsure if save to remove
data/.rubocop_todo.yml CHANGED
@@ -1,20 +1,11 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2020-10-17 00:53:36 UTC using RuboCop version 0.93.1.
3
+ # on 2020-12-01 16:33:09 UTC using RuboCop version 1.4.1.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 66
10
- # Cop supports --auto-correct.
11
- # Configuration parameters: IgnoreMacros, IgnoredMethods, IgnoredPatterns, IncludedMacros, AllowParenthesesInMultilineCall, AllowParenthesesInChaining, AllowParenthesesInCamelCaseMethod, EnforcedStyle.
12
- # SupportedStyles: require_parentheses, omit_parentheses
13
- Style/MethodCallWithArgsParentheses:
14
- Enabled: false
15
-
16
- # Offense count: 1
17
- # Cop supports --auto-correct.
18
- Style/RedundantBegin:
19
- Exclude:
20
- - 'test/test_helper.rb'
9
+ # Offense count: 30
10
+ Minitest/MultipleAssertions:
11
+ Max: 9
data/.travis.yml CHANGED
@@ -1,5 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 3.0.0
3
4
  - 2.5.8
4
5
  - 2.6.6
5
6
  - 2.7.1
data/CHANGELOG.md CHANGED
@@ -1,10 +1,36 @@
1
1
  Unreleased
2
2
  ------
3
3
 
4
+ Version 1.7.1
5
+ ------
6
+ * Updating internal features in development
7
+
8
+ Version 1.7.0
9
+ -----
10
+ * [#1075](https://github.com/Shopify/shopify-app-cli/pull/1075): Add support for kebab-case flags
11
+
12
+ Version 1.6.0
13
+ -----
14
+ * [#1049](https://github.com/Shopify/shopify-app-cli/pull/1049): Add schema versioning support to the script project type
15
+ * [#1059](https://github.com/Shopify/shopify-app-cli/pull/1059): Remove the functionality of the `generate` command for node apps, since it will no longer be feasible with the new node library
16
+ * [#1046](https://github.com/Shopify/shopify-app-cli/pull/1046): Include a vendored copy of Webrick, as it's no longer included in Ruby 3.
17
+ * [#1041](https://github.com/Shopify/shopify-app-cli/pull/1041): Remove unnecessary shell call to `spring stop`. We already pass `--skip-spring` when creating the app so running `spring stop` would have no effect.
18
+ * [#1034](https://github.com/Shopify/shopify-app-cli/pull/1034): Abort if a system call fails.
19
+
20
+ Version 1.5.0
21
+ -----
22
+ * [#965](https://github.com/Shopify/shopify-app-cli/pull/965): Remove --no-optional when using npm to create new project
23
+ * [#958](https://github.com/Shopify/shopify-app-cli/pull/958): Split `connect` command into project-specific functionality
24
+ * [#992](https://github.com/Shopify/shopify-app-cli/pull/992): Add Theme Kit functionality to CLI
25
+
26
+ Version 1.4.1
27
+ ------
28
+ * [#917](https://github.com/Shopify/shopify-app-cli/pull/917): Ensure analytics for create action includes the same fields as other commands
29
+
4
30
  Version 1.4.0
5
31
  ------
6
32
  * Updates to tests, dependencies and internal tooling
7
- * #924: Improve debugging messages on Partner API errors
33
+ * [#924](https://github.com/Shopify/shopify-app-cli/pull/924): Improve debugging messages on Partner API errors
8
34
 
9
35
  Version 1.3.1
10
36
  ------
data/Gemfile CHANGED
@@ -5,17 +5,19 @@ source "https://rubygems.org"
5
5
  # They are all for CI and tests
6
6
  # `dev` uses no gems
7
7
  group :development, :test do
8
- gem 'rake'
9
- gem 'pry-byebug'
10
- gem 'byebug'
11
- gem 'rubocop-shopify', require: false
8
+ gem "rake"
9
+ gem "pry-byebug"
10
+ gem "byebug"
11
+ gem "rubocop-shopify", require: false
12
+ gem "rubocop-minitest", require: false
12
13
  end
13
14
 
14
15
  group :test do
15
- gem 'mocha', require: false
16
- gem 'minitest', '>= 5.0.0', require: false
17
- gem 'minitest-reporters', require: false
18
- gem 'fakefs', '>= 1.0', require: false
19
- gem 'webmock', require: false
20
- gem 'timecop', require: false
16
+ gem "mocha", require: false
17
+ gem "minitest", ">= 5.0.0", require: false
18
+ gem "minitest-reporters", require: false
19
+ gem "minitest-fail-fast", require: false
20
+ gem "fakefs", ">= 1.0", require: false
21
+ gem "webmock", require: false
22
+ gem "timecop", require: false
21
23
  end
data/Gemfile.lock CHANGED
@@ -1,62 +1,62 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- addressable (2.5.2)
5
- public_suffix (>= 2.0.2, < 4.0)
4
+ addressable (2.7.0)
5
+ public_suffix (>= 2.0.2, < 5.0)
6
6
  ansi (1.5.0)
7
7
  ast (2.4.1)
8
- builder (3.2.3)
9
- byebug (8.2.5)
10
- coderay (1.1.2)
11
- crack (0.4.3)
12
- safe_yaml (~> 1.0.0)
8
+ builder (3.2.4)
9
+ byebug (11.1.3)
10
+ coderay (1.1.3)
11
+ crack (0.4.4)
13
12
  fakefs (1.2.2)
14
- hashdiff (0.3.2)
15
- metaclass (0.0.4)
16
- method_source (0.9.2)
17
- minitest (5.11.3)
18
- minitest-reporters (1.3.5)
13
+ hashdiff (1.0.1)
14
+ method_source (1.0.0)
15
+ minitest (5.14.2)
16
+ minitest-fail-fast (0.1.0)
17
+ minitest (~> 5)
18
+ minitest-reporters (1.4.2)
19
19
  ansi
20
20
  builder
21
21
  minitest (>= 5.0)
22
22
  ruby-progressbar
23
- mocha (1.7.0)
24
- metaclass (~> 0.0.1)
25
- parallel (1.19.2)
23
+ mocha (1.11.2)
24
+ parallel (1.20.1)
26
25
  parser (2.7.2.0)
27
26
  ast (~> 2.4.1)
28
- pry (0.12.2)
29
- coderay (~> 1.1.0)
30
- method_source (~> 0.9.0)
31
- pry-byebug (3.3.0)
32
- byebug (~> 8.0)
33
- pry (~> 0.10)
34
- public_suffix (3.0.3)
27
+ pry (0.13.1)
28
+ coderay (~> 1.1)
29
+ method_source (~> 1.0)
30
+ pry-byebug (3.9.0)
31
+ byebug (~> 11.0)
32
+ pry (~> 0.13.0)
33
+ public_suffix (4.0.6)
35
34
  rainbow (3.0.0)
36
35
  rake (13.0.1)
37
36
  regexp_parser (1.8.2)
38
37
  rexml (3.2.4)
39
- rubocop (0.93.1)
38
+ rubocop (1.4.1)
40
39
  parallel (~> 1.10)
41
40
  parser (>= 2.7.1.5)
42
41
  rainbow (>= 2.2.2, < 4.0)
43
42
  regexp_parser (>= 1.8)
44
43
  rexml
45
- rubocop-ast (>= 0.6.0)
44
+ rubocop-ast (>= 1.1.1)
46
45
  ruby-progressbar (~> 1.7)
47
46
  unicode-display_width (>= 1.4.0, < 2.0)
48
- rubocop-ast (0.8.0)
47
+ rubocop-ast (1.1.1)
49
48
  parser (>= 2.7.1.5)
50
- rubocop-shopify (1.0.6)
51
- rubocop (>= 0.92, < 0.94)
49
+ rubocop-minitest (0.10.1)
50
+ rubocop (>= 0.87)
51
+ rubocop-shopify (1.0.7)
52
+ rubocop (~> 1.4)
52
53
  ruby-progressbar (1.10.1)
53
- safe_yaml (1.0.4)
54
- timecop (0.9.1)
54
+ timecop (0.9.2)
55
55
  unicode-display_width (1.7.0)
56
- webmock (2.3.2)
56
+ webmock (3.9.3)
57
57
  addressable (>= 2.3.6)
58
58
  crack (>= 0.3.2)
59
- hashdiff
59
+ hashdiff (>= 0.4.0, < 2.0.0)
60
60
 
61
61
  PLATFORMS
62
62
  ruby
@@ -65,10 +65,12 @@ DEPENDENCIES
65
65
  byebug
66
66
  fakefs (>= 1.0)
67
67
  minitest (>= 5.0.0)
68
+ minitest-fail-fast
68
69
  minitest-reporters
69
70
  mocha
70
71
  pry-byebug
71
72
  rake
73
+ rubocop-minitest
72
74
  rubocop-shopify
73
75
  timecop
74
76
  webmock