shopify-cli 2.5.0 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
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