shopify-cli 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -0
  3. data/.github/ISSUE_TEMPLATE.md +0 -4
  4. data/.github/workflows/shopify.yml +106 -0
  5. data/.gitignore +2 -0
  6. data/CHANGELOG.md +23 -0
  7. data/CONTRIBUTING.md +23 -0
  8. data/Dockerfile +19 -0
  9. data/Gemfile +1 -0
  10. data/Gemfile.lock +50 -13
  11. data/Rakefile +66 -0
  12. data/dev.yml +11 -1
  13. data/ext/shopify-extensions/extconf.rb +21 -0
  14. data/ext/shopify-extensions/shopify_extensions.rb +152 -0
  15. data/ext/shopify-extensions/version +1 -0
  16. data/lib/project_types/extension/cli.rb +14 -0
  17. data/lib/project_types/extension/commands/build.rb +30 -2
  18. data/lib/project_types/extension/commands/create.rb +25 -0
  19. data/lib/project_types/extension/commands/push.rb +0 -1
  20. data/lib/project_types/extension/features/argo.rb +1 -11
  21. data/lib/project_types/extension/forms/create.rb +4 -1
  22. data/lib/project_types/extension/forms/questions/ask_template.rb +44 -0
  23. data/lib/project_types/extension/messages/messages.rb +3 -0
  24. data/lib/project_types/extension/models/development_server.rb +35 -0
  25. data/lib/project_types/extension/models/development_server_requirements.rb +17 -0
  26. data/lib/project_types/extension/models/server_config/base.rb +31 -0
  27. data/lib/project_types/extension/models/server_config/development.rb +23 -0
  28. data/lib/project_types/extension/models/server_config/development_entries.rb +38 -0
  29. data/lib/project_types/extension/models/server_config/development_renderer.rb +30 -0
  30. data/lib/project_types/extension/models/server_config/extension.rb +35 -0
  31. data/lib/project_types/extension/models/server_config/root.rb +18 -0
  32. data/lib/project_types/extension/models/server_config/user.rb +10 -0
  33. data/lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb +10 -0
  34. data/lib/project_types/extension/models/specification_handlers/checkout_ui_extension.rb +1 -1
  35. data/lib/project_types/extension/tasks/choose_next_available_port.rb +1 -1
  36. data/lib/project_types/extension/tasks/run_extension_command.rb +58 -0
  37. data/lib/project_types/node/commands/create.rb +1 -5
  38. data/lib/project_types/rails/commands/create.rb +1 -5
  39. data/lib/project_types/script/cli.rb +2 -0
  40. data/lib/project_types/script/graphql/app_script_set.graphql +40 -0
  41. data/lib/project_types/script/graphql/app_script_update_or_create.graphql +0 -44
  42. data/lib/project_types/script/graphql/module_upload_url_generate.graphql +9 -0
  43. data/lib/project_types/script/layers/application/push_script.rb +10 -1
  44. data/lib/project_types/script/layers/domain/push_package.rb +1 -14
  45. data/lib/project_types/script/layers/infrastructure/api_clients.rb +89 -0
  46. data/lib/project_types/script/layers/infrastructure/errors.rb +2 -0
  47. data/lib/project_types/script/layers/infrastructure/languages/assemblyscript_project_creator.rb +1 -1
  48. data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +0 -1
  49. data/lib/project_types/script/layers/infrastructure/script_service.rb +29 -94
  50. data/lib/project_types/script/layers/infrastructure/script_uploader.rb +27 -0
  51. data/lib/project_types/script/messages/messages.rb +3 -0
  52. data/lib/project_types/script/tasks/ensure_env.rb +2 -2
  53. data/lib/project_types/script/ui/error_handler.rb +6 -1
  54. data/lib/project_types/theme/commands/pull.rb +6 -0
  55. data/lib/project_types/theme/commands/push.rb +6 -0
  56. data/lib/shopify-cli/constants.rb +26 -0
  57. data/lib/shopify-cli/environment.rb +60 -0
  58. data/lib/shopify-cli/git.rb +2 -2
  59. data/lib/shopify-cli/identity_auth.rb +16 -23
  60. data/lib/shopify-cli/partners_api.rb +3 -27
  61. data/lib/shopify-cli/process_supervision.rb +14 -14
  62. data/lib/shopify-cli/theme/dev_server/header_hash.rb +4 -0
  63. data/lib/shopify-cli/theme/dev_server/hot_reload.rb +4 -5
  64. data/lib/shopify-cli/theme/dev_server/proxy.rb +13 -1
  65. data/lib/shopify-cli/theme/development_theme.rb +16 -2
  66. data/lib/shopify-cli/theme/file.rb +11 -3
  67. data/lib/shopify-cli/theme/ignore_filter.rb +7 -0
  68. data/lib/shopify-cli/theme/syncer.rb +1 -1
  69. data/lib/shopify-cli/version.rb +1 -1
  70. data/lib/shopify_cli.rb +4 -2
  71. data/shopify-cli.gemspec +3 -3
  72. metadata +31 -9
  73. data/.github/workflows/build.yml +0 -28
@@ -8,16 +8,6 @@ module ShopifyCli
8
8
  class PartnersAPI < API
9
9
  autoload :Organizations, "shopify-cli/partners_api/organizations"
10
10
 
11
- # Defines the environment variable that this API looks for to operate on local
12
- # services. If you set this environment variable in your shell then the partners
13
- # API will operate on your local instance
14
- #
15
- # #### Example
16
- #
17
- # SHOPIFY_APP_CLI_LOCAL_PARTNERS=1 shopify create
18
- #
19
- LOCAL_DEBUG = "SHOPIFY_APP_CLI_LOCAL_PARTNERS"
20
-
21
11
  class << self
22
12
  ##
23
13
  # issues a graphql query or mutation to the Shopify Partners Dashboard CLI Schema.
@@ -59,11 +49,11 @@ module ShopifyCli
59
49
  ctx.puts(ctx.message("core.partners_api.error.account_not_found", ShopifyCli::TOOL_NAME))
60
50
  end
61
51
 
62
- def partners_url_for(organization_id, api_client_id, local_debug)
52
+ def partners_url_for(organization_id, api_client_id)
63
53
  if ShopifyCli::Shopifolk.acting_as_shopify_organization?
64
54
  organization_id = "internal"
65
55
  end
66
- "#{partners_endpoint(local_debug)}/#{organization_id}/apps/#{api_client_id}"
56
+ "https://#{Environment.partners_domain}/#{organization_id}/apps/#{api_client_id}"
67
57
  end
68
58
 
69
59
  private
@@ -72,7 +62,7 @@ module ShopifyCli
72
62
  new(
73
63
  ctx: ctx,
74
64
  token: access_token(ctx),
75
- url: "#{endpoint}/api/cli/graphql",
65
+ url: "https://#{Environment.partners_domain}/api/cli/graphql",
76
66
  )
77
67
  end
78
68
 
@@ -83,20 +73,6 @@ module ShopifyCli
83
73
  end
84
74
  end
85
75
 
86
- def endpoint
87
- return "https://partners.shopify.com" if ENV[LOCAL_DEBUG].nil?
88
- "https://partners.myshopify.io/"
89
- end
90
-
91
- def partners_endpoint(local_debug)
92
- domain = if local_debug
93
- "partners.myshopify.io"
94
- else
95
- "partners.shopify.com"
96
- end
97
- "https://#{domain}"
98
- end
99
-
100
76
  def auth_failure_info(ctx, error)
101
77
  if error.response
102
78
  headers = %w(www-authenticate x-request-id)
@@ -59,10 +59,20 @@ module ShopifyCli
59
59
  def start(identifier, args)
60
60
  return for_ident(identifier) if running?(identifier)
61
61
 
62
- # Windows doesn't support forking process without extra gems, so we resort to spawning a new child process -
63
- # that means that it dies along with the original process if it is interrupted. On UNIX, we fork the process so
64
- # that it doesn't have to be restarted on every run.
65
- if Context.new.windows?
62
+ # Some systems don't support forking process without extra gems, so we resort to spawning a new child process -
63
+ # that means that it dies along with the original process if it is interrupted. If possible, we fork the process
64
+ # so that it doesn't have to be restarted on every run.
65
+ if Process.respond_to?(:fork)
66
+ fork do
67
+ pid_file = new(identifier, pid: Process.pid)
68
+ pid_file.write
69
+ STDOUT.reopen(pid_file.log_path, "w")
70
+ STDERR.reopen(pid_file.log_path, "w")
71
+ STDIN.reopen("/dev/null", "r")
72
+ Process.setsid
73
+ exec(*args)
74
+ end
75
+ else
66
76
  pid_file = new(identifier)
67
77
 
68
78
  # Make sure the file exists and is empty, otherwise Windows fails
@@ -77,16 +87,6 @@ module ShopifyCli
77
87
  pid_file.write
78
88
 
79
89
  Process.detach(pid)
80
- else
81
- fork do
82
- pid_file = new(identifier, pid: Process.pid)
83
- pid_file.write
84
- STDOUT.reopen(pid_file.log_path, "w")
85
- STDERR.reopen(pid_file.log_path, "w")
86
- STDIN.reopen("/dev/null", "r")
87
- Process.setsid
88
- exec(*args)
89
- end
90
90
  end
91
91
 
92
92
  sleep(0.1)
@@ -47,6 +47,10 @@ module ShopifyCli
47
47
  super(k) || super(@names[k.downcase])
48
48
  end
49
49
 
50
+ def fetch(k, default = nil)
51
+ self[k] || super(@names[k.downcase], default)
52
+ end
53
+
50
54
  def []=(k, v)
51
55
  canonical = k.downcase.freeze
52
56
  # .delete is expensive, don't invoke it unless necessary
@@ -34,11 +34,10 @@ module ShopifyCli
34
34
  files = (modified + added).reject { |file| @ignore_filter&.ignore?(file) }
35
35
  .map { |file| @theme[file].relative_path }
36
36
 
37
- @streams.broadcast(JSON.generate(
38
- modified: files,
39
- ))
40
-
41
- @ctx.debug("[HotReload] Modified #{files.join(", ")}")
37
+ unless files.empty?
38
+ @streams.broadcast(JSON.generate(modified: files))
39
+ @ctx.debug("[HotReload] Modified #{files.join(", ")}")
40
+ end
42
41
  end
43
42
 
44
43
  private
@@ -155,11 +155,16 @@ module ShopifyCli
155
155
  Time.now - @last_session_cookie_refresh >= SESSION_COOKIE_MAX_AGE
156
156
  end
157
157
 
158
+ def extract_secure_session_id_from_response_headers(headers)
159
+ return unless headers["set-cookie"]
160
+ headers["set-cookie"][SESSION_COOKIE_REGEXP, 1]
161
+ end
162
+
158
163
  def secure_session_id
159
164
  if secure_session_id_expired?
160
165
  @ctx.debug("Refreshing preview _secure_session_id cookie")
161
166
  response = request("HEAD", "/", query: { preview_theme_id: @theme.id })
162
- @secure_session_id = response["set-cookie"][SESSION_COOKIE_REGEXP, 1]
167
+ @secure_session_id = extract_secure_session_id_from_response_headers(response)
163
168
  @last_session_cookie_refresh = Time.now
164
169
  end
165
170
 
@@ -179,6 +184,13 @@ module ShopifyCli
179
184
  response_headers["location"].gsub!(%r{(https://#{@theme.shop})}, "http://127.0.0.1:9292")
180
185
  end
181
186
 
187
+ new_session_id = extract_secure_session_id_from_response_headers(response_headers)
188
+ if new_session_id
189
+ @ctx.debug("New _secure_session_id cookie from response")
190
+ @secure_session_id = new_session_id
191
+ @last_session_cookie_refresh = Time.now
192
+ end
193
+
182
194
  response_headers
183
195
  end
184
196
 
@@ -6,13 +6,24 @@ require "securerandom"
6
6
 
7
7
  module ShopifyCli
8
8
  module Theme
9
+ API_NAME_LIMIT = 50
10
+
9
11
  class DevelopmentTheme < Theme
10
12
  def id
11
13
  ShopifyCli::DB.get(:development_theme_id)
12
14
  end
13
15
 
14
16
  def name
15
- ShopifyCli::DB.get(:development_theme_name) || generate_theme_name
17
+ existing_name = ShopifyCli::DB.get(:development_theme_name)
18
+ # Up to version 2.3.0 (included) generated names stored locally
19
+ # could have more than 50 characters and the API rejected them.
20
+ # This code ensures we update the name for those users to ensure
21
+ # the name stays under the limit.
22
+ if existing_name.nil? || existing_name.length > API_NAME_LIMIT
23
+ generate_theme_name
24
+ else
25
+ existing_name
26
+ end
16
27
  end
17
28
 
18
29
  def role
@@ -58,7 +69,10 @@ module ShopifyCli
58
69
  hostname = Socket.gethostname.split(".").shift
59
70
  hash = SecureRandom.hex(3)
60
71
 
61
- theme_name = "Development (#{hash}-#{hostname})"
72
+ theme_name = "Development ()"
73
+ hostname_character_limit = API_NAME_LIMIT - theme_name.length - hash.length - 1
74
+ identifier = "#{hash}-#{hostname[0, hostname_character_limit]}"
75
+ theme_name = "Development (#{identifier})"
62
76
 
63
77
  ShopifyCli::DB.set(development_theme_name: theme_name)
64
78
 
@@ -17,12 +17,20 @@ module ShopifyCli
17
17
  end
18
18
 
19
19
  def read
20
- path.read
20
+ if text?
21
+ path.read
22
+ else
23
+ path.read(mode: "rb")
24
+ end
21
25
  end
22
26
 
23
- def write(*args)
27
+ def write(content)
24
28
  path.parent.mkpath unless path.parent.directory?
25
- path.write(*args)
29
+ if text?
30
+ path.write(content)
31
+ else
32
+ path.write(content, 0, mode: "wb")
33
+ end
26
34
  end
27
35
 
28
36
  def delete
@@ -59,6 +59,13 @@ module ShopifyCli
59
59
  @globs = globs
60
60
  end
61
61
 
62
+ def add_patterns(patterns)
63
+ regexes, globs = patterns_to_regexes_and_globs(patterns)
64
+
65
+ @regexes += regexes
66
+ @globs += globs
67
+ end
68
+
62
69
  def match?(path)
63
70
  path = path.to_s
64
71
 
@@ -256,7 +256,7 @@ module ShopifyCli
256
256
 
257
257
  attachment = body.dig("asset", "attachment")
258
258
  value = if attachment
259
- file.write(Base64.decode64(attachment), 0, mode: "wb")
259
+ file.write(Base64.decode64(attachment))
260
260
  else
261
261
  file.write(body.dig("asset", "value"))
262
262
  end
@@ -1,3 +1,3 @@
1
1
  module ShopifyCli
2
- VERSION = "2.2.0"
2
+ VERSION = "2.4.0"
3
3
  end
data/lib/shopify_cli.rb CHANGED
@@ -94,6 +94,8 @@ module ShopifyCli
94
94
  )
95
95
  end
96
96
 
97
+ autoload :Constants, "shopify-cli/constants"
98
+ autoload :Environment, "shopify-cli/environment"
97
99
  autoload :AdminAPI, "shopify-cli/admin_api"
98
100
  autoload :API, "shopify-cli/api"
99
101
  autoload :Command, "shopify-cli/command"
@@ -132,7 +134,7 @@ module ShopifyCli
132
134
  Context.load_messages(ShopifyCli::Messages::MESSAGES)
133
135
 
134
136
  def self.cache_dir
135
- cache_dir = if ENV.key?("RUNNING_SHOPIFY_CLI_TESTS")
137
+ cache_dir = if Environment.running_tests?
136
138
  TEMP_DIR
137
139
  elsif ENV["LOCALAPPDATA"].nil?
138
140
  File.join(File.expand_path(ENV.fetch("XDG_CACHE_HOME", "~/.cache")), TOOL_NAME)
@@ -147,7 +149,7 @@ module ShopifyCli
147
149
  end
148
150
 
149
151
  def self.tool_config_path
150
- if ENV.key?("RUNNING_SHOPIFY_CLI_TESTS")
152
+ if Environment.running_tests?
151
153
  TEMP_DIR
152
154
  elsif ENV["APPDATA"].nil?
153
155
  File.join(File.expand_path(ENV.fetch("XDG_CONFIG_HOME", "~/.config")), TOOL_NAME)
data/shopify-cli.gemspec CHANGED
@@ -39,10 +39,10 @@ Gem::Specification.new do |spec|
39
39
  # `/usr/local/bin/shopify` to that script, in order to "lock" the Ruby used to
40
40
  # a single Ruby (useful for debugging in multi-Ruby environments)
41
41
 
42
- spec.add_development_dependency("bundler", "~> 2.1.4")
42
+ spec.add_development_dependency("bundler", "~> 2.2.2")
43
43
  spec.add_development_dependency("rake", "~> 12.3", ">= 12.3.3")
44
44
  spec.add_development_dependency("minitest", "~> 5.0")
45
45
 
46
- spec.add_dependency("listen", "~> 3.5")
47
- spec.add_dependency("theme-check", "~> 1.1")
46
+ spec.add_dependency("listen", "~> 3.7.0")
47
+ spec.add_dependency("theme-check", "~> 1.4.0")
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.2.0
4
+ version: 2.4.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-08-03 00:00:00.000000000 Z
11
+ date: 2021-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.1.4
19
+ version: 2.2.2
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.1.4
26
+ version: 2.2.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -64,28 +64,28 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '3.5'
67
+ version: 3.7.0
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '3.5'
74
+ version: 3.7.0
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: theme-check
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '1.1'
81
+ version: 1.4.0
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.1'
88
+ version: 1.4.0
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
@@ -105,7 +105,7 @@ files:
105
105
  - ".github/ISSUE_TEMPLATE.md"
106
106
  - ".github/PULL_REQUEST_TEMPLATE.md"
107
107
  - ".github/probots.yml"
108
- - ".github/workflows/build.yml"
108
+ - ".github/workflows/shopify.yml"
109
109
  - ".github/workflows/triage.yml"
110
110
  - ".gitignore"
111
111
  - ".rubocop.yml"
@@ -114,6 +114,8 @@ files:
114
114
  - ".tmp/.gitkeep"
115
115
  - ".tmp/sv/.gitkeep"
116
116
  - CHANGELOG.md
117
+ - CONTRIBUTING.md
118
+ - Dockerfile
117
119
  - Gemfile
118
120
  - Gemfile.lock
119
121
  - LICENSE
@@ -139,6 +141,9 @@ files:
139
141
  - docs/help/start-app/index.md
140
142
  - docs/index.md
141
143
  - ext/shopify-cli/extconf.rb
144
+ - ext/shopify-extensions/extconf.rb
145
+ - ext/shopify-extensions/shopify_extensions.rb
146
+ - ext/shopify-extensions/version
142
147
  - install.sh
143
148
  - lib/docgen/class_template.md.erb
144
149
  - lib/docgen/index_template.md.erb
@@ -192,14 +197,24 @@ files:
192
197
  - lib/project_types/extension/forms/questions/ask_app.rb
193
198
  - lib/project_types/extension/forms/questions/ask_name.rb
194
199
  - lib/project_types/extension/forms/questions/ask_registration.rb
200
+ - lib/project_types/extension/forms/questions/ask_template.rb
195
201
  - lib/project_types/extension/forms/questions/ask_type.rb
196
202
  - lib/project_types/extension/messages/message_loading.rb
197
203
  - lib/project_types/extension/messages/messages.rb
198
204
  - lib/project_types/extension/models/app.rb
205
+ - lib/project_types/extension/models/development_server.rb
206
+ - lib/project_types/extension/models/development_server_requirements.rb
199
207
  - lib/project_types/extension/models/lazy_specification_handler.rb
200
208
  - lib/project_types/extension/models/npm_package.rb
201
209
  - lib/project_types/extension/models/product.rb
202
210
  - lib/project_types/extension/models/registration.rb
211
+ - lib/project_types/extension/models/server_config/base.rb
212
+ - lib/project_types/extension/models/server_config/development.rb
213
+ - lib/project_types/extension/models/server_config/development_entries.rb
214
+ - lib/project_types/extension/models/server_config/development_renderer.rb
215
+ - lib/project_types/extension/models/server_config/extension.rb
216
+ - lib/project_types/extension/models/server_config/root.rb
217
+ - lib/project_types/extension/models/server_config/user.rb
203
218
  - lib/project_types/extension/models/specification.rb
204
219
  - lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb
205
220
  - lib/project_types/extension/models/specification_handlers/checkout_ui_extension.rb
@@ -223,6 +238,7 @@ files:
223
238
  - lib/project_types/extension/tasks/get_apps.rb
224
239
  - lib/project_types/extension/tasks/get_extensions.rb
225
240
  - lib/project_types/extension/tasks/get_product.rb
241
+ - lib/project_types/extension/tasks/run_extension_command.rb
226
242
  - lib/project_types/extension/tasks/update_draft.rb
227
243
  - lib/project_types/extension/tasks/user_errors.rb
228
244
  - lib/project_types/node/cli.rb
@@ -256,8 +272,10 @@ files:
256
272
  - lib/project_types/script/config/extension_points.yml
257
273
  - lib/project_types/script/errors.rb
258
274
  - lib/project_types/script/forms/create.rb
275
+ - lib/project_types/script/graphql/app_script_set.graphql
259
276
  - lib/project_types/script/graphql/app_script_update_or_create.graphql
260
277
  - lib/project_types/script/graphql/get_app_scripts.graphql
278
+ - lib/project_types/script/graphql/module_upload_url_generate.graphql
261
279
  - lib/project_types/script/graphql/script_service_proxy.graphql
262
280
  - lib/project_types/script/layers/application/build_script.rb
263
281
  - lib/project_types/script/layers/application/create_script.rb
@@ -270,6 +288,7 @@ files:
270
288
  - lib/project_types/script/layers/domain/push_package.rb
271
289
  - lib/project_types/script/layers/domain/script_json.rb
272
290
  - lib/project_types/script/layers/domain/script_project.rb
291
+ - lib/project_types/script/layers/infrastructure/api_clients.rb
273
292
  - lib/project_types/script/layers/infrastructure/command_runner.rb
274
293
  - lib/project_types/script/layers/infrastructure/errors.rb
275
294
  - lib/project_types/script/layers/infrastructure/extension_point_repository.rb
@@ -282,6 +301,7 @@ files:
282
301
  - lib/project_types/script/layers/infrastructure/push_package_repository.rb
283
302
  - lib/project_types/script/layers/infrastructure/script_project_repository.rb
284
303
  - lib/project_types/script/layers/infrastructure/script_service.rb
304
+ - lib/project_types/script/layers/infrastructure/script_uploader.rb
285
305
  - lib/project_types/script/messages/messages.rb
286
306
  - lib/project_types/script/tasks/ensure_env.rb
287
307
  - lib/project_types/script/ui/error_handler.rb
@@ -322,6 +342,7 @@ files:
322
342
  - lib/shopify-cli/commands/version.rb
323
343
  - lib/shopify-cli/commands/whoami.rb
324
344
  - lib/shopify-cli/connect.rb
345
+ - lib/shopify-cli/constants.rb
325
346
  - lib/shopify-cli/context.rb
326
347
  - lib/shopify-cli/core.rb
327
348
  - lib/shopify-cli/core/entry_point.rb
@@ -330,6 +351,7 @@ files:
330
351
  - lib/shopify-cli/core/help_resolver.rb
331
352
  - lib/shopify-cli/core/monorail.rb
332
353
  - lib/shopify-cli/db.rb
354
+ - lib/shopify-cli/environment.rb
333
355
  - lib/shopify-cli/feature.rb
334
356
  - lib/shopify-cli/form.rb
335
357
  - lib/shopify-cli/git.rb
@@ -1,28 +0,0 @@
1
- name: CI
2
-
3
- on: [push, pull_request]
4
-
5
- jobs:
6
- build:
7
- name: Ruby ${{ matrix.version }}
8
- runs-on: macos-latest
9
- strategy:
10
- matrix:
11
- version:
12
- - 3.0.0
13
- - 2.6.6
14
- - 2.7.1
15
- steps:
16
- - uses: actions/checkout@v2
17
-
18
- - name: Set up Ruby ${{ matrix.version }}
19
- uses: ruby/setup-ruby@v1
20
- with:
21
- ruby-version: ${{ matrix.version }}
22
- bundler-cache: true
23
-
24
- - name: Install Dependencies
25
- run: bundle install
26
-
27
- - name: Run Tests
28
- run: bundle exec rake