shopify-cli 2.6.3 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (200) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer.json +5 -0
  3. data/.github/DESIGN.md +1 -1
  4. data/.github/ISSUE_TEMPLATE.md +7 -0
  5. data/.github/PULL_REQUEST_TEMPLATE.md +15 -4
  6. data/.github/workflows/shopify.yml +3 -6
  7. data/.vscode/extensions.json +5 -0
  8. data/.vscode/settings.json +9 -0
  9. data/CHANGELOG.md +98 -104
  10. data/CONTRIBUTING.md +1 -21
  11. data/Codespace.dockerfile +35 -0
  12. data/Gemfile +2 -0
  13. data/Gemfile.lock +9 -5
  14. data/README.md +20 -99
  15. data/RELEASING.md +17 -30
  16. data/Rakefile +0 -5
  17. data/Tests.dockerfile +35 -0
  18. data/assets/logo.png +0 -0
  19. data/dev.yml +0 -3
  20. data/docs/README.md +13 -0
  21. data/docs/contributors/testing.md +27 -0
  22. data/docs/users/installation.md +46 -0
  23. data/{THEMEKIT_MIGRATION.md → docs/users/migrate-from-themekit.md} +1 -1
  24. data/lib/project_types/extension/cli.rb +7 -3
  25. data/lib/project_types/extension/commands/create.rb +6 -6
  26. data/lib/project_types/extension/commands/extension_command.rb +1 -1
  27. data/lib/project_types/extension/features/argo.rb +9 -10
  28. data/lib/project_types/extension/features/argo_serve.rb +9 -23
  29. data/lib/project_types/extension/forms/create.rb +1 -1
  30. data/lib/project_types/extension/forms/questions/ask_template.rb +3 -6
  31. data/lib/project_types/extension/messages/messages.rb +1 -0
  32. data/lib/project_types/extension/models/development_server_requirements.rb +2 -3
  33. data/lib/project_types/extension/models/server_config/app.rb +13 -0
  34. data/lib/project_types/extension/models/server_config/development.rb +5 -4
  35. data/lib/project_types/extension/models/server_config/development_renderer.rb +1 -1
  36. data/lib/project_types/extension/models/server_config/development_resource.rb +13 -0
  37. data/lib/project_types/extension/models/server_config/extension.rb +4 -0
  38. data/lib/project_types/extension/models/server_config/root.rb +4 -1
  39. data/lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb +1 -1
  40. data/lib/project_types/extension/models/specification_handlers/checkout_ui_extension.rb +1 -1
  41. data/lib/project_types/extension/tasks/convert_server_config.rb +65 -0
  42. data/lib/project_types/extension/tasks/ensure_resource_url.rb +39 -0
  43. data/lib/project_types/extension/tasks/find_package_from_json.rb +37 -0
  44. data/lib/project_types/extension/tasks/merge_server_config.rb +32 -0
  45. data/lib/project_types/extension/tasks/run_extension_command.rb +10 -9
  46. data/lib/project_types/node/cli.rb +0 -16
  47. data/lib/project_types/node/forms/create.rb +5 -5
  48. data/lib/project_types/node/messages/messages.rb +2 -149
  49. data/lib/project_types/php/cli.rb +0 -11
  50. data/lib/project_types/php/forms/create.rb +5 -6
  51. data/lib/project_types/php/messages/messages.rb +2 -164
  52. data/lib/project_types/rails/cli.rb +0 -16
  53. data/lib/project_types/rails/commands/create.rb +46 -17
  54. data/lib/project_types/rails/forms/create.rb +5 -7
  55. data/lib/project_types/rails/messages/messages.rb +6 -154
  56. data/lib/project_types/script/cli.rb +1 -1
  57. data/lib/project_types/script/commands/create.rb +5 -6
  58. data/lib/project_types/script/commands/push.rb +1 -1
  59. data/lib/project_types/script/config/extension_points.yml +10 -0
  60. data/lib/project_types/script/errors.rb +0 -18
  61. data/lib/project_types/script/graphql/app_script_set.graphql +2 -0
  62. data/lib/project_types/script/layers/application/build_script.rb +2 -1
  63. data/lib/project_types/script/layers/application/create_script.rb +2 -2
  64. data/lib/project_types/script/layers/application/push_script.rb +15 -1
  65. data/lib/project_types/script/layers/domain/push_package.rb +5 -2
  66. data/lib/project_types/script/layers/domain/script_json.rb +1 -1
  67. data/lib/project_types/script/layers/infrastructure/api_clients/partners_proxy_api_client.rb +0 -4
  68. data/lib/project_types/script/layers/infrastructure/errors.rb +17 -2
  69. data/lib/project_types/script/layers/infrastructure/languages/assemblyscript_task_runner.rb +29 -13
  70. data/lib/project_types/script/layers/infrastructure/languages/typescript_task_runner.rb +29 -13
  71. data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +4 -2
  72. data/lib/project_types/script/layers/infrastructure/script_project_repository.rb +3 -4
  73. data/lib/project_types/script/layers/infrastructure/script_service.rb +7 -2
  74. data/lib/project_types/script/messages/messages.rb +9 -22
  75. data/lib/project_types/script/ui/error_handler.rb +16 -26
  76. data/lib/project_types/theme/cli.rb +1 -1
  77. data/lib/project_types/theme/commands/check.rb +1 -1
  78. data/lib/project_types/theme/commands/delete.rb +1 -1
  79. data/lib/project_types/theme/commands/init.rb +1 -1
  80. data/lib/project_types/theme/commands/language_server.rb +1 -1
  81. data/lib/project_types/theme/commands/package.rb +1 -1
  82. data/lib/project_types/theme/commands/publish.rb +1 -1
  83. data/lib/project_types/theme/commands/pull.rb +1 -1
  84. data/lib/project_types/theme/commands/push.rb +1 -1
  85. data/lib/project_types/theme/commands/serve.rb +10 -2
  86. data/lib/project_types/theme/messages/messages.rb +10 -0
  87. data/lib/shopify_cli/admin_api/populate_resource_command.rb +1 -1
  88. data/lib/shopify_cli/api.rb +7 -2
  89. data/lib/shopify_cli/app_type_detector.rb +36 -0
  90. data/lib/shopify_cli/command/app_sub_command.rb +10 -0
  91. data/lib/shopify_cli/command/project_command.rb +18 -0
  92. data/lib/shopify_cli/command/sub_command.rb +19 -0
  93. data/lib/shopify_cli/command.rb +13 -3
  94. data/lib/shopify_cli/command_options/command_serve_options.rb +43 -0
  95. data/lib/shopify_cli/command_options.rb +7 -0
  96. data/lib/shopify_cli/commands/app/connect.rb +22 -0
  97. data/lib/shopify_cli/commands/app/create/node.rb +38 -0
  98. data/lib/shopify_cli/commands/app/create/php.rb +36 -0
  99. data/lib/shopify_cli/commands/app/create/rails.rb +40 -0
  100. data/lib/shopify_cli/commands/app/create.rb +28 -0
  101. data/lib/shopify_cli/commands/app/deploy.rb +49 -0
  102. data/lib/shopify_cli/commands/app/open.rb +19 -0
  103. data/lib/shopify_cli/commands/app/serve.rb +49 -0
  104. data/lib/shopify_cli/commands/app/tunnel.rb +43 -0
  105. data/lib/shopify_cli/commands/app.rb +29 -0
  106. data/lib/shopify_cli/commands/config.rb +2 -2
  107. data/lib/shopify_cli/commands/login.rb +3 -3
  108. data/lib/shopify_cli/commands/reporting.rb +38 -0
  109. data/lib/shopify_cli/commands/switch.rb +1 -1
  110. data/lib/shopify_cli/commands.rb +2 -0
  111. data/lib/shopify_cli/constants.rb +11 -3
  112. data/lib/shopify_cli/core/monorail.rb +9 -20
  113. data/lib/shopify_cli/environment.rb +15 -1
  114. data/lib/shopify_cli/exception_reporter.rb +29 -16
  115. data/lib/shopify_cli/git.rb +12 -1
  116. data/lib/shopify_cli/github/issue_url_generator.rb +19 -0
  117. data/lib/shopify_cli/github.rb +5 -0
  118. data/lib/shopify_cli/messages/messages.rb +295 -22
  119. data/lib/shopify_cli/migrator/migration.rb +1 -1
  120. data/lib/shopify_cli/migrator/migrations/1631709766_noop.rb +1 -1
  121. data/lib/shopify_cli/migrator/migrations/1633691650_merge_reporting_configuration.rb +41 -0
  122. data/lib/shopify_cli/migrator.rb +9 -11
  123. data/lib/shopify_cli/project.rb +5 -1
  124. data/lib/shopify_cli/project_commands.rb +1 -1
  125. data/lib/shopify_cli/reporting_configuration_controller.rb +64 -0
  126. data/lib/shopify_cli/services/app/connect_service.rb +25 -0
  127. data/lib/shopify_cli/services/app/create/node_service.rb +153 -0
  128. data/lib/shopify_cli/services/app/create/php_service.rb +152 -0
  129. data/lib/shopify_cli/services/app/create/rails_service.rb +213 -0
  130. data/lib/shopify_cli/services/app/deploy/heroku/node_service.rb +101 -0
  131. data/lib/shopify_cli/services/app/deploy/heroku/php_service.rb +135 -0
  132. data/lib/shopify_cli/services/app/deploy/heroku/rails_service.rb +120 -0
  133. data/lib/shopify_cli/services/app/open_service.rb +19 -0
  134. data/lib/shopify_cli/services/app/serve/node_service.rb +42 -0
  135. data/lib/shopify_cli/services/app/serve/php_service.rb +46 -0
  136. data/lib/shopify_cli/services/app/serve/rails_service.rb +48 -0
  137. data/lib/shopify_cli/services/app/tunnel/auth_service.rb +21 -0
  138. data/lib/shopify_cli/services/app/tunnel/start_service.rb +20 -0
  139. data/lib/shopify_cli/services/app/tunnel/stop_service.rb +20 -0
  140. data/lib/shopify_cli/services/base_service.rb +13 -0
  141. data/lib/shopify_cli/services/reporting_service.rb +16 -0
  142. data/lib/shopify_cli/services.rb +37 -0
  143. data/lib/shopify_cli/theme/dev_server/local_assets.rb +1 -1
  144. data/lib/shopify_cli/theme/dev_server/watcher.rb +2 -2
  145. data/lib/shopify_cli/theme/dev_server.rb +9 -2
  146. data/lib/shopify_cli/version.rb +1 -1
  147. data/lib/shopify_cli.rb +5 -2
  148. data/shopify-cli.gemspec +2 -13
  149. data/shopify-dev +18 -0
  150. data/utilities/constants.rb +7 -0
  151. data/utilities/docker/container.rb +104 -0
  152. data/utilities/docker.rb +45 -3
  153. data/utilities/utilities.rb +1 -0
  154. metadata +63 -54
  155. data/Dockerfile +0 -17
  156. data/docs/_config.yml +0 -2
  157. data/docs/app/node/commands/index.md +0 -4
  158. data/docs/app/node/index.md +0 -4
  159. data/docs/app/rails/commands/index.md +0 -4
  160. data/docs/app/rails/index.md +0 -4
  161. data/docs/core/index.md +0 -4
  162. data/docs/getting-started/index.md +0 -4
  163. data/docs/getting-started/install/index.md +0 -4
  164. data/docs/getting-started/migrate/index.md +0 -4
  165. data/docs/getting-started/uninstall/index.md +0 -4
  166. data/docs/getting-started/upgrade/index.md +0 -4
  167. data/docs/help/start-app/index.md +0 -4
  168. data/docs/index.md +0 -4
  169. data/ext/shopify-cli/extconf.rb +0 -60
  170. data/install.sh +0 -7
  171. data/lib/project_types/extension/tasks/converters/server_config_converter.rb +0 -31
  172. data/lib/project_types/extension/tasks/load_server_config.rb +0 -23
  173. data/lib/project_types/node/commands/connect.rb +0 -21
  174. data/lib/project_types/node/commands/create.rb +0 -125
  175. data/lib/project_types/node/commands/deploy/heroku.rb +0 -96
  176. data/lib/project_types/node/commands/deploy.rb +0 -32
  177. data/lib/project_types/node/commands/generate.rb +0 -22
  178. data/lib/project_types/node/commands/open.rb +0 -18
  179. data/lib/project_types/node/commands/serve.rb +0 -54
  180. data/lib/project_types/node/commands/tunnel.rb +0 -41
  181. data/lib/project_types/php/commands/connect.rb +0 -19
  182. data/lib/project_types/php/commands/create.rb +0 -143
  183. data/lib/project_types/php/commands/deploy/heroku.rb +0 -129
  184. data/lib/project_types/php/commands/deploy.rb +0 -32
  185. data/lib/project_types/php/commands/open.rb +0 -16
  186. data/lib/project_types/php/commands/serve.rb +0 -51
  187. data/lib/project_types/php/commands/tunnel.rb +0 -37
  188. data/lib/project_types/rails/commands/connect.rb +0 -21
  189. data/lib/project_types/rails/commands/deploy/heroku.rb +0 -115
  190. data/lib/project_types/rails/commands/deploy.rb +0 -32
  191. data/lib/project_types/rails/commands/generate/webhook.rb +0 -42
  192. data/lib/project_types/rails/commands/generate.rb +0 -60
  193. data/lib/project_types/rails/commands/open.rb +0 -18
  194. data/lib/project_types/rails/commands/serve.rb +0 -52
  195. data/lib/project_types/rails/commands/tunnel.rb +0 -41
  196. data/lib/project_types/script/graphql/app_script_update_or_create.graphql +0 -0
  197. data/lib/shopify_cli/exception_reporter/permission_controller.rb +0 -54
  198. data/lib/shopify_cli/sub_command.rb +0 -17
  199. data/shopify.fish +0 -12
  200. data/shopify.sh +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5eeebd9058a041844656003db1812bd64cc52b71f2cd9e971a196017ef272ad7
4
- data.tar.gz: cfb9881073152f718fb32bc6150329b0a0c7891058de9ce5145847717deaae35
3
+ metadata.gz: 4cce33ea79f749e3dc6e18d724ac5e584f887971224119f6e8ea61ade325798d
4
+ data.tar.gz: 3ae9563de4ea7eb1eaf3e51a03e71fba509ca9249c35e9be8d1311e952ddf577
5
5
  SHA512:
6
- metadata.gz: 606af4b1db0d92a2d1c15cf31a2376da3b5dc24b3def4cf5d78a7a5662cb64fc76b29e364f85e1880db5e7e2383ac3a9dd9b705f4f319414e6e5bf8c6c59788a
7
- data.tar.gz: 6880b9158d5ff14287e6bbfec091b6240979ef663c1b64494f6ed3b1fe2fdb98e60bc21b4dfc30a09129a3ff1c5136a68166f363ba111d21e0fdb6976ae737a8
6
+ metadata.gz: f5e46c8fa4c9eeb026d7e7b451a53886338a32ea084153f541eda085a6a3bb6cf5247831498b0dcc960c9079e7eaf3906662965c32e17f2dfd31a47113343674
7
+ data.tar.gz: 46df1b135b1d37618560a00fb8121291ddf9d63f0e35c2c33abfdcf3decb2b9d0fb3380c99726cedab37bd4b01627ac4a3df51869312f82bbfd5ebeb43d9b6a3
@@ -0,0 +1,5 @@
1
+ {
2
+ "build": {
3
+ "dockerfile": "Codespace.dockerfile"
4
+ },
5
+ }
data/.github/DESIGN.md CHANGED
@@ -30,7 +30,7 @@ The user understands the following mechanics of a CLI:
30
30
  When creating a new command or subcommand there are a few things to keep in mind.
31
31
 
32
32
  ### What is the quickest way to execute a command?
33
- Commands are best executed autonomously. Most of the time the command should be self contained and should not requre additional input from the user. For example when running `shopify populate products` the command will execute without additional inputs required from the user even though the command could ask for things like `product name`, `price`, etc.
33
+ Commands are best executed autonomously. Most of the time the command should be self contained and should not require additional input from the user. For example when running `shopify populate products` the command will execute without additional inputs required from the user even though the command could ask for things like `product name`, `price`, etc.
34
34
 
35
35
  When creating a new command or subcommand consider how much information is absolutely necessary for the command to execute autonomously. If a command always requires arguments or additional information then adding smart defaults could help make inputting the command faster.
36
36
 
@@ -25,6 +25,13 @@ Tip: include an error message (in a `<details></details>` tag) if your issue is
25
25
  1.
26
26
 
27
27
 
28
+ ## Stacktrace
29
+
30
+ <!--Stacktrace
31
+ Add any stacktrace that might help debug the reported issue.
32
+ Otherwise, delete this section.
33
+ -->
34
+
28
35
 
29
36
  ## Specifications
30
37
 
@@ -21,12 +21,23 @@ Fixes #0000 <!-- link to issue if one exists -->
21
21
  Before / after screenshots appreciated for UI changes.
22
22
  -->
23
23
 
24
- ### Update checklist
24
+ ### How to test your changes?
25
+
25
26
  <!--
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.
27
+ Please, provide steps for the reviewer to test your changes locally.
29
28
  -->
29
+
30
+ ### Post-release steps
31
+
32
+ <!--
33
+ If changes require post-release steps, for example merging and publishing some documentation changes,
34
+ specify it in this section and add the label "includes-post-release-steps".
35
+ If it doesn't, feel free to remove this section.
36
+ -->
37
+
38
+ ### Update checklist
39
+
30
40
  - [ ] I've added a CHANGELOG entry for this PR (if the change is public-facing)
31
41
  - [ ] I've considered possible cross-platform impacts (Mac, Linux, Windows).
32
42
  - [ ] I've left the version number as is (we'll handle incrementing this when releasing).
43
+ - [ ] I've included any post-release steps in the section above.
@@ -44,19 +44,14 @@ jobs:
44
44
  - name: Run Tests
45
45
  run: bundle exec rake test
46
46
  acceptance_tests:
47
- name: Acceptance Tests with Ruby ${{ matrix.version }} on ${{ matrix.os }}
47
+ name: Acceptance Tests
48
48
  runs-on: ${{ matrix.os }}
49
49
  strategy:
50
50
  matrix:
51
51
  version:
52
52
  - 3.0.2
53
- - 2.6.6
54
- - 2.7.1
55
53
  os:
56
- - macos-10.15
57
- - macos-11
58
54
  - ubuntu-20.04
59
- - ubuntu-18.04
60
55
  steps:
61
56
  - uses: actions/checkout@v2
62
57
  - name: Set Git configuration
@@ -74,6 +69,8 @@ jobs:
74
69
  with:
75
70
  node-version: "14.9.0"
76
71
 
72
+ - uses: docker-practice/actions-setup-docker@master
73
+
77
74
  - name: Install Dependencies
78
75
  run: bundle install
79
76
 
@@ -0,0 +1,5 @@
1
+ {
2
+ "recommendations": [
3
+ "dracula-theme.theme-dracula",
4
+ ]
5
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "files.exclude": {
3
+ "**/.git": true,
4
+ "**/node_modules": true,
5
+ "**/.DS_Store": true
6
+ },
7
+ "editor.formatOnSave": false,
8
+ "workbench.colorTheme": "Dracula Soft",
9
+ }
data/CHANGELOG.md CHANGED
@@ -1,23 +1,55 @@
1
- Unreleased
2
- ------
1
+ From version 2.6.0, the sections in this file adhere to the [keep a changelog](https://keepachangelog.com/en/1.0.0/) specification.
2
+ ## [Unreleased]
3
3
 
4
- Version 2.6.3
5
- ------
6
- * Enable error-reporting.
4
+ ## Version 2.7.0
5
+ ### Changed
6
+ * [#1650](https://github.com/Shopify/shopify-cli/pull/1650): **Breaking** Move app commands under `shopify app`.
7
7
 
8
- Version 2.6.2
9
- ------
8
+ ### Fixed
9
+ * [#1714](https://github.com/Shopify/shopify-cli/pull/1714): Fix theme serve not serving assets locally when two URLs are on the same line
10
+ * [#1729](https://github.com/Shopify/shopify-cli/pull/1729): Update theme-check to 1.8.0
10
11
 
11
- * Fix broken installation due to a missing variable in `extconf.rb`
12
-
13
- Version 2.6.1
14
- ------
12
+ ## Version 2.6.6
13
+ ### Added
14
+ * [#1609](https://github.com/Shopify/shopify-cli/pull/1609): Add `--http-bind=HOST` option to `shopify theme serve`.
15
15
 
16
- * [#1608](https://github.com/Shopify/shopify-cli/pull/1608): Fix errors not being reported.
16
+ ### Fixed
17
+ * [#1678](https://github.com/Shopify/shopify-cli/pull/1678): Fix migrator's incompatibility with Ruby 2.5.
18
+ * [#1690](https://github.com/Shopify/shopify-cli/pull/1690): Fix `extension push` command for `PRODUCT_SUBSCRIPTION` extensions
19
+
20
+ ### Changed
21
+ * [#1678](https://github.com/Shopify/shopify-cli/pull/1678): Change the `@shopify/scripts-checkout-apis-temp` package name to `@shopify/scripts-discount-apis`.
22
+
23
+ ### Removed
24
+ * [#1664](https://github.com/Shopify/shopify-cli/pull/1664): Remove ruby-locking extension
25
+ ## Version 2.6.5
26
+ ### Fixed
27
+ * [#1661](https://github.com/Shopify/shopify-cli/pull/1661): Handle npm list non-zero exit status when pushing scripts
28
+ ## Version 2.6.4
29
+ ### Fixed
30
+ * [#1633](https://github.com/Shopify/shopify-cli/pull/1633): Runtime error when the shop passed on login is invalid
31
+ * [#1625](https://github.com/Shopify/shopify-cli/pull/1625): Fix push bug with post-purchase extensions
32
+
33
+ ### Added
34
+ * [#1542](https://github.com/Shopify/shopify-cli/pull/1542): Add option theme serve --poll to force polling when watching files
35
+ * [#1635](https://github.com/Shopify/shopify-cli/pull/1635): Command to enable or disable anonymous usage and error reporting.
36
+ * [#1614](https://github.com/Shopify/shopify-cli/pull/1614): Add ability to set custom ngrok port for all app serve commands.
37
+ ### Removed
38
+
39
+ ### Changed
40
+ * [#1635](https://github.com/Shopify/shopify-cli/pull/1635): Automatic usage and error reporting configuration has been unified under `analytics.enabled`.
41
+
42
+ ### Security
43
+
44
+ ## Version 2.6.3
45
+ * Enable error-reporting.
17
46
 
18
- Version 2.6.0
19
- ------
47
+ ## Version 2.6.2
48
+ * Fix broken installation due to a missing variable in `extconf.rb`
20
49
 
50
+ ## Version 2.6.1
51
+ * [#1608](https://github.com/Shopify/shopify-cli/pull/1608): Fix errors not being reported.
52
+ ## Version 2.6.0
21
53
  * [#1574](https://github.com/Shopify/shopify-cli/pull/1574): Hide LoadError for ${RUBY_MAJOR}/ffi_c.
22
54
  * [#1567](https://github.com/Shopify/shopify-cli/pull/1567): Add ability to set custom port for ngrok tunnel in node serve.
23
55
  * [#1584](https://github.com/Shopify/shopify-cli/issues/1584): Fixed extended help message not showing.
@@ -26,92 +58,72 @@ Version 2.6.0
26
58
  * [#1528](https://github.com/Shopify/shopify-cli/pull/1528): Bump theme-check version to 1.7
27
59
  * [#1566](https://github.com/Shopify/shopify-cli/pull/1566): Fix bug when running `npm | yarn list` for extension package resolution
28
60
 
29
- Version 2.5.0
30
- ------
31
-
61
+ ## Version 2.5.0
32
62
  * [#1553](https://github.com/Shopify/shopify-cli/pull/1553): Add support for PHP app projects
33
63
 
34
- Version 2.4.0
35
- ------
36
-
37
- * [#1488](https://github.com/Shopify/shopify-cli/pull/1488): Update Theme-Check to 1.4
64
+ ## Version 2.4.0
65
+ * [#1488](https://github.com/Shopify/shopify-cli/pull/1488): Update theme-check to 1.4
38
66
  * [#1507](https://github.com/Shopify/shopify-cli/pull/1507): Limit the generated name for themes to 50 characters
39
67
 
40
- Version 2.3.0
41
- ------
42
-
43
- * [#1386](https://github.com/Shopify/shopify-cli/pull/1386): Update Theme-Check to 1.2
68
+ ## Version 2.3.0
69
+ * [#1386](https://github.com/Shopify/shopify-cli/pull/1386): Update theme-check to 1.2
44
70
  * [#1457](https://github.com/Shopify/shopify-cli/pull/1457): Fix uploading of binary theme files under Windows
45
71
  * [#1480](https://github.com/Shopify/shopify-cli/pull/1480): Fix customers pages not working with `theme serve`
46
72
  * [#1479](https://github.com/Shopify/shopify-cli/pull/1479): Add theme push & pull option to ignore files per command
73
+ v
74
+ ## Version 2.2.2
75
+ * [1382](https:/github.com/Shopify/shopify-cli/pull/1382): Client side module upload for Scripts
47
76
 
48
- Version 2.2.2
49
- ------
50
- * [1382](https://github.com/Shopify/shopify-cli/pull/1382): Client side module upload for Scripts
51
-
52
- Version 2.2.1
53
- ------
54
-
77
+ ## Version 2.2.1
55
78
  * [1432](https://github.com/Shopify/shopify-cli/pull/1432) New method for determining renderer package name
56
79
 
57
- Version 2.2.0
58
- ------
59
- * [#1424](https://github.com/Shopify/shopify-cli/pull/1424/): Add `--resourceUrl` flag to extension serve command
80
+ ## Version 2.2.0
81
+ * [#1424](https//github.com/Shopify/shopify-cli/pull/1424/): Add `--resourceUrl` flag to extension serve command
60
82
  * [#1419](https://github.com/Shopify/shopify-cli/pull/1419): Remove analytics prompt when used in CI
61
83
  * [#1418](https://github.com/Shopify/shopify-cli/pull/1418): Auto configure resource URL for Checkout Extensions
62
84
  * [#1399](https://github.com/Shopify/shopify-cli/pull/1399): Fix error when running `shopify extension serve` in a theme app extension project
63
85
 
64
- Version 2.1.0
65
- -------------
66
- * [#1357](https://github.com/Shopify/shopify-cli/pull/1357): Update Theme-Check to 1.1
86
+ ## Version 2.1.0
87
+ * [#1357](https//github.com/Shopify/shopify-cli/pull/1357): Update Theme-Check to 1.1
67
88
  * [#1352](https://github.com/Shopify/shopify-cli/pull/1352): Add `shopify extension check` for checking theme app extensions
68
89
  * [#1304](https://github.com/Shopify/shopify-cli/pull/1304): Prompt user to run `shopify extension connect` if .env file is missing
69
90
 
70
- Version 2.0.2
71
- -------------
72
- * [#1305](https://github.com/Shopify/shopify-cli/pull/1305): Fix `Uninitialized constant Net::WriteTimeout` error
91
+ ## Version 2.0.2
92
+ * [#1305](https//github.com/Shopify/shopify-cli/pull/1305): Fix `Uninitialized constant Net::WriteTimeout` error
73
93
  * [#1319](https://github.com/Shopify/shopify-cli/pull/1319): Fix `theme pull` not pulling some files
74
94
  * [#1321](https://github.com/Shopify/shopify-cli/pull/1321): Fix error when pulling images with `theme pull`
75
95
  * [#1322](https://github.com/Shopify/shopify-cli/pull/1322): Fix error when running `shopify theme language-server --help`
76
96
  * [#1324](https://github.com/Shopify/shopify-cli/pull/1324): Fix issue [#1308](https://github.com/Shopify/shopify-cli/issues/1308) where a non-English language on Partner Account breaks how CLI determines latest API version.
77
97
  * [#1343](https://github.com/Shopify/shopify-cli/pull/1343): Fix inconsistent use of periods vs ellipsis in messages. This replaces periods with ellipsis.
78
98
 
79
- Version 2.0.1
80
- -------------
81
- * [#1295](https://github.com/Shopify/shopify-cli/pull/1295): Ignore files at the root of a theme app extension project
99
+ ## Version 2.0.1
100
+ * [#1295](https//github.com/Shopify/shopify-cli/pull/1295): Ignore files at the root of a theme app extension project
82
101
  * [#1296](https://github.com/Shopify/shopify-cli/pull/1296): Fix issue [#1294](https://github.com/Shopify/shopify-cli/issues/1294) regarding call to Windows `start` command with URL.
83
102
  * [#1298](https://github.com/Shopify/shopify-cli/pull/1298): Fix error in `theme serve` command
84
103
  * [#1301](https://github.com/Shopify/shopify-cli/pull/1301): Add `theme init` command
85
104
 
86
- Version 2.0.0
87
- -------------
88
- * Adds support for theme development
105
+ ## Version 2.0.0
106
+ * Adds support or theme development
89
107
  * Changes to command structure (note that these are breaking changes, see [README](README.md))
90
108
  * Checkout the [apps](https://shopify.dev/apps/tools/cli) and [themes](https://shopify.dev/themes/tools/cli) sections of the new [shopify.dev](https://shopify.dev) after Unite 2021 (June 29).
91
109
 
92
- Version 1.14.0
93
- --------------
110
+ ## Version 1.14.0
94
111
  * [#1275](https://github.com/Shopify/shopify-cli/pull/1275): Use script.json to specify script metadata
95
112
  * [#1279](https://github.com/Shopify/shopify-cli/pull/1279): Fix bug where a script push still fails after the user answers the force push prompt
96
113
  * [#1288](https://github.com/Shopify/shopify-cli/pull/1288): Fix bug where Scripts SDK was included for projects that don't require it
97
114
 
98
- Version 1.13.1
99
- --------------
115
+ ## Version 1.13.1
100
116
  * [#1274](https://github.com/Shopify/shopify-cli/pull/1274): Only print api_key during error if it exists
101
117
  * [#1272](https://github.com/Shopify/shopify-cli/pull/1272): Fix minor bug with extension serve for UI extensions
102
118
 
103
- Version 1.13.0
104
- --------------
105
-
119
+ ## Version 1.13.0
106
120
  * [#1266](https://github.com/Shopify/shopify-cli/pull/1266): Developer Console release
107
121
  * [#1265](https://github.com/Shopify/shopify-cli/pull/1265): Fix bug where commands hang after an unsuccessful authentication
108
122
 
109
- Version 1.12.0
110
- --------------
123
+ ## Version 1.12.0
111
124
  * [#1255](https://github.com/Shopify/shopify-cli/pull/1255): Fix beta flag checks when running `shopify serve`
112
125
 
113
- Version 1.11.0
114
- --------------
126
+ ## Version 1.11.0
115
127
  * [#1221](https://github.com/Shopify/shopify-cli/pull/1221): Prioritizes returning an HTTPS URL over HTTP from `shopify tunnel status`.
116
128
  * [#1223](https://github.com/Shopify/shopify-cli/pull/1233): Running `shopify serve` in an extension project now automatically runs `shopify tunnel`.
117
129
  * [#1225](https://github.com/Shopify/shopify-cli/pull/1225): Improved handling of "account not found" scenario, plus improvements to related tests and UX messaging
@@ -119,60 +131,52 @@ Version 1.11.0
119
131
  * [#1238](https://github.com/Shopify/shopify-cli/pull/1238): Auto Tunnel Support for Checkout Extension
120
132
  * [#1256](https://github.com/Shopify/shopify-cli/pull/1256): Allow using spaces around the equal sign on .env file.
121
133
 
122
- Version 1.10.0
123
- --------------
134
+ ## Version 1.10.0
124
135
  * Updating internal features in development
125
136
 
126
- Version 1.9.1
127
- -------------
137
+ ## Version 1.9.1
128
138
  * [#1201](https://github.com/Shopify/shopify-cli/pull/1201) Determine Argo Renderer Dynamically. This fixes `shopify serve` and `shopify push` for extensions.
129
139
 
130
- Version 1.9.0
131
- -------------
140
+ ## Version 1.9.0
132
141
  * [#1181](https://github.com/Shopify/shopify-cli/pull/1181): Remove the subcommand references of the `generate` command for node apps (fixes [1176](https://github.com/Shopify/shopify-cli/issues/1176))
133
142
 
134
- Version 1.8.0
135
- -------------
143
+ ## Version 1.8.0
136
144
  * [#1119](https://github.com/Shopify/shopify-cli/pull/1119): Enable guest serialization for scripts
137
145
 
138
- Version 1.7.1
139
- ------
146
+ ## Version 1.7.1
147
+
140
148
  * Updating internal features in development
141
149
 
142
- Version 1.7.0
143
- -----
150
+ ## Version 1.7.0
144
151
  * [#1109](https://github.com/Shopify/shopify-cli/pull/1109): Abort app generation if name contains disallowed text.
145
152
  * [#1075](https://github.com/Shopify/shopify-cli/pull/1075): Add support for kebab-case flags
146
153
 
147
- Version 1.6.0
148
- -----
154
+ ## Version 1.6.0
149
155
  * [#1049](https://github.com/Shopify/shopify-cli/pull/1049): Add schema versioning support to the script project type
150
156
  * [#1059](https://github.com/Shopify/shopify-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
151
157
  * [#1046](https://github.com/Shopify/shopify-cli/pull/1046): Include a vendored copy of Webrick, as it's no longer included in Ruby 3.
152
158
  * [#1041](https://github.com/Shopify/shopify-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.
153
159
  * [#1034](https://github.com/Shopify/shopify-cli/pull/1034): Abort if a system call fails.
154
160
 
155
- Version 1.5.0
156
- -----
161
+ ## Version 1.5.0
157
162
  * [#965](https://github.com/Shopify/shopify-cli/pull/965): Remove --no-optional when using npm to create new project
158
163
  * [#958](https://github.com/Shopify/shopify-cli/pull/958): Split `connect` command into project-specific functionality
159
164
  * [#992](https://github.com/Shopify/shopify-cli/pull/992): Add Theme Kit functionality to CLI
160
165
 
161
- Version 1.4.1
162
- ------
166
+ ## Version 1.4.1
167
+
163
168
  * [#917](https://github.com/Shopify/shopify-cli/pull/917): Ensure analytics for create action includes the same fields as other commands
164
169
 
165
- Version 1.4.0
166
- ------
170
+ ## Version 1.4.0
171
+
167
172
  * Updates to tests, dependencies and internal tooling
168
173
  * [#924](https://github.com/Shopify/shopify-cli/pull/924): Improve debugging messages on Partner API errors
169
174
 
170
- Version 1.3.1
171
- ------
175
+ ## Version 1.3.1
176
+
172
177
  * Allow any characters in ngrok account names
173
178
 
174
- Version 1.3.0
175
- ------
179
+ ## Version 1.3.0
176
180
  * Support for new `shopify config analytics` command to enable/disable anonymous usage reporting
177
181
 
178
182
  Version 1.2.0
@@ -187,49 +191,39 @@ Version 1.1.1
187
191
  ------
188
192
  * Fix a bug where usernames with spaces caused issues on Windows
189
193
 
190
- Version 1.1.0
191
- ------
194
+ ## Version 1.1.0
192
195
  * Add native Windows 10 support, including variety of stability fixes.
193
196
 
194
- Version 1.0.5
195
- ------
197
+ ## Version 1.0.5
196
198
  * Fix a bug in out opt-in metrics
197
199
 
198
- Version 1.0.4
199
- ------
200
+ ## Version 1.0.4
200
201
  * Fix a bug when running the `connect` command with an account with multiple organizations
201
202
 
202
- Version 1.0.3
203
- ------
203
+ ## Version 1.0.3
204
204
  * Fix a bug which causes an error in the `populate` and `generate` commands when prompting for the shop name
205
205
 
206
- Version 1.0.2
207
- ------
206
+ ## Version 1.0.2
208
207
  * Fix missing shop parameter to AdminAPI.query() call (impacting populate and generate commands)
209
208
 
210
- Version 1.0.1
211
- ------
209
+ ## Version 1.0.1
212
210
  * Fixed an issue with RVM taking over the shell shim fd when it was not in use
213
211
 
214
- Version 1.0.0
215
- ------
212
+ ## Version 1.0.0
216
213
  * Release the installer-based version of the CLI
217
214
 
218
- Version 0.9.3 - Internal Test Version
219
- ------
215
+ ## Version 0.9.3 - Internal Test Version
220
216
  * Rebased to master
221
217
  * Removed auto-generated files from builds directory
222
218
 
223
- Version 0.9.2 - Internal Test Version
224
- ------
219
+ ## Version 0.9.2 - Internal Test Version
225
220
  * Rebased to master, to pull in 7+ Pull Requests
226
221
  * Updates to dependencies to package files (updated Ruby version)
227
222
 
228
- Version 0.9.1 - Internal Test Version
229
- ------
223
+ ## Version 0.9.1 - Internal Test Version
230
224
  * Updated required Ruby version for the CLI
231
225
  * Minor fixes for the build / release process
232
226
 
233
- Version 0.9.0 - Internal Test Version
234
- ------
227
+ ## Version 0.9.0 - Internal Test Version
228
+
235
229
  * Initial test release of gem-based CLI
data/CONTRIBUTING.md CHANGED
@@ -1,23 +1,3 @@
1
1
  # Contributing
2
2
 
3
- This documents includes guidelines for contributors.
4
-
5
- ## Testing
6
-
7
- The project employs a diverse suite tests that help ensure it works as intended and prevents regressions as it continues to grow and evolve.
8
-
9
- ### Unit Tests
10
- Most of the internal components the project uses have unit tests to thoroughly test them. Here dependencies of components are mocked or stubbed appropriately to ensure tests are reliable, test only one component and are fast!
11
-
12
- ### Acceptance Tests
13
-
14
- Acceptance tests run the built `shopify` command line against a wide range of fixtures and verify its output and results. They are the slowest to run however provide the most coverage. The idea is to test a few complete scenarios for each major feature.
15
-
16
- Those are written in [Cucumber](https://cucumber.io/) and Ruby and can be found in the [`features/`](/features) directory. They can be executed by running
17
-
18
- ```bash
19
- bundle exec cucumber
20
- bundle exec cucumber features/theme.feature:3 # A specific test
21
- ```
22
-
23
- > **Note** that we currently don't have an approach for stubbing the interactions with the GraphQL APIs and that therefore we can't write acceptance tests for commands that interact with APIs.
3
+ Check out the [contributors' documentation](/docs)
@@ -0,0 +1,35 @@
1
+ # This is a Docker image to test the CLI in UNIX environments other than macOS
2
+ # Build the image: docker build . -t shopify-cli
3
+ # Run tests: docker run -t --rm --volume "$(pwd):/usr/src/app" shopify-cli bundle exec rake test
4
+ FROM cimg/ruby:2.7.1
5
+
6
+ RUN git config --global user.email "development-lifecycle@shopify.com"
7
+ RUN git config --global user.name "Development Lifecycle"
8
+
9
+ RUN gem update bundler
10
+
11
+ WORKDIR /usr/src/app
12
+
13
+ COPY Gemfile Gemfile.lock ./
14
+ COPY shopify-cli.gemspec shopify-cli.gemspec
15
+ COPY lib/shopify_cli/version.rb lib/shopify_cli/version.rb
16
+ RUN bundle install
17
+
18
+ # Update git
19
+ RUN sudo add-apt-repository -y ppa:git-core/ppa
20
+ RUN sudo apt-get update
21
+ RUN sudo apt-get install git -y
22
+
23
+ # Install the latest version of NodeJS
24
+ RUN sudo apt-get install ca-certificates -y
25
+ RUN curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -
26
+ RUN sudo apt-get install -y nodejs
27
+
28
+ # Install the latest version of Yarn
29
+ RUN sudo npm install --global yarn
30
+
31
+ # Python is necessary to compile NPM packages with native extensions through node-gyp
32
+ RUN sudo apt install python-minimal -y
33
+
34
+ # Install sqlite3
35
+ RUN sudo apt-get install libsqlite3-dev -y
data/Gemfile CHANGED
@@ -13,6 +13,8 @@ group :development, :test do
13
13
  gem "rubocop-shopify", require: false
14
14
  gem "rubocop-minitest", require: false
15
15
  gem "rubocop-rake", require: false
16
+ gem "iniparse", "~> 1.5"
17
+ gem "colorize", "~> 0.8.1"
16
18
  end
17
19
 
18
20
  group :test do
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shopify-cli (2.6.3)
4
+ shopify-cli (2.7.0)
5
5
  bugsnag (~> 6.22)
6
6
  listen (~> 3.7.0)
7
- theme-check (~> 1.7)
7
+ theme-check (~> 1.8.0)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
@@ -18,6 +18,7 @@ GEM
18
18
  builder (3.2.4)
19
19
  byebug (11.1.3)
20
20
  coderay (1.1.3)
21
+ colorize (0.8.1)
21
22
  concurrent-ruby (1.1.9)
22
23
  crack (0.4.5)
23
24
  rexml
@@ -56,6 +57,7 @@ GEM
56
57
  fakefs (1.3.2)
57
58
  ffi (1.15.4)
58
59
  hashdiff (1.0.1)
60
+ iniparse (1.5.0)
59
61
  liquid (5.1.0)
60
62
  listen (3.7.0)
61
63
  rb-fsevent (~> 0.10, >= 0.10.3)
@@ -88,7 +90,7 @@ GEM
88
90
  byebug (~> 11.0)
89
91
  pry (~> 0.13.0)
90
92
  public_suffix (4.0.6)
91
- racc (1.5.2)
93
+ racc (1.6.0)
92
94
  rack (2.2.3)
93
95
  rainbow (3.0.0)
94
96
  rake (13.0.6)
@@ -117,7 +119,7 @@ GEM
117
119
  ruby-progressbar (1.11.0)
118
120
  sys-uname (1.2.2)
119
121
  ffi (~> 1.1)
120
- theme-check (1.7.2)
122
+ theme-check (1.8.0)
121
123
  liquid (>= 5.1.0)
122
124
  nokogiri (>= 1.12)
123
125
  parser (~> 3)
@@ -134,8 +136,10 @@ PLATFORMS
134
136
  DEPENDENCIES
135
137
  bundler (~> 2.2.2)
136
138
  byebug
139
+ colorize (~> 0.8.1)
137
140
  cucumber (~> 7.0)
138
141
  fakefs (>= 1.0)
142
+ iniparse (~> 1.5)
139
143
  minitest (>= 5.0.0)
140
144
  minitest-fail-fast
141
145
  minitest-reporters
@@ -151,4 +155,4 @@ DEPENDENCIES
151
155
  webmock
152
156
 
153
157
  BUNDLED WITH
154
- 2.2.22
158
+ 2.2.29