shopify-cli 2.0.1 → 2.2.1
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 +4 -4
- data/CHANGELOG.md +27 -0
- data/Gemfile.lock +4 -4
- data/README.md +3 -1
- data/THEMEKIT_MIGRATION.md +18 -0
- data/lib/graphql/api_versions.graphql +1 -1
- data/lib/graphql/get_variant_id.graphql +16 -0
- data/lib/project_types/extension/cli.rb +10 -1
- data/lib/project_types/extension/commands/check.rb +44 -0
- data/lib/project_types/extension/commands/push.rb +0 -1
- data/lib/project_types/extension/commands/serve.rb +8 -2
- data/lib/project_types/extension/extension_project.rb +39 -1
- data/lib/project_types/extension/extension_project_keys.rb +1 -0
- data/lib/project_types/extension/features/argo.rb +1 -11
- data/lib/project_types/extension/features/argo_runtime.rb +6 -38
- data/lib/project_types/extension/features/argo_serve.rb +30 -1
- data/lib/project_types/extension/features/runtimes/admin.rb +29 -0
- data/lib/project_types/extension/features/runtimes/base.rb +19 -0
- data/lib/project_types/extension/features/runtimes/checkout_post_purchase.rb +23 -0
- data/lib/project_types/extension/features/runtimes/checkout_ui_extension.rb +29 -0
- data/lib/project_types/extension/messages/messages.rb +19 -6
- data/lib/project_types/extension/models/product.rb +12 -0
- data/lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb +10 -0
- data/lib/project_types/extension/models/specification_handlers/checkout_ui_extension.rb +10 -2
- data/lib/project_types/extension/models/specification_handlers/default.rb +13 -4
- data/lib/project_types/extension/models/specification_handlers/theme_app_extension.rb +12 -0
- data/lib/project_types/extension/tasks/configure_features.rb +1 -0
- data/lib/project_types/extension/tasks/converters/product_converter.rb +21 -0
- data/lib/project_types/extension/tasks/get_product.rb +22 -0
- data/lib/project_types/node/messages/messages.rb +1 -1
- data/lib/project_types/rails/messages/messages.rb +18 -18
- data/lib/project_types/script/commands/create.rb +1 -1
- data/lib/project_types/script/graphql/app_script_update_or_create.graphql +3 -3
- data/lib/project_types/theme/forms/select.rb +1 -1
- data/lib/project_types/theme/messages/messages.rb +3 -3
- data/lib/shopify-cli/admin_api.rb +6 -2
- data/lib/shopify-cli/api.rb +2 -2
- data/lib/shopify-cli/core/monorail.rb +8 -3
- data/lib/shopify-cli/messages/messages.rb +9 -8
- data/lib/shopify-cli/packager.rb +5 -5
- data/lib/shopify-cli/theme/dev_server.rb +1 -1
- data/lib/shopify-cli/theme/dev_server/local_assets.rb +1 -1
- data/lib/shopify-cli/theme/file.rb +2 -2
- data/lib/shopify-cli/theme/syncer.rb +9 -5
- data/lib/shopify-cli/theme/theme.rb +5 -5
- data/lib/shopify-cli/tunnel.rb +1 -1
- data/lib/shopify-cli/version.rb +1 -1
- data/shopify-cli.gemspec +1 -1
- metadata +14 -4
@@ -34,7 +34,7 @@ module Script
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def self.help
|
37
|
-
allowed_values = Script::Layers::Application::ExtensionPoints.
|
37
|
+
allowed_values = Script::Layers::Application::ExtensionPoints.available_types.map { |type| "{{cyan:#{type}}}" }
|
38
38
|
ShopifyCli::Context.message("script.create.help", ShopifyCli::TOOL_NAME, allowed_values.join(", "))
|
39
39
|
end
|
40
40
|
end
|
@@ -9,9 +9,9 @@ mutation AppScriptUpdateOrCreate(
|
|
9
9
|
$schemaMinorVersion: String,
|
10
10
|
$useMsgpack: Boolean,
|
11
11
|
$uuid: String,
|
12
|
-
$configurationUi: Boolean
|
13
|
-
$scriptJsonVersion: String
|
14
|
-
$configurationDefinition: String
|
12
|
+
$configurationUi: Boolean!,
|
13
|
+
$scriptJsonVersion: String!,
|
14
|
+
$configurationDefinition: String!,
|
15
15
|
) {
|
16
16
|
appScriptUpdateOrCreate(
|
17
17
|
extensionPointName: $extensionPointName
|
@@ -90,7 +90,7 @@ module Theme
|
|
90
90
|
Uploads the current theme as a development theme to the connected store, then prints theme editor and preview URLs to your terminal. While running, changes will push to the store in real time.
|
91
91
|
Usage: {{command:%s theme serve}}
|
92
92
|
HELP
|
93
|
-
serve: "Viewing theme
|
93
|
+
serve: "Viewing theme…",
|
94
94
|
open_fail: "Couldn't open the theme",
|
95
95
|
},
|
96
96
|
check: {
|
@@ -134,9 +134,9 @@ module Theme
|
|
134
134
|
},
|
135
135
|
language_server: {
|
136
136
|
help: <<~HELP,
|
137
|
-
{{command:%s theme language-server}}: Start a Language Server Protocol server.
|
137
|
+
{{command:%1$s theme language-server}}: Start a Language Server Protocol server.
|
138
138
|
|
139
|
-
Usage: {{command:%s theme language-server}}
|
139
|
+
Usage: {{command:%1$s theme language-server}}
|
140
140
|
HELP
|
141
141
|
},
|
142
142
|
pull: {
|
@@ -134,8 +134,12 @@ module ShopifyCli
|
|
134
134
|
)
|
135
135
|
CLI::Kit::Util.begin do
|
136
136
|
versions = client.query("api_versions")["data"]["publicApiVersions"]
|
137
|
-
|
138
|
-
|
137
|
+
# return the most recent supported version
|
138
|
+
versions
|
139
|
+
.select { |version| version["supported"] }
|
140
|
+
.map { |version| version["handle"] }
|
141
|
+
.sort
|
142
|
+
.reverse[0]
|
139
143
|
end.retry_after(API::APIRequestUnauthorizedError, retries: 1) do
|
140
144
|
ShopifyCli::IdentityAuth.new(ctx: ctx).reauthenticate
|
141
145
|
end
|
data/lib/shopify-cli/api.rb
CHANGED
@@ -81,7 +81,7 @@ module ShopifyCli
|
|
81
81
|
else
|
82
82
|
raise APIRequestUnexpectedError.new("#{response.code}\n#{response.body}", response: response)
|
83
83
|
end
|
84
|
-
rescue
|
84
|
+
rescue Errno::ETIMEDOUT, Timeout::Error
|
85
85
|
raise APIRequestTimeoutError.new("Timeout")
|
86
86
|
end.retry_after(APIRequestRetriableError, retries: 3) do |e|
|
87
87
|
sleep(1) if e.is_a?(APIRequestThrottledError)
|
@@ -108,7 +108,7 @@ module ShopifyCli
|
|
108
108
|
{
|
109
109
|
"User-Agent" => "Shopify CLI; v=#{ShopifyCli::VERSION}",
|
110
110
|
"Sec-CH-UA" => "Shopify CLI; v=#{ShopifyCli::VERSION} sha=#{ShopifyCli.sha}",
|
111
|
-
"Sec-CH-UA-PLATFORM" => ctx.os,
|
111
|
+
"Sec-CH-UA-PLATFORM" => ctx.os.to_s,
|
112
112
|
}.tap do |headers|
|
113
113
|
headers["X-Shopify-Cli-Employee"] = "1" if Shopifolk.acting_as_shopify_organization?
|
114
114
|
end.merge(auth_headers(token))
|
@@ -46,7 +46,7 @@ module ShopifyCli
|
|
46
46
|
|
47
47
|
# we only want to send Monorail events in production or when explicitly developing
|
48
48
|
def enabled?
|
49
|
-
Context.new.system? || ENV["MONORAIL_REAL_EVENTS"] == "1"
|
49
|
+
(Context.new.system? || ENV["MONORAIL_REAL_EVENTS"] == "1") && !Context.new.ci?
|
50
50
|
end
|
51
51
|
|
52
52
|
def consented?
|
@@ -54,6 +54,7 @@ module ShopifyCli
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def prompt_for_consent
|
57
|
+
return if Context.new.ci?
|
57
58
|
return unless enabled?
|
58
59
|
return if ShopifyCli::Config.get_section("analytics").key?("enabled")
|
59
60
|
msg = Context.message("core.monorail.consent_prompt")
|
@@ -90,7 +91,7 @@ module ShopifyCli
|
|
90
91
|
{
|
91
92
|
schema_id: INVOCATIONS_SCHEMA,
|
92
93
|
payload: {
|
93
|
-
project_type:
|
94
|
+
project_type: project_type_from_dir_or_cmd(commands[0]).to_s,
|
94
95
|
command: commands.join(" "),
|
95
96
|
args: args.join(" "),
|
96
97
|
time_start: start_time,
|
@@ -104,7 +105,7 @@ module ShopifyCli
|
|
104
105
|
is_employee: ShopifyCli::Shopifolk.acting_as_shopify_organization?,
|
105
106
|
}.tap do |payload|
|
106
107
|
payload[:api_key] = metadata.delete(:api_key)
|
107
|
-
payload[:partner_id] = metadata.delete(:organization_id)
|
108
|
+
payload[:partner_id] = metadata.delete(:organization_id) || ShopifyCli::DB.get(:organization_id)
|
108
109
|
if Project.has_current?
|
109
110
|
project = Project.current(force_reload: true)
|
110
111
|
payload[:api_key] = project.env&.api_key
|
@@ -114,6 +115,10 @@ module ShopifyCli
|
|
114
115
|
end,
|
115
116
|
}
|
116
117
|
end
|
118
|
+
|
119
|
+
def project_type_from_dir_or_cmd(command)
|
120
|
+
Project.current_project_type || (command unless ShopifyCli::Commands.core_command?(command)) || nil
|
121
|
+
end
|
117
122
|
end
|
118
123
|
end
|
119
124
|
end
|
@@ -28,7 +28,7 @@ module ShopifyCli
|
|
28
28
|
},
|
29
29
|
|
30
30
|
env_file: {
|
31
|
-
saving_header: "writing %s file
|
31
|
+
saving_header: "writing %s file…",
|
32
32
|
saving: "writing %s file",
|
33
33
|
saved: "%s saved to project root",
|
34
34
|
},
|
@@ -69,7 +69,7 @@ module ShopifyCli
|
|
69
69
|
no_commits_made: "No git commits have been made. Please make at least one commit.",
|
70
70
|
},
|
71
71
|
|
72
|
-
cloning: "Cloning %s into %s
|
72
|
+
cloning: "Cloning %s into %s…",
|
73
73
|
cloned: "{{v}} Cloned into %s",
|
74
74
|
},
|
75
75
|
|
@@ -103,9 +103,9 @@ module ShopifyCli
|
|
103
103
|
install_error: "An error occurred while installing dependencies",
|
104
104
|
},
|
105
105
|
|
106
|
-
installing: "Installing dependencies with %s
|
106
|
+
installing: "Installing dependencies with %s…",
|
107
107
|
installed: "Dependencies installed",
|
108
|
-
npm_installing_deps: "Installing %d dependencies
|
108
|
+
npm_installing_deps: "Installing %d dependencies…",
|
109
109
|
npm_installed_deps: "%d npm dependencies installed",
|
110
110
|
},
|
111
111
|
|
@@ -257,7 +257,7 @@ module ShopifyCli
|
|
257
257
|
count_help: "Number of resources to generate",
|
258
258
|
},
|
259
259
|
|
260
|
-
populating: "Populating %d %ss
|
260
|
+
populating: "Populating %d %ss…",
|
261
261
|
|
262
262
|
completion_message: <<~COMPLETION_MESSAGE,
|
263
263
|
Successfully added %d %s to {{green:%s}}
|
@@ -345,7 +345,7 @@ module ShopifyCli
|
|
345
345
|
confirm_store: {
|
346
346
|
prompt: "You are currently logged into {{green:%s}}. Do you want to proceed using this store?",
|
347
347
|
confirmation: "Proceeding using {{green:%s}}",
|
348
|
-
cancelling: "Cancelling
|
348
|
+
cancelling: "Cancelling…",
|
349
349
|
},
|
350
350
|
ensure_env: {
|
351
351
|
organization_select: "To which partner organization does this project belong?",
|
@@ -414,7 +414,9 @@ module ShopifyCli
|
|
414
414
|
"please make sure %s exists within %s before trying again",
|
415
415
|
},
|
416
416
|
|
417
|
+
installing: "Installing ngrok…",
|
417
418
|
not_running: "{{green:x}} ngrok tunnel not running",
|
419
|
+
prereq_command_location: "%s @ %s",
|
418
420
|
signup_suggestion: <<~MESSAGE,
|
419
421
|
{{*}} To avoid tunnels that timeout, it is recommended to signup for a free ngrok
|
420
422
|
account at {{underline:https://ngrok.com/signup}}. After you signup, install your
|
@@ -423,9 +425,8 @@ module ShopifyCli
|
|
423
425
|
start: "{{v}} ngrok tunnel running at {{underline:%s}}",
|
424
426
|
start_with_account: "{{v}} ngrok tunnel running at {{underline:%s}}, with account %s",
|
425
427
|
stopped: "{{green:x}} ngrok tunnel stopped",
|
426
|
-
timed_out: "{{x}} ngrok tunnel has timed out, restarting
|
428
|
+
timed_out: "{{x}} ngrok tunnel has timed out, restarting…",
|
427
429
|
will_timeout: "{{*}} This tunnel will timeout in {{red:%s}}",
|
428
|
-
prereq_command_location: "%s @ %s",
|
429
430
|
},
|
430
431
|
|
431
432
|
version: {
|
data/lib/shopify-cli/packager.rb
CHANGED
@@ -16,7 +16,7 @@ module ShopifyCli
|
|
16
16
|
|
17
17
|
puts "\nBuilding Debian package"
|
18
18
|
|
19
|
-
puts "Generating metadata files
|
19
|
+
puts "Generating metadata files…"
|
20
20
|
Dir.glob("#{debian_dir}/*").each { |file| File.delete(file) }
|
21
21
|
|
22
22
|
metadata_files = %w(control preinst prerm)
|
@@ -28,7 +28,7 @@ module ShopifyCli
|
|
28
28
|
File.open(file_path, "w", 0775) { |f| f.write(file_contents) }
|
29
29
|
end
|
30
30
|
|
31
|
-
puts "Building package
|
31
|
+
puts "Building package…"
|
32
32
|
Dir.chdir(root_dir)
|
33
33
|
raise "Failed to build package" unless system("dpkg-deb", "-b", "shopify-cli")
|
34
34
|
|
@@ -49,14 +49,14 @@ module ShopifyCli
|
|
49
49
|
spec_path = File.join(root_dir, "shopify-cli.spec")
|
50
50
|
puts "\nBuilding RPM package"
|
51
51
|
|
52
|
-
puts "Generating spec file
|
52
|
+
puts "Generating spec file…"
|
53
53
|
File.delete(spec_path) if File.exist?(spec_path)
|
54
54
|
|
55
55
|
spec_contents = File.read(File.join(root_dir, "shopify-cli.spec.base"))
|
56
56
|
spec_contents = spec_contents.gsub("SHOPIFY_CLI_VERSION", ShopifyCli::VERSION)
|
57
57
|
File.write(spec_path, spec_contents)
|
58
58
|
|
59
|
-
puts "Building package
|
59
|
+
puts "Building package…"
|
60
60
|
Dir.chdir(root_dir)
|
61
61
|
system("rpmbuild", "-bb", File.basename(spec_path))
|
62
62
|
|
@@ -72,7 +72,7 @@ module ShopifyCli
|
|
72
72
|
build_path = File.join(BUILDS_DIR, "shopify-cli.rb")
|
73
73
|
puts "\nBuilding Homebrew package"
|
74
74
|
|
75
|
-
puts "Generating formula
|
75
|
+
puts "Generating formula…"
|
76
76
|
File.delete(build_path) if File.exist?(build_path)
|
77
77
|
|
78
78
|
spec_contents = File.read(File.join(root_dir, "shopify-cli.base.rb"))
|
@@ -72,7 +72,7 @@ module ShopifyCli
|
|
72
72
|
def replace_asset_urls(body)
|
73
73
|
replaced_body = body.join.gsub(ASSET_REGEX) do |match|
|
74
74
|
path = Pathname.new(Regexp.last_match[1])
|
75
|
-
if @theme.
|
75
|
+
if @theme.static_asset_paths.include?(path)
|
76
76
|
"/#{path}"
|
77
77
|
else
|
78
78
|
match
|
@@ -149,7 +149,7 @@ module ShopifyCli
|
|
149
149
|
# Process lower-priority files in the background
|
150
150
|
|
151
151
|
# Assets are served locally, so can be uploaded in the background
|
152
|
-
enqueue_updates(@theme.
|
152
|
+
enqueue_updates(@theme.static_asset_files)
|
153
153
|
|
154
154
|
unless delay_low_priority_files
|
155
155
|
wait!(&block)
|
@@ -254,8 +254,12 @@ module ShopifyCli
|
|
254
254
|
|
255
255
|
update_checksums(body)
|
256
256
|
|
257
|
-
|
258
|
-
|
257
|
+
attachment = body.dig("asset", "attachment")
|
258
|
+
value = if attachment
|
259
|
+
file.write(Base64.decode64(attachment), 0, mode: "wb")
|
260
|
+
else
|
261
|
+
file.write(body.dig("asset", "value"))
|
262
|
+
end
|
259
263
|
|
260
264
|
response
|
261
265
|
end
|
@@ -277,7 +281,7 @@ module ShopifyCli
|
|
277
281
|
|
278
282
|
def update_checksums(api_response)
|
279
283
|
api_response.values.flatten.each do |asset|
|
280
|
-
if asset["key"]
|
284
|
+
if asset["key"]
|
281
285
|
@checksums[asset["key"]] = asset["checksum"]
|
282
286
|
end
|
283
287
|
end
|
@@ -310,7 +314,7 @@ module ShopifyCli
|
|
310
314
|
|
311
315
|
def backoff_if_near_limit!(used, limit)
|
312
316
|
if used > limit - @threads.size
|
313
|
-
@ctx.debug("Near API call limit, waiting 2 sec
|
317
|
+
@ctx.debug("Near API call limit, waiting 2 sec…")
|
314
318
|
@backoff_mutex.synchronize { sleep 2 }
|
315
319
|
end
|
316
320
|
end
|
@@ -20,11 +20,11 @@ module ShopifyCli
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def theme_files
|
23
|
-
glob(["**/*.liquid", "**/*.json", "assets/*"])
|
23
|
+
glob(["**/*.liquid", "**/*.json", "assets/*"]).uniq
|
24
24
|
end
|
25
25
|
|
26
|
-
def
|
27
|
-
glob("assets/*")
|
26
|
+
def static_asset_files
|
27
|
+
glob("assets/*").reject(&:liquid?)
|
28
28
|
end
|
29
29
|
|
30
30
|
def liquid_files
|
@@ -43,8 +43,8 @@ module ShopifyCli
|
|
43
43
|
theme_files.include?(self[file])
|
44
44
|
end
|
45
45
|
|
46
|
-
def
|
47
|
-
|
46
|
+
def static_asset_paths
|
47
|
+
static_asset_files.map(&:relative_path)
|
48
48
|
end
|
49
49
|
|
50
50
|
def [](file)
|
data/lib/shopify-cli/tunnel.rb
CHANGED
@@ -149,7 +149,7 @@ module ShopifyCli
|
|
149
149
|
check_prereq_command(ctx, "curl")
|
150
150
|
check_prereq_command(ctx, ctx.linux? ? "unzip" : "tar")
|
151
151
|
spinner = CLI::UI::SpinGroup.new
|
152
|
-
spinner.add("
|
152
|
+
spinner.add(ctx.message("core.tunnel.installing")) do
|
153
153
|
zip_dest = File.join(ShopifyCli.cache_dir, "ngrok.zip")
|
154
154
|
unless File.exist?(zip_dest)
|
155
155
|
ctx.system("curl", "-o", zip_dest, DOWNLOAD_URLS[ctx.os], chdir: ShopifyCli.cache_dir)
|
data/lib/shopify-cli/version.rb
CHANGED
data/shopify-cli.gemspec
CHANGED
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.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-09 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.
|
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.
|
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
|
@@ -121,6 +121,7 @@ files:
|
|
121
121
|
- RELEASING.md
|
122
122
|
- Rakefile
|
123
123
|
- SECURITY.md
|
124
|
+
- THEMEKIT_MIGRATION.md
|
124
125
|
- bin/load_shopify.rb
|
125
126
|
- bin/shopify
|
126
127
|
- dev.yml
|
@@ -158,9 +159,11 @@ files:
|
|
158
159
|
- lib/graphql/find_organization.graphql
|
159
160
|
- lib/graphql/get_app_by_api_key.graphql
|
160
161
|
- lib/graphql/get_app_urls.graphql
|
162
|
+
- lib/graphql/get_variant_id.graphql
|
161
163
|
- lib/graphql/update_dashboard_urls.graphql
|
162
164
|
- lib/project_types/extension/cli.rb
|
163
165
|
- lib/project_types/extension/commands/build.rb
|
166
|
+
- lib/project_types/extension/commands/check.rb
|
164
167
|
- lib/project_types/extension/commands/connect.rb
|
165
168
|
- lib/project_types/extension/commands/create.rb
|
166
169
|
- lib/project_types/extension/commands/extension_command.rb
|
@@ -180,6 +183,10 @@ files:
|
|
180
183
|
- lib/project_types/extension/features/argo_setup.rb
|
181
184
|
- lib/project_types/extension/features/argo_setup_step.rb
|
182
185
|
- lib/project_types/extension/features/argo_setup_steps.rb
|
186
|
+
- lib/project_types/extension/features/runtimes/admin.rb
|
187
|
+
- lib/project_types/extension/features/runtimes/base.rb
|
188
|
+
- lib/project_types/extension/features/runtimes/checkout_post_purchase.rb
|
189
|
+
- lib/project_types/extension/features/runtimes/checkout_ui_extension.rb
|
183
190
|
- lib/project_types/extension/forms/connect.rb
|
184
191
|
- lib/project_types/extension/forms/create.rb
|
185
192
|
- lib/project_types/extension/forms/questions/ask_app.rb
|
@@ -191,6 +198,7 @@ files:
|
|
191
198
|
- lib/project_types/extension/models/app.rb
|
192
199
|
- lib/project_types/extension/models/lazy_specification_handler.rb
|
193
200
|
- lib/project_types/extension/models/npm_package.rb
|
201
|
+
- lib/project_types/extension/models/product.rb
|
194
202
|
- lib/project_types/extension/models/registration.rb
|
195
203
|
- lib/project_types/extension/models/specification.rb
|
196
204
|
- lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb
|
@@ -204,6 +212,7 @@ files:
|
|
204
212
|
- lib/project_types/extension/tasks/configure_features.rb
|
205
213
|
- lib/project_types/extension/tasks/configure_options.rb
|
206
214
|
- lib/project_types/extension/tasks/converters/app_converter.rb
|
215
|
+
- lib/project_types/extension/tasks/converters/product_converter.rb
|
207
216
|
- lib/project_types/extension/tasks/converters/registration_converter.rb
|
208
217
|
- lib/project_types/extension/tasks/converters/validation_error_converter.rb
|
209
218
|
- lib/project_types/extension/tasks/converters/version_converter.rb
|
@@ -213,6 +222,7 @@ files:
|
|
213
222
|
- lib/project_types/extension/tasks/get_app.rb
|
214
223
|
- lib/project_types/extension/tasks/get_apps.rb
|
215
224
|
- lib/project_types/extension/tasks/get_extensions.rb
|
225
|
+
- lib/project_types/extension/tasks/get_product.rb
|
216
226
|
- lib/project_types/extension/tasks/update_draft.rb
|
217
227
|
- lib/project_types/extension/tasks/user_errors.rb
|
218
228
|
- lib/project_types/node/cli.rb
|