shopify-cli 2.5.0 → 2.6.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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +11 -0
  4. data/Dockerfile +0 -2
  5. data/Gemfile.lock +22 -16
  6. data/Rakefile +7 -16
  7. data/bin/console +11 -0
  8. data/bin/shopify +15 -3
  9. data/dev.yml +3 -0
  10. data/ext/shopify-cli/extconf.rb +2 -0
  11. data/lib/project_types/extension/cli.rb +2 -0
  12. data/lib/project_types/extension/commands/build.rb +2 -1
  13. data/lib/project_types/extension/features/argo.rb +1 -1
  14. data/lib/project_types/extension/features/argo_serve.rb +1 -0
  15. data/lib/project_types/extension/models/development_server.rb +4 -0
  16. data/lib/project_types/extension/models/development_server_requirements.rb +1 -2
  17. data/lib/project_types/extension/models/specification_handlers/default.rb +4 -0
  18. data/lib/project_types/extension/tasks/converters/server_config_converter.rb +31 -0
  19. data/lib/project_types/extension/tasks/find_npm_packages.rb +2 -2
  20. data/lib/project_types/extension/tasks/load_server_config.rb +23 -0
  21. data/lib/project_types/extension/tasks/run_extension_command.rb +26 -10
  22. data/lib/project_types/node/commands/serve.rb +9 -1
  23. data/lib/project_types/node/messages/messages.rb +3 -0
  24. data/lib/project_types/script/cli.rb +4 -3
  25. data/lib/project_types/script/commands/create.rb +2 -0
  26. data/lib/project_types/script/config/extension_points.yml +30 -29
  27. data/lib/project_types/script/layers/application/create_script.rb +32 -12
  28. data/lib/project_types/script/layers/application/extension_points.rb +3 -3
  29. data/lib/project_types/script/layers/domain/extension_point.rb +13 -45
  30. data/lib/project_types/script/layers/infrastructure/api_clients/partners_proxy_api_client.rb +4 -2
  31. data/lib/project_types/script/layers/infrastructure/api_clients/script_service_api_client.rb +1 -1
  32. data/lib/project_types/script/layers/infrastructure/errors.rb +5 -0
  33. data/lib/project_types/script/layers/infrastructure/languages/assemblyscript_project_creator.rb +10 -90
  34. data/lib/project_types/script/layers/infrastructure/languages/project_creator.rb +76 -11
  35. data/lib/project_types/script/layers/infrastructure/languages/task_runner.rb +1 -1
  36. data/lib/project_types/script/layers/infrastructure/languages/typescript_project_creator.rb +33 -0
  37. data/lib/project_types/script/layers/infrastructure/languages/typescript_task_runner.rb +105 -0
  38. data/lib/project_types/script/layers/infrastructure/script_project_repository.rb +1 -1
  39. data/lib/project_types/script/messages/messages.rb +4 -0
  40. data/lib/project_types/script/ui/error_handler.rb +8 -0
  41. data/lib/shopify_cli/command/app_sub_command.rb +16 -0
  42. data/lib/shopify_cli/constants.rb +33 -5
  43. data/lib/shopify_cli/core/executor.rb +5 -1
  44. data/lib/shopify_cli/environment.rb +35 -4
  45. data/lib/shopify_cli/exception_reporter/permission_controller.rb +54 -0
  46. data/lib/shopify_cli/exception_reporter.rb +55 -0
  47. data/lib/shopify_cli/git.rb +30 -0
  48. data/lib/shopify_cli/messages/messages.rb +27 -1
  49. data/lib/shopify_cli/method_object.rb +11 -4
  50. data/lib/shopify_cli/migrator/migration.rb +27 -0
  51. data/lib/shopify_cli/migrator/migrations/1631709766_noop.rb +13 -0
  52. data/lib/shopify_cli/migrator.rb +48 -0
  53. data/lib/shopify_cli/version.rb +1 -1
  54. data/lib/shopify_cli.rb +11 -3
  55. data/shopify-cli.gemspec +9 -1
  56. data/utilities/docker.rb +47 -0
  57. data/utilities/utilities.rb +5 -0
  58. metadata +31 -6
  59. data/lib/project_types/script/layers/infrastructure/languages/rust_project_creator.rb +0 -73
  60. data/lib/project_types/script/layers/infrastructure/languages/rust_task_runner.rb +0 -60
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.5.0
4
+ version: 2.6.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-09-23 00:00:00.000000000 Z
11
+ date: 2021-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,6 +58,20 @@ dependencies:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '5.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: bugsnag
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '6.22'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '6.22'
61
75
  - !ruby/object:Gem::Dependency
62
76
  name: listen
63
77
  requirement: !ruby/object:Gem::Requirement
@@ -78,14 +92,14 @@ dependencies:
78
92
  requirements:
79
93
  - - "~>"
80
94
  - !ruby/object:Gem::Version
81
- version: 1.4.0
95
+ version: '1.7'
82
96
  type: :runtime
83
97
  prerelease: false
84
98
  version_requirements: !ruby/object:Gem::Requirement
85
99
  requirements:
86
100
  - - "~>"
87
101
  - !ruby/object:Gem::Version
88
- version: 1.4.0
102
+ version: '1.7'
89
103
  description: |
90
104
  Shopify CLI helps you build Shopify apps faster. It quickly scaffolds Node.js
91
105
  and Ruby on Rails embedded apps. It also automates many common tasks in the
@@ -124,6 +138,7 @@ files:
124
138
  - Rakefile
125
139
  - SECURITY.md
126
140
  - THEMEKIT_MIGRATION.md
141
+ - bin/console
127
142
  - bin/load_shopify.rb
128
143
  - bin/shopify
129
144
  - dev.yml
@@ -229,6 +244,7 @@ files:
229
244
  - lib/project_types/extension/tasks/converters/app_converter.rb
230
245
  - lib/project_types/extension/tasks/converters/product_converter.rb
231
246
  - lib/project_types/extension/tasks/converters/registration_converter.rb
247
+ - lib/project_types/extension/tasks/converters/server_config_converter.rb
232
248
  - lib/project_types/extension/tasks/converters/validation_error_converter.rb
233
249
  - lib/project_types/extension/tasks/converters/version_converter.rb
234
250
  - lib/project_types/extension/tasks/create_extension.rb
@@ -238,6 +254,7 @@ files:
238
254
  - lib/project_types/extension/tasks/get_apps.rb
239
255
  - lib/project_types/extension/tasks/get_extensions.rb
240
256
  - lib/project_types/extension/tasks/get_product.rb
257
+ - lib/project_types/extension/tasks/load_server_config.rb
241
258
  - lib/project_types/extension/tasks/run_extension_command.rb
242
259
  - lib/project_types/extension/tasks/update_draft.rb
243
260
  - lib/project_types/extension/tasks/user_errors.rb
@@ -306,9 +323,9 @@ files:
306
323
  - lib/project_types/script/layers/infrastructure/languages/assemblyscript_project_creator.rb
307
324
  - lib/project_types/script/layers/infrastructure/languages/assemblyscript_task_runner.rb
308
325
  - lib/project_types/script/layers/infrastructure/languages/project_creator.rb
309
- - lib/project_types/script/layers/infrastructure/languages/rust_project_creator.rb
310
- - lib/project_types/script/layers/infrastructure/languages/rust_task_runner.rb
311
326
  - lib/project_types/script/layers/infrastructure/languages/task_runner.rb
327
+ - lib/project_types/script/layers/infrastructure/languages/typescript_project_creator.rb
328
+ - lib/project_types/script/layers/infrastructure/languages/typescript_task_runner.rb
312
329
  - lib/project_types/script/layers/infrastructure/push_package_repository.rb
313
330
  - lib/project_types/script/layers/infrastructure/script_project_repository.rb
314
331
  - lib/project_types/script/layers/infrastructure/script_service.rb
@@ -340,6 +357,7 @@ files:
340
357
  - lib/shopify_cli/admin_api/schema.rb
341
358
  - lib/shopify_cli/api.rb
342
359
  - lib/shopify_cli/command.rb
360
+ - lib/shopify_cli/command/app_sub_command.rb
343
361
  - lib/shopify_cli/commands.rb
344
362
  - lib/shopify_cli/commands/config.rb
345
363
  - lib/shopify_cli/commands/help.rb
@@ -365,6 +383,8 @@ files:
365
383
  - lib/shopify_cli/core/monorail.rb
366
384
  - lib/shopify_cli/db.rb
367
385
  - lib/shopify_cli/environment.rb
386
+ - lib/shopify_cli/exception_reporter.rb
387
+ - lib/shopify_cli/exception_reporter/permission_controller.rb
368
388
  - lib/shopify_cli/feature.rb
369
389
  - lib/shopify_cli/form.rb
370
390
  - lib/shopify_cli/git.rb
@@ -379,6 +399,9 @@ files:
379
399
  - lib/shopify_cli/lazy_delegator.rb
380
400
  - lib/shopify_cli/messages/messages.rb
381
401
  - lib/shopify_cli/method_object.rb
402
+ - lib/shopify_cli/migrator.rb
403
+ - lib/shopify_cli/migrator/migration.rb
404
+ - lib/shopify_cli/migrator/migrations/1631709766_noop.rb
382
405
  - lib/shopify_cli/options.rb
383
406
  - lib/shopify_cli/packager.rb
384
407
  - lib/shopify_cli/partners_api.rb
@@ -427,6 +450,8 @@ files:
427
450
  - shopify-cli.gemspec
428
451
  - shopify.fish
429
452
  - shopify.sh
453
+ - utilities/docker.rb
454
+ - utilities/utilities.rb
430
455
  - vendor/deps/cli-kit/REVISION
431
456
  - vendor/deps/cli-kit/lib/cli/kit.rb
432
457
  - vendor/deps/cli-kit/lib/cli/kit/autocall.rb
@@ -1,73 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Script
4
- module Layers
5
- module Infrastructure
6
- module Languages
7
- class RustProjectCreator
8
- include SmartProperties
9
- property! :ctx, accepts: ShopifyCLI::Context
10
- property! :extension_point, accepts: Domain::ExtensionPoint
11
- property! :script_name, accepts: String
12
- property! :path_to_project, accepts: String
13
-
14
- ORIGIN_BRANCH = "main"
15
- SAMPLE_PATH = "default"
16
-
17
- def setup_dependencies
18
- git_init
19
- setup_remote
20
- setup_sparse_checkout
21
- pull
22
- clean
23
- set_script_name
24
- end
25
-
26
- def bootstrap
27
- end
28
-
29
- private
30
-
31
- def command_runner
32
- @command_runner ||= CommandRunner.new(ctx: ctx)
33
- end
34
-
35
- def git_init
36
- command_runner.call("git init")
37
- end
38
-
39
- def setup_remote
40
- repo = extension_point.sdks.rust.package
41
- command_runner.call("git remote add -f origin #{repo}")
42
- end
43
-
44
- def setup_sparse_checkout
45
- type = extension_point.type
46
- command_runner.call("git config core.sparsecheckout true")
47
- command_runner.call("echo #{type}/#{SAMPLE_PATH} >> .git/info/sparse-checkout")
48
- end
49
-
50
- def pull
51
- command_runner.call("git pull origin #{ORIGIN_BRANCH}")
52
- end
53
-
54
- def clean
55
- type = extension_point.type
56
- ctx.rm_rf(".git")
57
- source = File.join(path_to_project, File.join(type, SAMPLE_PATH))
58
- FileUtils.copy_entry(source, path_to_project)
59
- ctx.rm_rf(type)
60
- end
61
-
62
- def set_script_name
63
- config_file = "Cargo.toml"
64
- upstream_name = "#{extension_point.type.gsub("_", "-")}-default"
65
- contents = File.read(config_file)
66
- new_contents = contents.sub(upstream_name, script_name)
67
- File.write(config_file, new_contents)
68
- end
69
- end
70
- end
71
- end
72
- end
73
- end
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
- module Script
3
- module Layers
4
- module Infrastructure
5
- module Languages
6
- class RustTaskRunner
7
- attr_reader :ctx
8
-
9
- BUILD_TARGET = "wasm32-unknown-unknown"
10
- METADATA_FILE = "build/metadata.json"
11
- CARGO_BUILD_CMD = "cargo build --target=#{BUILD_TARGET} --release"
12
-
13
- def initialize(ctx, _)
14
- @ctx = ctx
15
- end
16
-
17
- def dependencies_installed?
18
- true
19
- end
20
-
21
- def install_dependencies
22
- end
23
-
24
- def build
25
- compile
26
- bytecode
27
- end
28
-
29
- def compiled_type
30
- "wasm"
31
- end
32
-
33
- def metadata
34
- unless @ctx.file_exist?(METADATA_FILE)
35
- msg = @ctx.message("script.error.metadata_not_found_cause", METADATA_FILE)
36
- raise Domain::Errors::MetadataNotFoundError, msg
37
- end
38
-
39
- raw_contents = File.read(METADATA_FILE)
40
- Domain::Metadata.create_from_json(@ctx, raw_contents)
41
- end
42
-
43
- private
44
-
45
- def compile
46
- CommandRunner.new(ctx: ctx).call(CARGO_BUILD_CMD)
47
- end
48
-
49
- def bytecode
50
- binary_name = "script.wasm"
51
- binary_path = "target/#{BUILD_TARGET}/release/#{binary_name}"
52
- raise Errors::WebAssemblyBinaryNotFoundError unless ctx.file_exist?(binary_path)
53
-
54
- ctx.binread(binary_path)
55
- end
56
- end
57
- end
58
- end
59
- end
60
- end