shopify-cli 2.0.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e891dd1947743de4abbd7ef4e2c7e40a60e313eed78e33e5813c1fbb72369b22
4
- data.tar.gz: 2af5852d53518d1089fabd4420cc6a432bccf99585d935812f8c347d9ad42d45
3
+ metadata.gz: df03f65d3f06543a72fff5a777f93b7948aaa97c5ea10b42039d550cb82c0432
4
+ data.tar.gz: b0741e669b67f6a39e030d7dfb7aa252dcf79ff5b15fd4ad27d543a9ef6347d1
5
5
  SHA512:
6
- metadata.gz: 02fa4e4ed76dc0576474246772e332d7a21d0242807ceb407244a0af8dfe3c21c9e1eced54283a11ed304c0ae74ae81becc040c7f9c0242c9b35e8171f3182a4
7
- data.tar.gz: 5c587408bffbb49a09c087f2810b5b65b754de6fb2c3c8c158996446198817c7e2c0a21143544d7e7bc8ef74e4407fd4389d805ed298432c64656d202745fe86
6
+ metadata.gz: 8ab134a89911c7b4468253efc5798eae0552bcb38099fd8f8aa9aa0a5144efa52cb7cd62d7b4b064b6cf8618ca0dbc7d24572fd2f3e83bb1ffa320bfb7849ab9
7
+ data.tar.gz: 9db58f843181d955b76a7c48af7663b3ab2327b6884c25ffba9a36a4cf5b1b4d184740c42ee7e2dc6ba6eece85785aa15709df8c3d604610e58f2e5a320ba084
data/CHANGELOG.md CHANGED
@@ -1,6 +1,12 @@
1
1
  Unreleased
2
2
  ------
3
3
 
4
+ Version 2.1.0
5
+ -------------
6
+ * [#1357](https://github.com/Shopify/shopify-cli/pull/1357): Update Theme-Check to 1.1
7
+ * [#1352](https://github.com/Shopify/shopify-cli/pull/1352): Add `shopify extension check` for checking theme app extensions
8
+ * [#1304](https://github.com/Shopify/shopify-cli/pull/1304): Prompt user to run `shopify extension connect` if .env file is missing
9
+
4
10
  Version 2.0.2
5
11
  -------------
6
12
  * [#1305](https://github.com/Shopify/shopify-cli/pull/1305): Fix `Uninitialized constant Net::WriteTimeout` error
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shopify-cli (2.0.2)
4
+ shopify-cli (2.1.0)
5
5
  listen (~> 3.5)
6
- theme-check (~> 1.0)
6
+ theme-check (~> 1.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
@@ -76,7 +76,7 @@ GEM
76
76
  rubocop-shopify (2.0.1)
77
77
  rubocop (~> 1.11)
78
78
  ruby-progressbar (1.11.0)
79
- theme-check (1.0.0)
79
+ theme-check (1.1.0)
80
80
  liquid (>= 5.0.1)
81
81
  nokogumbo
82
82
  timecop (0.9.2)
@@ -24,6 +24,7 @@ module Extension
24
24
  subcommand :Serve, "serve", Project.project_filepath("commands/serve")
25
25
  subcommand :Push, "push", Project.project_filepath("commands/push")
26
26
  subcommand :Tunnel, "tunnel", Project.project_filepath("commands/tunnel")
27
+ subcommand :Check, "check", Project.project_filepath("commands/check")
27
28
  end
28
29
  ShopifyCli::Commands.register("Extension::Command", "extension")
29
30
 
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+ require "theme_check"
3
+
4
+ module Extension
5
+ class Command
6
+ class Check < ExtensionCommand
7
+ class CheckOptions < ShopifyCli::Options
8
+ def initialize(ctx, theme_check)
9
+ super()
10
+ @theme_check = theme_check
11
+ @ctx = ctx
12
+ end
13
+
14
+ def parse(_options_block, args)
15
+ # Check if .theme-check.yml exists, or if another -C has been passed on the command line
16
+ unless args.include?("-C") || @ctx.file_exist?(".theme-check.yml")
17
+ args += ["-C", ":theme_app_extension"]
18
+ end
19
+ @theme_check.parse(args)
20
+ end
21
+ end
22
+
23
+ def initialize(*)
24
+ super
25
+ if project.specification_identifier == "THEME_APP_EXTENSION"
26
+ @theme_check = ThemeCheck::Cli.new
27
+ self.options = CheckOptions.new(@ctx, @theme_check)
28
+ end
29
+ end
30
+
31
+ def call(*)
32
+ if project.specification_identifier == "THEME_APP_EXTENSION"
33
+ @theme_check.run
34
+ else
35
+ @ctx.abort(@ctx.message("check.unsupported", project.specification_identifier))
36
+ end
37
+ end
38
+
39
+ def self.help
40
+ ShopifyCli::Context.message("check.help", ShopifyCli::TOOL_NAME)
41
+ end
42
+ end
43
+ end
44
+ end
@@ -49,6 +49,7 @@ module Extension
49
49
  end
50
50
 
51
51
  def app
52
+ validate_env_present
52
53
  Models::App.new(api_key: env["api_key"], secret: env["secret"])
53
54
  end
54
55
 
@@ -107,9 +108,15 @@ module Extension
107
108
  end
108
109
 
109
110
  def property_present?(key)
111
+ validate_env_present
110
112
  !env[key].nil? && !env[key].strip.empty?
111
113
  end
112
114
 
115
+ def validate_env_present
116
+ return if env
117
+ raise ShopifyCli::Abort, "Missing .env file. Run `shopify extension connect` to generate an .env file."
118
+ end
119
+
113
120
  def integer?(value)
114
121
  value.to_i.to_s == value.to_s
115
122
  end
@@ -139,6 +139,10 @@ module Extension
139
139
  Usage: {{command:%1$s extension tunnel status}}
140
140
  HELP
141
141
  },
142
+ check: {
143
+ help: "Check your extension for errors, suggestions, and best practices.",
144
+ unsupported: "{{red:%s projects are not supported for `extension check`}}",
145
+ },
142
146
  features: {
143
147
  argo: {
144
148
  missing_file_error: "Could not find built extension file.",
@@ -1,3 +1,3 @@
1
1
  module ShopifyCli
2
- VERSION = "2.0.2"
2
+ VERSION = "2.1.0"
3
3
  end
data/shopify-cli.gemspec CHANGED
@@ -44,5 +44,5 @@ Gem::Specification.new do |spec|
44
44
  spec.add_development_dependency("minitest", "~> 5.0")
45
45
 
46
46
  spec.add_dependency("listen", "~> 3.5")
47
- spec.add_dependency("theme-check", "~> 1.0")
47
+ spec.add_dependency("theme-check", "~> 1.1")
48
48
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-07 00:00:00.000000000 Z
11
+ date: 2021-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -78,14 +78,14 @@ dependencies:
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '1.0'
81
+ version: '1.1'
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '1.0'
88
+ version: '1.1'
89
89
  description: |
90
90
  Shopify CLI helps you build Shopify apps faster. It quickly scaffolds Node.js
91
91
  and Ruby on Rails embedded apps. It also automates many common tasks in the
@@ -162,6 +162,7 @@ files:
162
162
  - lib/graphql/update_dashboard_urls.graphql
163
163
  - lib/project_types/extension/cli.rb
164
164
  - lib/project_types/extension/commands/build.rb
165
+ - lib/project_types/extension/commands/check.rb
165
166
  - lib/project_types/extension/commands/connect.rb
166
167
  - lib/project_types/extension/commands/create.rb
167
168
  - lib/project_types/extension/commands/extension_command.rb