shopify-cli 2.10.1 → 2.10.2
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/.github/ISSUE_TEMPLATE.md +18 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile.lock +1 -1
- data/lib/project_types/script/cli.rb +5 -0
- data/lib/project_types/script/config/extension_points.yml +12 -0
- data/lib/project_types/script/graphql/module_upload_url_generate.graphql +5 -1
- data/lib/project_types/script/layers/application/build_script.rb +6 -2
- data/lib/project_types/script/layers/application/project_dependencies.rb +1 -1
- data/lib/project_types/script/layers/application/push_script.rb +38 -30
- data/lib/project_types/script/layers/domain/errors.rb +7 -1
- data/lib/project_types/script/layers/domain/extension_point.rb +2 -2
- data/lib/project_types/script/layers/infrastructure/errors.rb +9 -0
- data/lib/project_types/script/layers/infrastructure/languages/assemblyscript_task_runner.rb +2 -8
- data/lib/project_types/script/layers/infrastructure/languages/project_creator.rb +1 -0
- data/lib/project_types/script/layers/infrastructure/languages/task_runner.rb +1 -0
- data/lib/project_types/script/layers/infrastructure/languages/typescript_task_runner.rb +2 -8
- data/lib/project_types/script/layers/infrastructure/languages/wasm_project_creator.rb +15 -0
- data/lib/project_types/script/layers/infrastructure/languages/wasm_task_runner.rb +36 -0
- data/lib/project_types/script/layers/infrastructure/metadata_repository.rb +18 -0
- data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +1 -1
- data/lib/project_types/script/layers/infrastructure/script_service.rb +10 -6
- data/lib/project_types/script/layers/infrastructure/script_uploader.rb +22 -9
- data/lib/project_types/script/messages/messages.rb +10 -3
- data/lib/project_types/script/ui/error_handler.rb +6 -1
- data/lib/shopify_cli/version.rb +1 -1
- data/vendor/deps/cli-kit/lib/cli/kit/system.rb +10 -5
- data/vendor/deps/cli-ui/lib/cli/ui/os.rb +6 -4
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cd807b7755484c50b506a5b4af90072b08ac0f9fc2aaff6c684f0fe5e6b63cc
|
4
|
+
data.tar.gz: 76aaf43ba5f6af3a6c9ed5f2f73b0d79cb03261d544602996b9563cd45f4b572
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 407ad8f61eebbfcfbf4c6099eef78a41544ed95002cf7f91fbd9cd56aa473cc1ab6ea323812032c3f21d09760bdcd824908ce9ba1f069ed492997b0cdf3d5853
|
7
|
+
data.tar.gz: 91ae64882ee0e7969bf93697dda900fb812009df58eeff176833e3e609e51f37fa67f418c1b80be670f852a6594308fc0e89e43a477105b316943827f80ad780
|
data/.github/ISSUE_TEMPLATE.md
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
<!--
|
2
|
+
|
3
|
+
Hi! 👋 Thanks for taking the time to open an issue.
|
4
|
+
|
5
|
+
BEFORE SUBMITTING YOUR ISSUE, please ensure that:
|
6
|
+
|
7
|
+
1. You've searched the existing issues to see if someone else has already submitted the same thing. You can access the list at: https://github.com/Shopify/shopify-cli/issues (and feel free to add any additional information in a comment!)
|
8
|
+
2. You've given as much detail as reasonably possible
|
9
|
+
3. You're working with the latest CLI version (check the badge at https://github.com/Shopify/shopify-cli)
|
10
|
+
|
11
|
+
This is important because:
|
12
|
+
|
13
|
+
1. We will notice and prioritize 1 popular issue more quickly than many small duplicates
|
14
|
+
2. More details = faster, higher-quality response
|
15
|
+
3. We might have fixed your issue already!
|
16
|
+
|
17
|
+
-->
|
18
|
+
|
1
19
|
# Issue summary
|
2
20
|
|
3
21
|
Write a short description of the issue here ↓
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,11 @@ From version 2.6.0, the sections in this file adhere to the [keep a changelog](h
|
|
2
2
|
|
3
3
|
## [Unreleased]
|
4
4
|
|
5
|
+
## Version 2.10.2
|
6
|
+
### Fixed
|
7
|
+
* [#1983](https://github.com/Shopify/shopify-cli/pull/1983): Improve Windows compatibility
|
8
|
+
* [#1928](https://github.com/Shopify/shopify-cli/pull/1928): Ensure script Wasm file sizes don't exceed the limit
|
9
|
+
|
5
10
|
## Version 2.10.1
|
6
11
|
### Fixed
|
7
12
|
* [#1985](https://github.com/Shopify/shopify-cli/pull/1985): Revert "Fix CORS (Cross-origin resource sharing) errors (#1952)"
|
data/Gemfile.lock
CHANGED
@@ -57,6 +57,7 @@ module Script
|
|
57
57
|
autoload :CommandRunner, Project.project_filepath("layers/infrastructure/command_runner")
|
58
58
|
autoload :PushPackageRepository, Project.project_filepath("layers/infrastructure/push_package_repository")
|
59
59
|
autoload :ExtensionPointRepository, Project.project_filepath("layers/infrastructure/extension_point_repository")
|
60
|
+
autoload :MetadataRepository, Project.project_filepath("layers/infrastructure/metadata_repository")
|
60
61
|
autoload :ScriptProjectRepository, Project.project_filepath("layers/infrastructure/script_project_repository")
|
61
62
|
autoload :ScriptService, Project.project_filepath("layers/infrastructure/script_service")
|
62
63
|
autoload :ScriptUploader, Project.project_filepath("layers/infrastructure/script_uploader")
|
@@ -73,6 +74,10 @@ module Script
|
|
73
74
|
Project.project_filepath("layers/infrastructure/languages/typescript_project_creator.rb")
|
74
75
|
autoload :TypeScriptTaskRunner,
|
75
76
|
Project.project_filepath("layers/infrastructure/languages/typescript_task_runner.rb")
|
77
|
+
autoload :WasmProjectCreator,
|
78
|
+
Project.project_filepath("layers/infrastructure/languages/wasm_project_creator.rb")
|
79
|
+
autoload :WasmTaskRunner,
|
80
|
+
Project.project_filepath("layers/infrastructure/languages/wasm_task_runner.rb")
|
76
81
|
end
|
77
82
|
|
78
83
|
module ApiClients
|
@@ -8,6 +8,9 @@ payment_methods:
|
|
8
8
|
beta: true
|
9
9
|
package: "@shopify/scripts-checkout-apis"
|
10
10
|
repo: "https://github.com/Shopify/scripts-apis-examples"
|
11
|
+
wasm:
|
12
|
+
beta: true
|
13
|
+
repo: "https://github.com/Shopify/scripts-apis-examples"
|
11
14
|
shipping_methods:
|
12
15
|
domain: 'checkout'
|
13
16
|
libraries:
|
@@ -18,6 +21,9 @@ shipping_methods:
|
|
18
21
|
beta: true
|
19
22
|
package: "@shopify/scripts-checkout-apis"
|
20
23
|
repo: "https://github.com/Shopify/scripts-apis-examples"
|
24
|
+
wasm:
|
25
|
+
beta: true
|
26
|
+
repo: "https://github.com/Shopify/scripts-apis-examples"
|
21
27
|
merchandise_discount_types:
|
22
28
|
beta: true
|
23
29
|
domain: 'discounts'
|
@@ -26,6 +32,9 @@ merchandise_discount_types:
|
|
26
32
|
beta: true
|
27
33
|
package: "@shopify/scripts-discounts-apis"
|
28
34
|
repo: "https://github.com/Shopify/scripts-apis-examples"
|
35
|
+
wasm:
|
36
|
+
beta: true
|
37
|
+
repo: "https://github.com/Shopify/scripts-apis-examples"
|
29
38
|
delivery_discount_types:
|
30
39
|
beta: true
|
31
40
|
domain: 'discounts'
|
@@ -34,3 +43,6 @@ delivery_discount_types:
|
|
34
43
|
beta: true
|
35
44
|
package: "@shopify/scripts-discounts-apis"
|
36
45
|
repo: "https://github.com/Shopify/scripts-apis-examples"
|
46
|
+
wasm:
|
47
|
+
beta: true
|
48
|
+
repo: "https://github.com/Shopify/scripts-apis-examples"
|
@@ -9,10 +9,14 @@ module Script
|
|
9
9
|
CLI::UI::Frame.open(ctx.message("script.application.building")) do
|
10
10
|
begin
|
11
11
|
UI::StrictSpinner.spin(ctx.message("script.application.building_script")) do |spinner|
|
12
|
+
script_content = task_runner.build
|
13
|
+
metadata_file_location = task_runner.metadata_file_location
|
14
|
+
metadata = Infrastructure::MetadataRepository.new(ctx: ctx).get_metadata(metadata_file_location)
|
15
|
+
|
12
16
|
Infrastructure::PushPackageRepository.new(ctx: ctx).create_push_package(
|
13
17
|
script_project: script_project,
|
14
|
-
script_content:
|
15
|
-
metadata:
|
18
|
+
script_content: script_content,
|
19
|
+
metadata: metadata,
|
16
20
|
library: library,
|
17
21
|
)
|
18
22
|
spinner.update_title(ctx.message("script.application.built"))
|
@@ -3,7 +3,7 @@ module Script
|
|
3
3
|
module Application
|
4
4
|
class ProjectDependencies
|
5
5
|
def self.install(ctx:, task_runner:)
|
6
|
-
CLI::UI::Frame.open(ctx.message("script.project_deps.
|
6
|
+
CLI::UI::Frame.open(ctx.message("script.project_deps.checking")) do
|
7
7
|
begin
|
8
8
|
if task_runner.dependencies_installed?
|
9
9
|
ctx.puts(ctx.message("script.project_deps.none_required"))
|
@@ -13,45 +13,53 @@ module Script
|
|
13
13
|
.for(ctx, script_project.language, script_project.script_name)
|
14
14
|
|
15
15
|
extension_point = ExtensionPoints.get(type: script_project.extension_point_type)
|
16
|
-
|
16
|
+
|
17
|
+
library = extension_point.libraries.for(script_project.language)
|
18
|
+
|
17
19
|
raise Infrastructure::Errors::LanguageLibraryForAPINotFoundError.new(
|
18
20
|
language: script_project.language,
|
19
21
|
api: script_project.extension_point_type
|
20
|
-
)
|
22
|
+
) if library.nil? && (script_project.language != "wasm")
|
21
23
|
|
22
|
-
|
24
|
+
library_name = library&.package
|
25
|
+
library_data = {
|
23
26
|
language: script_project.language,
|
24
27
|
version: task_runner.library_version(library_name),
|
25
|
-
}
|
28
|
+
} if library_name
|
26
29
|
|
27
30
|
ProjectDependencies.install(ctx: ctx, task_runner: task_runner)
|
28
|
-
BuildScript.call(ctx: ctx, task_runner: task_runner, script_project: script_project, library:
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
31
|
+
BuildScript.call(ctx: ctx, task_runner: task_runner, script_project: script_project, library: library_data)
|
32
|
+
|
33
|
+
metadata_file_location = task_runner.metadata_file_location
|
34
|
+
metadata = Infrastructure::MetadataRepository.new(ctx: ctx).get_metadata(metadata_file_location)
|
35
|
+
|
36
|
+
CLI::UI::Frame.open(ctx.message("script.application.pushing")) do
|
37
|
+
UI::PrintingSpinner.spin(ctx, ctx.message("script.application.pushing_script")) do |p_ctx, spinner|
|
38
|
+
package = Infrastructure::PushPackageRepository.new(ctx: p_ctx).get_push_package(
|
39
|
+
script_project: script_project,
|
40
|
+
metadata: metadata,
|
41
|
+
library: library_data,
|
42
|
+
)
|
43
|
+
script_service = Infrastructure::ServiceLocator.script_service(
|
44
|
+
ctx: p_ctx,
|
45
|
+
api_key: script_project.api_key
|
46
|
+
)
|
47
|
+
module_upload_url = Infrastructure::ScriptUploader.new(script_service).upload(package.script_content)
|
48
|
+
uuid = script_service.set_app_script(
|
49
|
+
uuid: package.uuid,
|
50
|
+
extension_point_type: package.extension_point_type,
|
51
|
+
force: force,
|
52
|
+
metadata: package.metadata,
|
53
|
+
script_config: package.script_config,
|
54
|
+
module_upload_url: module_upload_url,
|
55
|
+
library: package.library,
|
56
|
+
input_query: script_project.input_query,
|
57
|
+
)
|
58
|
+
if ShopifyCLI::Environment.interactive?
|
59
|
+
script_project_repo.update_env(uuid: uuid)
|
60
|
+
end
|
61
|
+
spinner.update_title(p_ctx.message("script.application.pushed"))
|
53
62
|
end
|
54
|
-
spinner.update_title(p_ctx.message("script.application.pushed"))
|
55
63
|
end
|
56
64
|
end
|
57
65
|
end
|
@@ -32,7 +32,13 @@ module Script
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
class MetadataNotFoundError < ScriptProjectError
|
35
|
+
class MetadataNotFoundError < ScriptProjectError
|
36
|
+
attr_reader :filename
|
37
|
+
def initialize(filename)
|
38
|
+
super()
|
39
|
+
@filename = filename
|
40
|
+
end
|
41
|
+
end
|
36
42
|
|
37
43
|
class MetadataValidationError < ScriptProjectError; end
|
38
44
|
end
|
@@ -42,8 +42,8 @@ module Script
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def all
|
45
|
-
@all ||= @config.map do |language,
|
46
|
-
ExtensionPointLibrary.new(language,
|
45
|
+
@all ||= @config.map do |language, library_config|
|
46
|
+
ExtensionPointLibrary.new(language, library_config)
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -159,6 +159,15 @@ module Script
|
|
159
159
|
class ScriptUploadError < ScriptProjectError; end
|
160
160
|
class ProjectConfigNotFoundError < ScriptProjectError; end
|
161
161
|
class InvalidProjectConfigError < ScriptProjectError; end
|
162
|
+
|
163
|
+
class ScriptTooLargeError < ScriptProjectError
|
164
|
+
attr_reader :max_size
|
165
|
+
|
166
|
+
def initialize(max_size)
|
167
|
+
super()
|
168
|
+
@max_size = max_size
|
169
|
+
end
|
170
|
+
end
|
162
171
|
end
|
163
172
|
end
|
164
173
|
end
|
@@ -33,14 +33,8 @@ module Script
|
|
33
33
|
ctx.dir_exist?("node_modules")
|
34
34
|
end
|
35
35
|
|
36
|
-
def
|
37
|
-
|
38
|
-
msg = @ctx.message("script.error.metadata_not_found_cause", METADATA_FILE)
|
39
|
-
raise Domain::Errors::MetadataNotFoundError, msg
|
40
|
-
end
|
41
|
-
|
42
|
-
raw_contents = File.read(METADATA_FILE)
|
43
|
-
Domain::Metadata.create_from_json(@ctx, raw_contents)
|
36
|
+
def metadata_file_location
|
37
|
+
METADATA_FILE
|
44
38
|
end
|
45
39
|
|
46
40
|
def library_version(library_name)
|
@@ -34,14 +34,8 @@ module Script
|
|
34
34
|
ctx.dir_exist?("node_modules")
|
35
35
|
end
|
36
36
|
|
37
|
-
def
|
38
|
-
|
39
|
-
msg = @ctx.message("script.error.metadata_not_found_cause", METADATA_FILE)
|
40
|
-
raise Domain::Errors::MetadataNotFoundError, msg
|
41
|
-
end
|
42
|
-
|
43
|
-
raw_contents = File.read(METADATA_FILE)
|
44
|
-
Domain::Metadata.create_from_json(@ctx, raw_contents)
|
37
|
+
def metadata_file_location
|
38
|
+
METADATA_FILE
|
45
39
|
end
|
46
40
|
|
47
41
|
def library_version(library_name)
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Script
|
4
|
+
module Layers
|
5
|
+
module Infrastructure
|
6
|
+
module Languages
|
7
|
+
class WasmTaskRunner
|
8
|
+
BYTECODE_FILE = "script.wasm"
|
9
|
+
attr_reader :ctx, :script_name
|
10
|
+
|
11
|
+
def initialize(ctx, script_name)
|
12
|
+
@ctx = ctx
|
13
|
+
@script_name = script_name
|
14
|
+
end
|
15
|
+
|
16
|
+
def dependencies_installed?
|
17
|
+
true
|
18
|
+
end
|
19
|
+
|
20
|
+
def library_version(_library_name)
|
21
|
+
nil
|
22
|
+
end
|
23
|
+
|
24
|
+
def metadata_file_location
|
25
|
+
"metadata.json"
|
26
|
+
end
|
27
|
+
|
28
|
+
def build
|
29
|
+
raise Errors::WebAssemblyBinaryNotFoundError unless ctx.file_exist?(BYTECODE_FILE)
|
30
|
+
ctx.binread(BYTECODE_FILE)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
|
2
|
+
module Script
|
3
|
+
module Layers
|
4
|
+
module Infrastructure
|
5
|
+
class MetadataRepository
|
6
|
+
include SmartProperties
|
7
|
+
property! :ctx, accepts: ShopifyCLI::Context
|
8
|
+
|
9
|
+
def get_metadata(file_location)
|
10
|
+
raise Domain::Errors::MetadataNotFoundError, file_location unless ctx.file_exist?(file_location)
|
11
|
+
|
12
|
+
raw_contents = File.read(file_location)
|
13
|
+
Domain::Metadata.create_from_json(ctx, raw_contents)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -24,7 +24,7 @@ module Script
|
|
24
24
|
|
25
25
|
def get_push_package(script_project:, metadata:, library:)
|
26
26
|
build_file_path = file_path(script_project.id)
|
27
|
-
raise Domain::PushPackageNotFoundError unless ctx.file_exist?(build_file_path)
|
27
|
+
raise Domain::Errors::PushPackageNotFoundError unless ctx.file_exist?(build_file_path)
|
28
28
|
|
29
29
|
script_content = ctx.binread(build_file_path)
|
30
30
|
Domain::PushPackage.new(
|
@@ -35,12 +35,14 @@ module Script
|
|
35
35
|
configurationUi: script_config.configuration_ui,
|
36
36
|
configurationDefinition: script_config.configuration&.to_json,
|
37
37
|
moduleUploadUrl: module_upload_url,
|
38
|
-
library: {
|
39
|
-
language: library[:language],
|
40
|
-
version: library[:version],
|
41
|
-
},
|
42
38
|
inputQuery: input_query,
|
43
39
|
}
|
40
|
+
|
41
|
+
variables[:library] = {
|
42
|
+
language: library[:language],
|
43
|
+
version: library[:version],
|
44
|
+
} if library
|
45
|
+
|
44
46
|
resp_hash = make_request(query_name: query_name, variables: variables)
|
45
47
|
user_errors = resp_hash["data"]["appScriptSet"]["userErrors"]
|
46
48
|
|
@@ -93,14 +95,16 @@ module Script
|
|
93
95
|
response["data"]["appScripts"]
|
94
96
|
end
|
95
97
|
|
96
|
-
def
|
98
|
+
def generate_module_upload_details
|
97
99
|
query_name = "module_upload_url_generate"
|
98
100
|
variables = {}
|
99
101
|
response = make_request(query_name: query_name, variables: variables)
|
100
102
|
user_errors = response["data"]["moduleUploadUrlGenerate"]["userErrors"]
|
101
103
|
|
102
104
|
raise Errors::GraphqlError, user_errors if user_errors.any?
|
103
|
-
|
105
|
+
|
106
|
+
data = response["data"]["moduleUploadUrlGenerate"]["details"]
|
107
|
+
{ url: data["url"], headers: data["headers"], max_size: data["humanizedMaxSize"] }
|
104
108
|
end
|
105
109
|
|
106
110
|
private
|
@@ -7,19 +7,32 @@ module Script
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def upload(script_content)
|
10
|
-
@script_service.
|
11
|
-
|
10
|
+
upload_details = @script_service.generate_module_upload_details
|
11
|
+
url = URI(upload_details[:url])
|
12
12
|
|
13
|
-
|
14
|
-
|
13
|
+
https = Net::HTTP.new(url.host, url.port)
|
14
|
+
https.use_ssl = true
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
request.body = script_content
|
16
|
+
request = Net::HTTP::Put.new(url)
|
17
|
+
request["Content-Type"] = "application/wasm"
|
19
18
|
|
20
|
-
|
21
|
-
|
19
|
+
upload_details[:headers].each do |header, value|
|
20
|
+
request[header] = value
|
22
21
|
end
|
22
|
+
|
23
|
+
request.body = script_content
|
24
|
+
|
25
|
+
response = https.request(request)
|
26
|
+
raise Errors::ScriptTooLargeError, upload_details[:max_size] if script_too_large?(response)
|
27
|
+
raise Errors::ScriptUploadError unless response.code == "200"
|
28
|
+
|
29
|
+
upload_details[:url]
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def script_too_large?(response)
|
35
|
+
response.code == "400" && response.body.include?("EntityTooLarge")
|
23
36
|
end
|
24
37
|
end
|
25
38
|
end
|
@@ -129,8 +129,8 @@ module Script
|
|
129
129
|
"\nbuild: npx shopify-scripts-toolchain-as build --src src/shopify_main.ts --binary build/<script_name>.wasm --metadata build/metadata.json -- --lib node_modules --optimize --use Date=",
|
130
130
|
|
131
131
|
web_assembly_binary_not_found: "WebAssembly binary not found.",
|
132
|
-
web_assembly_binary_not_found_suggestion: "No WebAssembly binary found." \
|
133
|
-
"Check that your build
|
132
|
+
web_assembly_binary_not_found_suggestion: "No WebAssembly binary found. " \
|
133
|
+
"Check that your build script outputs the generated binary to the root of the directory. " \
|
134
134
|
"Generated binary should match the script name: <script_name>.wasm",
|
135
135
|
|
136
136
|
project_config_not_found: "Internal error - Script can't be created because the project's config file is missing from the repository.",
|
@@ -140,6 +140,9 @@ module Script
|
|
140
140
|
script_upload_cause: "Fail to upload script.",
|
141
141
|
script_upload_help: "Try again.",
|
142
142
|
|
143
|
+
script_too_large_cause: "The size of your Wasm binary file is too large.",
|
144
|
+
script_too_large_help: "It must be less than %{max_size}.",
|
145
|
+
|
143
146
|
api_library_not_found_cause: "Script can't be created because API library %{library_name} is missing from the dependencies",
|
144
147
|
api_library_not_found_help: "This error can occur because the API library was removed from your system or there is a problem with dependencies in the repository.",
|
145
148
|
|
@@ -170,6 +173,9 @@ module Script
|
|
170
173
|
change_directory_notice: "{{*}} Change directories to {{green:%s}} to run script commands",
|
171
174
|
creating: "Creating script",
|
172
175
|
created: "Created script",
|
176
|
+
preparing_project: "Preparing script project structure",
|
177
|
+
creating_wasm: "Creating configuration files",
|
178
|
+
created_wasm: "Configuration files created",
|
173
179
|
},
|
174
180
|
|
175
181
|
push: {
|
@@ -218,7 +224,7 @@ module Script
|
|
218
224
|
|
219
225
|
project_deps: {
|
220
226
|
none_required: "{{v}} None required",
|
221
|
-
|
227
|
+
checking: "Checking dependencies",
|
222
228
|
installing: "Dependencies installing",
|
223
229
|
installed: "Missing dependencies installed",
|
224
230
|
},
|
@@ -236,6 +242,7 @@ module Script
|
|
236
242
|
building_script: "Building script",
|
237
243
|
built: "Built",
|
238
244
|
pushing: "Pushing",
|
245
|
+
pushing_script: "Pushing script",
|
239
246
|
pushed: "Pushed",
|
240
247
|
ensure_env: {
|
241
248
|
organization: "Partner organization {{green:%s (%s)}}.",
|
@@ -100,7 +100,7 @@ module Script
|
|
100
100
|
}
|
101
101
|
when Layers::Domain::Errors::MetadataNotFoundError
|
102
102
|
{
|
103
|
-
cause_of_error: ShopifyCLI::Context.message("script.error.metadata_not_found_cause"),
|
103
|
+
cause_of_error: ShopifyCLI::Context.message("script.error.metadata_not_found_cause", e.filename),
|
104
104
|
help_suggestion: ShopifyCLI::Context.message("script.error.metadata_not_found_help"),
|
105
105
|
}
|
106
106
|
when Layers::Domain::Errors::MissingScriptConfigFieldError
|
@@ -251,6 +251,11 @@ module Script
|
|
251
251
|
cause_of_error: ShopifyCLI::Context.message("script.error.script_upload_cause"),
|
252
252
|
help_suggestion: ShopifyCLI::Context.message("script.error.script_upload_help"),
|
253
253
|
}
|
254
|
+
when Layers::Infrastructure::Errors::ScriptTooLargeError
|
255
|
+
{
|
256
|
+
cause_of_error: ShopifyCLI::Context.message("script.error.script_too_large_cause"),
|
257
|
+
help_suggestion: ShopifyCLI::Context.message("script.error.script_too_large_help", max_size: e.max_size),
|
258
|
+
}
|
254
259
|
when Layers::Infrastructure::Errors::APILibraryNotFoundError
|
255
260
|
{
|
256
261
|
cause_of_error: ShopifyCLI::Context
|
data/lib/shopify_cli/version.rb
CHANGED
@@ -174,11 +174,16 @@ module CLI
|
|
174
174
|
end
|
175
175
|
|
176
176
|
def os
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
177
|
+
@current_os ||= case RbConfig::CONFIG['host_os']
|
178
|
+
when /darwin/ then :mac
|
179
|
+
when /linux/ then :linux
|
180
|
+
else
|
181
|
+
if RUBY_PLATFORM !~ /cygwin/ && ENV['OS'] == 'Windows_NT'
|
182
|
+
:windows
|
183
|
+
else
|
184
|
+
raise "Could not determine OS from host_os #{RbConfig::CONFIG["host_os"]}"
|
185
|
+
end
|
186
|
+
end
|
182
187
|
end
|
183
188
|
|
184
189
|
private
|
@@ -4,15 +4,17 @@ module CLI
|
|
4
4
|
# Determines which OS is currently running the UI, to make it easier to
|
5
5
|
# adapt its behaviour to the features of the OS.
|
6
6
|
def self.current
|
7
|
-
@current_os ||= case
|
7
|
+
@current_os ||= case RbConfig::CONFIG['host_os']
|
8
8
|
when /darwin/
|
9
9
|
Mac
|
10
10
|
when /linux/
|
11
11
|
Linux
|
12
|
-
when /mingw32/
|
13
|
-
Windows
|
14
12
|
else
|
15
|
-
|
13
|
+
if RUBY_PLATFORM !~ /cygwin/ && ENV['OS'] == 'Windows_NT'
|
14
|
+
Windows
|
15
|
+
else
|
16
|
+
raise "Could not determine OS from host_os #{RbConfig::CONFIG["host_os"]}"
|
17
|
+
end
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
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.10.
|
4
|
+
version: 2.10.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-01-
|
11
|
+
date: 2022-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -317,6 +317,9 @@ files:
|
|
317
317
|
- lib/project_types/script/layers/infrastructure/languages/task_runner.rb
|
318
318
|
- lib/project_types/script/layers/infrastructure/languages/typescript_project_creator.rb
|
319
319
|
- lib/project_types/script/layers/infrastructure/languages/typescript_task_runner.rb
|
320
|
+
- lib/project_types/script/layers/infrastructure/languages/wasm_project_creator.rb
|
321
|
+
- lib/project_types/script/layers/infrastructure/languages/wasm_task_runner.rb
|
322
|
+
- lib/project_types/script/layers/infrastructure/metadata_repository.rb
|
320
323
|
- lib/project_types/script/layers/infrastructure/push_package_repository.rb
|
321
324
|
- lib/project_types/script/layers/infrastructure/script_project_repository.rb
|
322
325
|
- lib/project_types/script/layers/infrastructure/script_service.rb
|