shopify-cli 1.3.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) 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/.gitignore +0 -1
  8. data/.rubocop.yml +61 -8
  9. data/.rubocop_todo.yml +11 -0
  10. data/.travis.yml +1 -0
  11. data/CHANGELOG.md +30 -0
  12. data/Gemfile +3 -2
  13. data/Gemfile.lock +39 -37
  14. data/README.md +39 -7
  15. data/RELEASING.md +19 -29
  16. data/Rakefile +2 -0
  17. data/dev.yml +2 -2
  18. data/docs/_config.yml +1 -18
  19. data/docs/app/node/commands/index.md +2 -80
  20. data/docs/app/node/index.md +2 -33
  21. data/docs/app/rails/commands/index.md +2 -78
  22. data/docs/app/rails/index.md +2 -34
  23. data/docs/core/index.md +2 -84
  24. data/docs/getting-started/index.md +2 -25
  25. data/docs/getting-started/install/index.md +1 -118
  26. data/docs/getting-started/migrate/index.md +2 -94
  27. data/docs/getting-started/uninstall/index.md +2 -35
  28. data/docs/getting-started/upgrade/index.md +2 -39
  29. data/docs/help/start-app/index.md +2 -4
  30. data/docs/index.md +2 -24
  31. data/install.sh +1 -1
  32. data/lib/project_types/extension/cli.rb +21 -11
  33. data/lib/project_types/extension/commands/extension_command.rb +2 -2
  34. data/lib/project_types/extension/features/argo.rb +117 -0
  35. data/lib/project_types/extension/forms/create.rb +2 -2
  36. data/lib/project_types/extension/models/specification.rb +35 -0
  37. data/lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb +19 -0
  38. data/lib/project_types/extension/models/specification_handlers/default.rb +67 -0
  39. data/lib/project_types/extension/models/specifications.rb +77 -0
  40. data/lib/project_types/extension/tasks/configure_features.rb +52 -0
  41. data/lib/project_types/extension/tasks/fetch_specifications.rb +38 -0
  42. data/lib/project_types/node/cli.rb +4 -1
  43. data/lib/project_types/node/commands/connect.rb +15 -0
  44. data/lib/project_types/node/commands/create.rb +10 -4
  45. data/lib/project_types/node/commands/generate.rb +2 -11
  46. data/lib/project_types/node/messages/messages.rb +16 -50
  47. data/lib/project_types/rails/cli.rb +4 -1
  48. data/lib/project_types/rails/commands/connect.rb +15 -0
  49. data/lib/project_types/rails/commands/create.rb +15 -12
  50. data/lib/project_types/rails/forms/create.rb +1 -1
  51. data/lib/project_types/rails/gem.rb +1 -1
  52. data/lib/project_types/rails/messages/messages.rb +8 -5
  53. data/lib/project_types/script/cli.rb +9 -5
  54. data/lib/project_types/script/commands/create.rb +6 -4
  55. data/lib/project_types/script/commands/enable.rb +12 -4
  56. data/lib/project_types/script/commands/push.rb +5 -13
  57. data/lib/project_types/script/config/extension_points.yml +17 -12
  58. data/lib/project_types/script/errors.rb +21 -0
  59. data/lib/project_types/script/forms/create.rb +26 -2
  60. data/lib/project_types/script/graphql/app_script_update_or_create.graphql +10 -1
  61. data/lib/project_types/script/layers/application/build_script.rb +18 -17
  62. data/lib/project_types/script/layers/application/create_script.rb +12 -10
  63. data/lib/project_types/script/layers/application/extension_points.rb +24 -0
  64. data/lib/project_types/script/layers/application/push_script.rb +18 -16
  65. data/lib/project_types/script/layers/domain/errors.rb +7 -0
  66. data/lib/project_types/script/layers/domain/extension_point.rb +62 -7
  67. data/lib/project_types/script/layers/domain/metadata.rb +55 -0
  68. data/lib/project_types/script/layers/domain/push_package.rb +25 -6
  69. data/lib/project_types/script/layers/infrastructure/assemblyscript_project_creator.rb +17 -52
  70. data/lib/project_types/script/layers/infrastructure/assemblyscript_task_runner.rb +42 -11
  71. data/lib/project_types/script/layers/infrastructure/errors.rb +16 -0
  72. data/lib/project_types/script/layers/infrastructure/extension_point_repository.rb +10 -4
  73. data/lib/project_types/script/layers/infrastructure/project_creator.rb +2 -1
  74. data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +25 -13
  75. data/lib/project_types/script/layers/infrastructure/rust_project_creator.rb +72 -0
  76. data/lib/project_types/script/layers/infrastructure/rust_task_runner.rb +59 -0
  77. data/lib/project_types/script/layers/infrastructure/script_service.rb +9 -1
  78. data/lib/project_types/script/layers/infrastructure/task_runner.rb +4 -3
  79. data/lib/project_types/script/messages/messages.rb +55 -4
  80. data/lib/project_types/script/script_project.rb +25 -16
  81. data/lib/project_types/script/ui/error_handler.rb +59 -1
  82. data/lib/project_types/theme/cli.rb +40 -0
  83. data/lib/project_types/theme/commands/connect.rb +54 -0
  84. data/lib/project_types/theme/commands/create.rb +48 -0
  85. data/lib/project_types/theme/commands/deploy.rb +38 -0
  86. data/lib/project_types/theme/commands/generate.rb +20 -0
  87. data/lib/project_types/theme/commands/generate/env.rb +79 -0
  88. data/lib/project_types/theme/commands/push.rb +55 -0
  89. data/lib/project_types/theme/commands/serve.rb +31 -0
  90. data/lib/project_types/theme/forms/connect.rb +34 -0
  91. data/lib/project_types/theme/forms/create.rb +22 -0
  92. data/lib/project_types/theme/messages/messages.rb +147 -0
  93. data/lib/project_types/theme/tasks/ensure_themekit_installed.rb +78 -0
  94. data/lib/project_types/theme/themekit.rb +113 -0
  95. data/lib/shopify-cli/admin_api.rb +42 -2
  96. data/lib/shopify-cli/api.rb +34 -33
  97. data/lib/shopify-cli/commands/config.rb +24 -0
  98. data/lib/shopify-cli/commands/connect.rb +32 -15
  99. data/lib/shopify-cli/commands/system.rb +10 -1
  100. data/lib/shopify-cli/context.rb +23 -2
  101. data/lib/shopify-cli/core/entry_point.rb +1 -1
  102. data/lib/shopify-cli/core/monorail.rb +6 -4
  103. data/lib/shopify-cli/feature.rb +0 -2
  104. data/lib/shopify-cli/http_request.rb +27 -0
  105. data/lib/shopify-cli/js_deps.rb +1 -1
  106. data/lib/shopify-cli/messages/messages.rb +31 -7
  107. data/lib/shopify-cli/method_object.rb +104 -0
  108. data/lib/shopify-cli/partners_api.rb +25 -3
  109. data/lib/shopify-cli/process_supervision.rb +1 -1
  110. data/lib/shopify-cli/project.rb +12 -8
  111. data/lib/shopify-cli/project_type.rb +18 -2
  112. data/lib/shopify-cli/resolve_constant.rb +25 -0
  113. data/lib/shopify-cli/result.rb +432 -0
  114. data/lib/shopify-cli/shopifolk.rb +87 -0
  115. data/lib/shopify-cli/task.rb +8 -0
  116. data/lib/shopify-cli/tasks/create_api_client.rb +13 -2
  117. data/lib/shopify-cli/tasks/ensure_env.rb +3 -0
  118. data/lib/shopify-cli/tasks/select_org_and_shop.rb +10 -5
  119. data/lib/shopify-cli/tunnel.rb +8 -2
  120. data/lib/shopify-cli/version.rb +1 -1
  121. data/lib/shopify_cli.rb +5 -1
  122. data/shopify.fish +1 -1
  123. data/shopify.sh +1 -1
  124. data/vendor/deps/cli-kit/REVISION +1 -1
  125. data/vendor/deps/cli-kit/lib/cli/kit/logger.rb +2 -2
  126. data/vendor/deps/cli-kit/lib/cli/kit/system.rb +3 -3
  127. data/vendor/deps/cli-ui/REVISION +1 -1
  128. data/vendor/deps/cli-ui/lib/cli/ui.rb +26 -22
  129. data/vendor/deps/cli-ui/lib/cli/ui/ansi.rb +4 -6
  130. data/vendor/deps/cli-ui/lib/cli/ui/frame.rb +3 -3
  131. data/vendor/deps/cli-ui/lib/cli/ui/frame/frame_stack.rb +8 -9
  132. data/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style.rb +1 -1
  133. data/vendor/deps/cli-ui/lib/cli/ui/glyph.rb +1 -0
  134. data/vendor/deps/cli-ui/lib/cli/ui/printer.rb +15 -3
  135. data/vendor/deps/cli-ui/lib/cli/ui/prompt/interactive_options.rb +4 -11
  136. data/vendor/deps/cli-ui/lib/cli/ui/spinner.rb +3 -5
  137. data/vendor/deps/cli-ui/lib/cli/ui/terminal.rb +10 -10
  138. data/vendor/deps/cli-ui/lib/cli/ui/version.rb +1 -1
  139. data/vendor/deps/cli-ui/lib/cli/ui/wrap.rb +56 -0
  140. data/vendor/deps/webrick/.gitignore +9 -0
  141. data/vendor/deps/webrick/Gemfile +3 -0
  142. data/vendor/deps/webrick/LICENSE.txt +22 -0
  143. data/vendor/deps/webrick/README.md +61 -0
  144. data/vendor/deps/webrick/Rakefile +10 -0
  145. data/vendor/deps/webrick/lib/webrick.rb +232 -0
  146. data/vendor/deps/webrick/lib/webrick/accesslog.rb +157 -0
  147. data/vendor/deps/webrick/lib/webrick/cgi.rb +313 -0
  148. data/vendor/deps/webrick/lib/webrick/compat.rb +36 -0
  149. data/vendor/deps/webrick/lib/webrick/config.rb +158 -0
  150. data/vendor/deps/webrick/lib/webrick/cookie.rb +172 -0
  151. data/vendor/deps/webrick/lib/webrick/htmlutils.rb +30 -0
  152. data/vendor/deps/webrick/lib/webrick/httpauth.rb +96 -0
  153. data/vendor/deps/webrick/lib/webrick/httpauth/authenticator.rb +117 -0
  154. data/vendor/deps/webrick/lib/webrick/httpauth/basicauth.rb +116 -0
  155. data/vendor/deps/webrick/lib/webrick/httpauth/digestauth.rb +395 -0
  156. data/vendor/deps/webrick/lib/webrick/httpauth/htdigest.rb +132 -0
  157. data/vendor/deps/webrick/lib/webrick/httpauth/htgroup.rb +97 -0
  158. data/vendor/deps/webrick/lib/webrick/httpauth/htpasswd.rb +158 -0
  159. data/vendor/deps/webrick/lib/webrick/httpauth/userdb.rb +53 -0
  160. data/vendor/deps/webrick/lib/webrick/httpproxy.rb +354 -0
  161. data/vendor/deps/webrick/lib/webrick/httprequest.rb +636 -0
  162. data/vendor/deps/webrick/lib/webrick/httpresponse.rb +564 -0
  163. data/vendor/deps/webrick/lib/webrick/https.rb +152 -0
  164. data/vendor/deps/webrick/lib/webrick/httpserver.rb +294 -0
  165. data/vendor/deps/webrick/lib/webrick/httpservlet.rb +23 -0
  166. data/vendor/deps/webrick/lib/webrick/httpservlet/abstract.rb +152 -0
  167. data/vendor/deps/webrick/lib/webrick/httpservlet/cgi_runner.rb +47 -0
  168. data/vendor/deps/webrick/lib/webrick/httpservlet/cgihandler.rb +126 -0
  169. data/vendor/deps/webrick/lib/webrick/httpservlet/erbhandler.rb +88 -0
  170. data/vendor/deps/webrick/lib/webrick/httpservlet/filehandler.rb +552 -0
  171. data/vendor/deps/webrick/lib/webrick/httpservlet/prochandler.rb +47 -0
  172. data/vendor/deps/webrick/lib/webrick/httpstatus.rb +194 -0
  173. data/vendor/deps/webrick/lib/webrick/httputils.rb +512 -0
  174. data/vendor/deps/webrick/lib/webrick/httpversion.rb +76 -0
  175. data/vendor/deps/webrick/lib/webrick/log.rb +156 -0
  176. data/vendor/deps/webrick/lib/webrick/server.rb +381 -0
  177. data/vendor/deps/webrick/lib/webrick/ssl.rb +215 -0
  178. data/vendor/deps/webrick/lib/webrick/utils.rb +265 -0
  179. data/vendor/deps/webrick/lib/webrick/version.rb +18 -0
  180. data/vendor/deps/webrick/webrick.gemspec +74 -0
  181. metadata +77 -27
  182. data/docs/Gemfile +0 -5
  183. data/docs/Gemfile.lock +0 -258
  184. data/docs/_data/nav.yml +0 -35
  185. data/docs/_includes/footer.html +0 -15
  186. data/docs/_includes/head.html +0 -19
  187. data/docs/_includes/sidebar_nav.html +0 -22
  188. data/docs/_includes/toc.html +0 -112
  189. data/docs/_layouts/default.html +0 -79
  190. data/docs/css/docs.css +0 -157
  191. data/docs/images/header.png +0 -0
  192. data/docs/installing-ruby.md +0 -28
  193. data/lib/project_types/extension/features/argo/admin.rb +0 -20
  194. data/lib/project_types/extension/features/argo/base.rb +0 -129
  195. data/lib/project_types/extension/features/argo/checkout.rb +0 -20
  196. data/lib/project_types/extension/models/type.rb +0 -81
  197. data/lib/project_types/extension/models/types/checkout_post_purchase.rb +0 -23
  198. data/lib/project_types/extension/models/types/product_subscription.rb +0 -24
  199. data/lib/project_types/node/commands/generate/billing.rb +0 -39
  200. data/lib/project_types/node/commands/generate/page.rb +0 -59
  201. data/lib/project_types/node/commands/generate/webhook.rb +0 -37
  202. data/lib/project_types/script/layers/domain/script.rb +0 -18
  203. data/lib/project_types/script/layers/infrastructure/assemblyscript_tsconfig.rb +0 -38
  204. data/lib/project_types/script/layers/infrastructure/script_repository.rb +0 -59
  205. data/lib/project_types/script/templates/ts/as-pect.config.js +0 -27
  206. 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: 453f515f6f175bcc507b9a967880660da88455a97fc4ac593e5526ce6d410b0d
4
- data.tar.gz: 134e8f9fc243aaad0eee527c37784680fef10ad2b53ab6d5787965a026457772
3
+ metadata.gz: 51b21780f8f46054f92124110152a903c94a6215436b73b5dce40c8ad7b072cc
4
+ data.tar.gz: 2884ba67316188cd05ae6b8cd3e7927a7dc8d99936fd328eed6a2480452eec4b
5
5
  SHA512:
6
- metadata.gz: 950380758e1d7babd1db489718f7487c6511f8d72dc26e3e894d1779c8097303ed58cb308d8db8db3ed136fd0e659af96ed06fdeff2191af8afca1e85cd68921
7
- data.tar.gz: e3ed02e945e4211f529b2aae0c1caa6de6c39947adcf91cdd99c0ddf641e930abbd994a0f5bf918eb6f37c0142e69de477c0062985e565a25480856beaf70dd0
6
+ metadata.gz: 8e1f3f1911ab79b7dc725236249219a0f5aff3703ed82f243cf2235621e1e45aef7c77e2fd06c2360a436c7601d344e4e01f0795eff53d519a2a992079825847
7
+ data.tar.gz: cc1c2de1b2bc5f624c0e249d4b7b8f0a58bd72ab164e02914b9ace0d6d542bbc6aa8d3a67387ce45060aa5fcc44ef5aed5fc4bed2ce8a67bb53bd7d65c03f608
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/.gitignore CHANGED
@@ -1,4 +1,3 @@
1
- .rubocop-*
2
1
  .tmp/*
3
2
  .bundle/*
4
3
  .DS_Store
data/.rubocop.yml CHANGED
@@ -1,5 +1,43 @@
1
- inherit_from:
2
- - https://shopify.github.io/ruby-style-guide/rubocop-cli.yml
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ require: rubocop-minitest
4
+
5
+ inherit_gem:
6
+ rubocop-shopify:
7
+ - rubocop-cli.yml
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
3
41
 
4
42
  AllCops:
5
43
  Exclude:
@@ -13,6 +51,9 @@ Layout/EmptyLines:
13
51
  # Need extra line so comment at top isnt registered to the Dev namespace
14
52
  - 'lib/dev/helpers/chruby_reset.rb'
15
53
 
54
+ Layout/EmptyLineBetweenDefs:
55
+ AllowAdjacentOneLineDefs: true
56
+
16
57
  # Changing this could effect the way the content is rendered.
17
58
  Layout/HeredocIndentation:
18
59
  Exclude:
@@ -36,12 +77,24 @@ Style/RegexpLiteral:
36
77
 
37
78
  Style/MethodCallWithArgsParentheses:
38
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
39
91
  - require
40
- - require_relative
41
92
  - require_dependency
93
+ - require_relative
42
94
  - yield
43
- - raise
44
- - puts
45
- - assert_equal
46
- - assert
47
- - refute
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 ADDED
@@ -0,0 +1,11 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2020-12-01 16:33:09 UTC using RuboCop version 1.4.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
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,3 +1,33 @@
1
+ Unreleased
2
+ ------
3
+
4
+ Version 1.6.0
5
+ -----
6
+ * [#1049](https://github.com/Shopify/shopify-app-cli/pull/1049): Add schema versioning support to the script project type
7
+ * [#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
8
+ * [#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.
9
+ * [#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.
10
+ * [#1034](https://github.com/Shopify/shopify-app-cli/pull/1034): Abort if a system call fails.
11
+
12
+ Version 1.5.0
13
+ -----
14
+ * [#965](https://github.com/Shopify/shopify-app-cli/pull/965): Remove --no-optional when using npm to create new project
15
+ * [#958](https://github.com/Shopify/shopify-app-cli/pull/958): Split `connect` command into project-specific functionality
16
+ * [#992](https://github.com/Shopify/shopify-app-cli/pull/992): Add Theme Kit functionality to CLI
17
+
18
+ Version 1.4.1
19
+ ------
20
+ * [#917](https://github.com/Shopify/shopify-app-cli/pull/917): Ensure analytics for create action includes the same fields as other commands
21
+
22
+ Version 1.4.0
23
+ ------
24
+ * Updates to tests, dependencies and internal tooling
25
+ * [#924](https://github.com/Shopify/shopify-app-cli/pull/924): Improve debugging messages on Partner API errors
26
+
27
+ Version 1.3.1
28
+ ------
29
+ * Allow any characters in ngrok account names
30
+
1
31
  Version 1.3.0
2
32
  ------
3
33
  * Support for new `shopify config analytics` command to enable/disable anonymous usage reporting
data/Gemfile CHANGED
@@ -8,14 +8,15 @@ group :development, :test do
8
8
  gem 'rake'
9
9
  gem 'pry-byebug'
10
10
  gem 'byebug'
11
- gem 'rubocop'
11
+ gem 'rubocop-shopify', require: false
12
+ gem 'rubocop-minitest', require: false
12
13
  end
13
14
 
14
15
  group :test do
15
- gem 'session'
16
16
  gem 'mocha', require: false
17
17
  gem 'minitest', '>= 5.0.0', require: false
18
18
  gem 'minitest-reporters', require: false
19
+ gem 'minitest-fail-fast', require: false
19
20
  gem 'fakefs', '>= 1.0', require: false
20
21
  gem 'webmock', require: false
21
22
  gem 'timecop', require: false
data/Gemfile.lock CHANGED
@@ -1,61 +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)
26
- parser (2.7.1.4)
23
+ mocha (1.11.2)
24
+ parallel (1.20.1)
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
- regexp_parser (1.7.1)
36
+ regexp_parser (1.8.2)
38
37
  rexml (3.2.4)
39
- rubocop (0.89.1)
38
+ rubocop (1.4.1)
40
39
  parallel (~> 1.10)
41
- parser (>= 2.7.1.1)
40
+ parser (>= 2.7.1.5)
42
41
  rainbow (>= 2.2.2, < 4.0)
43
- regexp_parser (>= 1.7)
42
+ regexp_parser (>= 1.8)
44
43
  rexml
45
- rubocop-ast (>= 0.3.0, < 1.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.3.0)
49
- parser (>= 2.7.1.4)
47
+ rubocop-ast (1.1.1)
48
+ parser (>= 2.7.1.5)
49
+ rubocop-minitest (0.10.1)
50
+ rubocop (>= 0.87)
51
+ rubocop-shopify (1.0.7)
52
+ rubocop (~> 1.4)
50
53
  ruby-progressbar (1.10.1)
51
- safe_yaml (1.0.4)
52
- session (3.2.0)
53
- timecop (0.9.1)
54
+ timecop (0.9.2)
54
55
  unicode-display_width (1.7.0)
55
- webmock (2.3.2)
56
+ webmock (3.9.3)
56
57
  addressable (>= 2.3.6)
57
58
  crack (>= 0.3.2)
58
- hashdiff
59
+ hashdiff (>= 0.4.0, < 2.0.0)
59
60
 
60
61
  PLATFORMS
61
62
  ruby
@@ -64,12 +65,13 @@ DEPENDENCIES
64
65
  byebug
65
66
  fakefs (>= 1.0)
66
67
  minitest (>= 5.0.0)
68
+ minitest-fail-fast
67
69
  minitest-reporters
68
70
  mocha
69
71
  pry-byebug
70
72
  rake
71
- rubocop
72
- session
73
+ rubocop-minitest
74
+ rubocop-shopify
73
75
  timecop
74
76
  webmock
75
77
 
data/README.md CHANGED
@@ -1,13 +1,45 @@
1
- # Shopify App CLI
1
+ # [Shopify App CLI](https://shopify.dev/tools/cli)
2
2
 
3
3
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE.md)[![Build Status](https://travis-ci.com/Shopify/shopify-app-cli.svg?token=qtPazgjyosjEEgxgq7VZ&branch=master)](https://travis-ci.com/Shopify/shopify-app-cli)
4
4
 
5
- Shopify App CLI helps you build Shopify apps faster. It automates many common tasks in the development process and lets you quickly add popular features, such as billing and webhooks.
5
+ Shopify App CLI helps you build Shopify apps faster. It quickly generates Node.js and Ruby on Rails apps and automates many common development tasks.
6
6
 
7
- ## Using the CLI
8
- Consult the [Shopify App CLI documentation](https://shopify.github.io/shopify-app-cli) to get started.
7
+ ## Features
9
8
 
10
- ## Developing the CLI
11
- This is an [open-source](https://github.com/Shopify/shopify-app-cli/blob/master/.github/LICENSE.md) tool and developers are [invited to contribute](https://github.com/Shopify/shopify-app-cli/blob/master/.github/CONTRIBUTING.md) to it. Please check the [code of conduct](https://github.com/Shopify/shopify-app-cli/blob/master/.github/CODE_OF_CONDUCT.md) before you begin.
9
+ Shopify App CLI helps your app development process in the following ways:
12
10
 
13
- [Read the development guide](https://github.com/Shopify/shopify-app-cli/wiki) to learn more.
11
+ - Creates an app in the [Partner dashboard](https://partners.shopify.com/current/resources)
12
+ - Populates test data for your app, including products, customers, and draft orders
13
+ - Generates new [webhooks](https://shopify.dev/tutorials/manage-webhooks) for your app
14
+ - Deploys your app to an external platform, such as [Heroku](https://www.heroku.com/)
15
+
16
+ ## Installation
17
+
18
+ Refer to [*Install Shopify App CLI*](https://shopify.dev/tools/cli/installation) to learn how to install Shopify App CLI on Windows, macOS, or Linux.
19
+
20
+ ## Getting started
21
+
22
+ Refer to [*Getting started with Shopify App CLI*](https://shopify.dev/tools/cli/getting-started) to learn how to create and manage different types of projects with Shopify App CLI.
23
+
24
+ ## References
25
+
26
+ - **[Shopify App CLI core commands](https://shopify.dev/tools/cli/reference)** - A complete reference of core commands for Shopify App CLI.
27
+ - **[Node.js app commands](https://shopify.dev/tools/cli/reference/node-app)** - A complete Shopify App CLI command reference for Node.js apps.
28
+ - **[Ruby on Rails app commands](https://shopify.dev/tools/cli/reference/ruby-on-rails-app)** - A complete Shopify App CLI command reference for Ruby on Rails apps.
29
+
30
+ ## Troubleshooting
31
+
32
+ Refer to [*Troubleshooting Shopify App CLI*](https://shopify.dev/tools/cli/troubleshooting) to learn how to upgrade, migrate from a legacy version, and uninstall Shopify App CLI.
33
+
34
+ ## Contributing to Shopify App CLI
35
+
36
+ Shopify App CLI is an [open source](https://github.com/Shopify/shopify-app-cli/blob/master/.github/LICENSE.md) tool and you can [help contribute to the GitHub repository](https://github.com/Shopify/shopify-app-cli/blob/master/.github/CONTRIBUTING.md).
37
+
38
+ ## Developing Shopify App CLI
39
+
40
+ Read the [development guide](https://github.com/Shopify/shopify-app-cli/wiki).
41
+
42
+ ## Where to get help
43
+
44
+ - **[Open a GitHub issue](https://github.com/Shopify/shopify-app-cli/issues)** - To report bugs or request new features, open an issue in the Shopify App CLI repository.
45
+ - **[Shopify Community Forums](https://community.shopify.com/)** - Visit our forums to connect with the community and learn more about Shopify App CLI development.