shopify-cli 2.24.0 → 2.26.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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +1 -1
  5. data/dev.yml +0 -3
  6. data/lib/project_types/extension/commands/serve.rb +57 -3
  7. data/lib/project_types/extension/extension_project.rb +8 -1
  8. data/lib/project_types/extension/loaders/project.rb +3 -2
  9. data/lib/project_types/extension/messages/messages.rb +21 -6
  10. data/lib/project_types/extension/models/server_config/development_renderer.rb +1 -1
  11. data/lib/project_types/extension/models/specification_handlers/theme_app_extension.rb +18 -6
  12. data/lib/project_types/script/cli.rb +0 -79
  13. data/lib/project_types/script/commands/connect.rb +3 -8
  14. data/lib/project_types/script/commands/create.rb +4 -29
  15. data/lib/project_types/script/commands/javy.rb +3 -8
  16. data/lib/project_types/script/commands/push.rb +4 -41
  17. data/lib/project_types/script/messages/messages.rb +1 -258
  18. data/lib/project_types/theme/commands/common/shop_helper.rb +13 -0
  19. data/lib/project_types/theme/commands/delete.rb +4 -1
  20. data/lib/project_types/theme/commands/list.rb +3 -4
  21. data/lib/project_types/theme/commands/open.rb +4 -1
  22. data/lib/project_types/theme/commands/publish.rb +4 -1
  23. data/lib/project_types/theme/commands/pull.rb +3 -1
  24. data/lib/project_types/theme/commands/push.rb +3 -1
  25. data/lib/project_types/theme/commands/serve.rb +15 -3
  26. data/lib/project_types/theme/messages/messages.rb +9 -7
  27. data/lib/shopify_cli/commands/logout.rb +13 -2
  28. data/lib/shopify_cli/environment.rb +1 -1
  29. data/lib/shopify_cli/file_system_listener.rb +30 -0
  30. data/lib/shopify_cli/git.rb +116 -33
  31. data/lib/shopify_cli/identity_auth.rb +1 -0
  32. data/lib/shopify_cli/messages/messages.rb +1 -1
  33. data/lib/shopify_cli/packager.rb +12 -3
  34. data/lib/shopify_cli/project.rb +1 -1
  35. data/lib/shopify_cli/release.rb +4 -2
  36. data/lib/shopify_cli/tasks/ensure_project_type.rb +3 -1
  37. data/lib/shopify_cli/theme/dev_server/cdn_fonts.rb +1 -1
  38. data/lib/shopify_cli/theme/dev_server/certificate_manager.rb +1 -1
  39. data/lib/shopify_cli/theme/dev_server/errors.rb +9 -0
  40. data/lib/shopify_cli/theme/dev_server/header_hash.rb +1 -1
  41. data/lib/shopify_cli/theme/dev_server/hooks/file_change_hook.rb +77 -0
  42. data/lib/shopify_cli/theme/dev_server/hot_reload/remote_file_deleter.rb +1 -1
  43. data/lib/shopify_cli/theme/dev_server/hot_reload/remote_file_reloader.rb +1 -1
  44. data/lib/shopify_cli/theme/dev_server/{hot-reload-no-script.html → hot_reload/resources/hot-reload-no-script.html} +0 -0
  45. data/lib/shopify_cli/theme/dev_server/hot_reload/resources/hot_reload.js +48 -0
  46. data/lib/shopify_cli/theme/dev_server/hot_reload/resources/sse_client.js +43 -0
  47. data/lib/shopify_cli/theme/dev_server/hot_reload/resources/theme.js +114 -0
  48. data/lib/shopify_cli/theme/dev_server/hot_reload/resources/theme_extension.js +121 -0
  49. data/lib/shopify_cli/theme/dev_server/hot_reload/script_injector.rb +57 -0
  50. data/lib/shopify_cli/theme/dev_server/hot_reload/sections_index.rb +1 -1
  51. data/lib/shopify_cli/theme/dev_server/hot_reload.rb +8 -76
  52. data/lib/shopify_cli/theme/dev_server/local_assets.rb +28 -28
  53. data/lib/shopify_cli/theme/dev_server/proxy.rb +33 -25
  54. data/lib/shopify_cli/theme/dev_server/proxy_param_builder.rb +82 -0
  55. data/lib/shopify_cli/theme/dev_server/reload_mode.rb +1 -1
  56. data/lib/shopify_cli/theme/dev_server/remote_watcher/json_files_update_job.rb +1 -1
  57. data/lib/shopify_cli/theme/dev_server/remote_watcher.rb +1 -1
  58. data/lib/shopify_cli/theme/dev_server/sse.rb +1 -1
  59. data/lib/shopify_cli/theme/dev_server/watcher.rb +8 -9
  60. data/lib/shopify_cli/theme/dev_server/web_server.rb +1 -1
  61. data/lib/shopify_cli/theme/dev_server.rb +287 -99
  62. data/lib/shopify_cli/theme/extension/app_extension.rb +40 -0
  63. data/lib/shopify_cli/theme/extension/dev_server/hooks/file_change_hook.rb +68 -0
  64. data/lib/shopify_cli/theme/extension/dev_server/hot_reload/script_injector.rb +30 -0
  65. data/lib/shopify_cli/theme/extension/dev_server/hot_reload.rb +13 -0
  66. data/lib/shopify_cli/theme/extension/dev_server/local_assets.rb +30 -0
  67. data/lib/shopify_cli/theme/{dev_server/proxy/template_param_builder.rb → extension/dev_server/proxy_param_builder.rb} +26 -16
  68. data/lib/shopify_cli/theme/extension/dev_server/watcher.rb +47 -0
  69. data/lib/shopify_cli/theme/extension/dev_server.rb +150 -0
  70. data/lib/shopify_cli/theme/extension/host_theme.rb +104 -0
  71. data/lib/shopify_cli/theme/extension/syncer/extension_serve_job.rb +133 -0
  72. data/lib/shopify_cli/theme/extension/syncer/operation.rb +21 -0
  73. data/lib/shopify_cli/theme/extension/syncer.rb +81 -0
  74. data/lib/shopify_cli/theme/extension/ui/host_theme_progress_bar.rb +35 -0
  75. data/lib/shopify_cli/theme/ignore_helper.rb +31 -0
  76. data/lib/shopify_cli/theme/root.rb +62 -0
  77. data/lib/shopify_cli/theme/syncer.rb +12 -6
  78. data/lib/shopify_cli/theme/theme.rb +10 -52
  79. data/lib/shopify_cli/version.rb +1 -1
  80. data/vendor/deps/cli-ui/lib/cli/ui/prompt/interactive_options.rb +1 -1
  81. metadata +28 -53
  82. data/.github/workflows/triage.yml +0 -22
  83. data/lib/project_types/script/config/extension_points.yml +0 -45
  84. data/lib/project_types/script/errors.rb +0 -10
  85. data/lib/project_types/script/forms/ask_app.rb +0 -27
  86. data/lib/project_types/script/forms/ask_org.rb +0 -30
  87. data/lib/project_types/script/forms/ask_script_uuid.rb +0 -22
  88. data/lib/project_types/script/forms/create.rb +0 -33
  89. data/lib/project_types/script/forms/run_against_shopify_org.rb +0 -14
  90. data/lib/project_types/script/graphql/app_script_set.graphql +0 -46
  91. data/lib/project_types/script/graphql/get_app_scripts.graphql +0 -6
  92. data/lib/project_types/script/graphql/module_upload_url_generate.graphql +0 -13
  93. data/lib/project_types/script/graphql/script_service_proxy.graphql +0 -7
  94. data/lib/project_types/script/layers/application/build_script.rb +0 -25
  95. data/lib/project_types/script/layers/application/connect_app.rb +0 -86
  96. data/lib/project_types/script/layers/application/create_script.rb +0 -90
  97. data/lib/project_types/script/layers/application/extension_points.rb +0 -66
  98. data/lib/project_types/script/layers/application/project_dependencies.rb +0 -26
  99. data/lib/project_types/script/layers/application/push_script.rb +0 -74
  100. data/lib/project_types/script/layers/domain/app_bridge.rb +0 -16
  101. data/lib/project_types/script/layers/domain/errors.rb +0 -47
  102. data/lib/project_types/script/layers/domain/extension_point.rb +0 -81
  103. data/lib/project_types/script/layers/domain/metadata.rb +0 -46
  104. data/lib/project_types/script/layers/domain/push_package.rb +0 -41
  105. data/lib/project_types/script/layers/domain/script_config.rb +0 -32
  106. data/lib/project_types/script/layers/domain/script_project.rb +0 -61
  107. data/lib/project_types/script/layers/infrastructure/api_clients/partners_proxy_api_client.rb +0 -53
  108. data/lib/project_types/script/layers/infrastructure/api_clients/script_service_api_client.rb +0 -35
  109. data/lib/project_types/script/layers/infrastructure/command_runner.rb +0 -19
  110. data/lib/project_types/script/layers/infrastructure/errors.rb +0 -211
  111. data/lib/project_types/script/layers/infrastructure/extension_point_repository.rb +0 -37
  112. data/lib/project_types/script/layers/infrastructure/languages/project_creator.rb +0 -62
  113. data/lib/project_types/script/layers/infrastructure/languages/task_runner.rb +0 -47
  114. data/lib/project_types/script/layers/infrastructure/languages/tool_version_checker.rb +0 -26
  115. data/lib/project_types/script/layers/infrastructure/languages/typescript_project_creator.rb +0 -45
  116. data/lib/project_types/script/layers/infrastructure/languages/typescript_task_runner.rb +0 -103
  117. data/lib/project_types/script/layers/infrastructure/languages/wasm_project_creator.rb +0 -12
  118. data/lib/project_types/script/layers/infrastructure/languages/wasm_task_runner.rb +0 -32
  119. data/lib/project_types/script/layers/infrastructure/metadata_repository.rb +0 -18
  120. data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +0 -36
  121. data/lib/project_types/script/layers/infrastructure/script_project_repository.rb +0 -273
  122. data/lib/project_types/script/layers/infrastructure/script_service.rb +0 -135
  123. data/lib/project_types/script/layers/infrastructure/script_uploader.rb +0 -40
  124. data/lib/project_types/script/layers/infrastructure/service_locator.rb +0 -20
  125. data/lib/project_types/script/layers/infrastructure/sparse_checkout_details.rb +0 -35
  126. data/lib/project_types/script/ui/error_handler.rb +0 -331
  127. data/lib/project_types/script/ui/printing_spinner.rb +0 -75
  128. data/lib/project_types/script/ui/strict_spinner.rb +0 -20
  129. data/lib/shopify_cli/theme/dev_server/hot-reload.js +0 -194
  130. data/lib/shopify_cli/theme/syncer/ignore_helper.rb +0 -33
@@ -7,7 +7,6 @@ require "forwardable"
7
7
 
8
8
  require_relative "syncer/checksums"
9
9
  require_relative "syncer/error_reporter"
10
- require_relative "syncer/ignore_helper"
11
10
  require_relative "syncer/json_delete_handler"
12
11
  require_relative "syncer/json_update_handler"
13
12
  require_relative "syncer/merger"
@@ -15,6 +14,7 @@ require_relative "syncer/operation"
15
14
  require_relative "syncer/standard_reporter"
16
15
  require_relative "syncer/unsupported_script_warning"
17
16
  require_relative "theme_admin_api"
17
+ require_relative "ignore_helper"
18
18
  require_relative "theme_admin_api_throttler"
19
19
 
20
20
  module ShopifyCLI
@@ -22,7 +22,7 @@ module ShopifyCLI
22
22
  class Syncer
23
23
  extend Forwardable
24
24
 
25
- include IgnoreHelper
25
+ include ShopifyCLI::Theme::IgnoreHelper
26
26
  include JsonDeleteHandler
27
27
  include JsonUpdateHandler
28
28
 
@@ -367,10 +367,16 @@ module ShopifyCLI
367
367
  end
368
368
 
369
369
  def parse_api_errors(operation, exception)
370
- parsed_body = if exception&.response&.is_a?(Hash)
371
- exception&.response&.[](:body)
372
- else
373
- JSON.parse(exception&.response&.body)
370
+ parsed_body = {}
371
+
372
+ if exception.respond_to?(:response)
373
+ response = exception.response
374
+
375
+ parsed_body = if response&.is_a?(Hash)
376
+ response&.[](:body)
377
+ else
378
+ JSON.parse(response&.body)
379
+ end
374
380
  end
375
381
 
376
382
  errors = parsed_body.dig("errors") # either nil or another type
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  require_relative "file"
3
+ require_relative "root"
3
4
  require_relative "theme_admin_api"
4
5
 
5
6
  require "pathname"
@@ -9,12 +10,11 @@ module ShopifyCLI
9
10
  module Theme
10
11
  class InvalidThemeRole < StandardError; end
11
12
 
12
- class Theme
13
+ class Theme < Root
13
14
  attr_reader :root, :id
14
15
 
15
16
  def initialize(ctx, root: nil, id: nil, name: nil, role: nil)
16
- @ctx = ctx
17
- @root = Pathname.new(root) if root
17
+ super(ctx, root: root)
18
18
  @id = id
19
19
  @name = name
20
20
  @role = role
@@ -24,48 +24,10 @@ module ShopifyCLI
24
24
  (glob(["**/*.liquid", "**/*.json"]) + static_asset_files).uniq
25
25
  end
26
26
 
27
- def static_asset_files
28
- glob("assets/*", raise_on_dir: true).reject(&:liquid?)
29
- end
30
-
31
- def liquid_files
32
- glob("**/*.liquid")
33
- end
34
-
35
- def json_files
36
- glob("**/*.json")
37
- end
38
-
39
- def glob(pattern, raise_on_dir: false)
40
- root
41
- .glob(pattern)
42
- .select { |path| file?(path, raise_on_dir) }
43
- .map { |path| File.new(path, root) }
44
- end
45
-
46
27
  def theme_file?(file)
47
28
  theme_files.include?(self[file])
48
29
  end
49
30
 
50
- def static_asset_file?(file)
51
- static_asset_files.include?(self[file])
52
- end
53
-
54
- def static_asset_paths
55
- static_asset_files.map(&:relative_path)
56
- end
57
-
58
- def [](file)
59
- case file
60
- when File
61
- file
62
- when Pathname
63
- File.new(file, root)
64
- when String
65
- File.new(root.join(file), root)
66
- end
67
- end
68
-
69
31
  def shop
70
32
  api_client.get_shop_or_abort
71
33
  end
@@ -124,9 +86,7 @@ module ShopifyCLI
124
86
  end
125
87
 
126
88
  def delete
127
- api_client.delete(
128
- path: "themes/#{id}.json"
129
- )
89
+ delete_theme
130
90
  end
131
91
 
132
92
  def publish
@@ -231,6 +191,12 @@ module ShopifyCLI
231
191
  @api_client ||= ThemeAdminAPI.new(@ctx)
232
192
  end
233
193
 
194
+ def delete_theme
195
+ api_client.delete(
196
+ path: "themes/#{id}.json"
197
+ )
198
+ end
199
+
234
200
  def load_info_from_api
235
201
  _status, body = api_client.get(
236
202
  path: "themes/#{id}.json"
@@ -241,14 +207,6 @@ module ShopifyCLI
241
207
 
242
208
  self
243
209
  end
244
-
245
- def file?(path, raise_on_dir = false)
246
- if raise_on_dir && ::File.directory?(path)
247
- @ctx.abort(@ctx.message("theme.serve.error.invalid_subdirectory", path.to_s))
248
- end
249
-
250
- ::File.file?(path)
251
- end
252
210
  end
253
211
  end
254
212
  end
@@ -1,3 +1,3 @@
1
1
  module ShopifyCLI
2
- VERSION = "2.24.0"
2
+ VERSION = "2.26.0"
3
3
  end
@@ -339,7 +339,7 @@ module CLI
339
339
  else
340
340
  $stdin.getc
341
341
  end
342
- rescue IOError
342
+ rescue Errno::EIO, Errno::EPIPE, IOError
343
343
  "\e"
344
344
  end
345
345
 
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.24.0
4
+ version: 2.26.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-29 00:00:00.000000000 Z
11
+ date: 2022-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -127,7 +127,6 @@ files:
127
127
  - ".github/workflows/cla.yml"
128
128
  - ".github/workflows/shopify.yml"
129
129
  - ".github/workflows/stale.yml"
130
- - ".github/workflows/triage.yml"
131
130
  - ".gitignore"
132
131
  - ".rubocop.yml"
133
132
  - ".rubocop_todo.yml"
@@ -305,58 +304,13 @@ files:
305
304
  - lib/project_types/script/commands/create.rb
306
305
  - lib/project_types/script/commands/javy.rb
307
306
  - lib/project_types/script/commands/push.rb
308
- - lib/project_types/script/config/extension_points.yml
309
- - lib/project_types/script/errors.rb
310
- - lib/project_types/script/forms/ask_app.rb
311
- - lib/project_types/script/forms/ask_org.rb
312
- - lib/project_types/script/forms/ask_script_uuid.rb
313
- - lib/project_types/script/forms/create.rb
314
- - lib/project_types/script/forms/run_against_shopify_org.rb
315
- - lib/project_types/script/graphql/app_script_set.graphql
316
- - lib/project_types/script/graphql/get_app_scripts.graphql
317
- - lib/project_types/script/graphql/module_upload_url_generate.graphql
318
- - lib/project_types/script/graphql/script_service_proxy.graphql
319
- - lib/project_types/script/layers/application/build_script.rb
320
- - lib/project_types/script/layers/application/connect_app.rb
321
- - lib/project_types/script/layers/application/create_script.rb
322
- - lib/project_types/script/layers/application/extension_points.rb
323
- - lib/project_types/script/layers/application/project_dependencies.rb
324
- - lib/project_types/script/layers/application/push_script.rb
325
- - lib/project_types/script/layers/domain/app_bridge.rb
326
- - lib/project_types/script/layers/domain/errors.rb
327
- - lib/project_types/script/layers/domain/extension_point.rb
328
- - lib/project_types/script/layers/domain/metadata.rb
329
- - lib/project_types/script/layers/domain/push_package.rb
330
- - lib/project_types/script/layers/domain/script_config.rb
331
- - lib/project_types/script/layers/domain/script_project.rb
332
- - lib/project_types/script/layers/infrastructure/api_clients/partners_proxy_api_client.rb
333
- - lib/project_types/script/layers/infrastructure/api_clients/script_service_api_client.rb
334
- - lib/project_types/script/layers/infrastructure/command_runner.rb
335
- - lib/project_types/script/layers/infrastructure/errors.rb
336
- - lib/project_types/script/layers/infrastructure/extension_point_repository.rb
337
- - lib/project_types/script/layers/infrastructure/languages/project_creator.rb
338
- - lib/project_types/script/layers/infrastructure/languages/task_runner.rb
339
- - lib/project_types/script/layers/infrastructure/languages/tool_version_checker.rb
340
- - lib/project_types/script/layers/infrastructure/languages/typescript_project_creator.rb
341
- - lib/project_types/script/layers/infrastructure/languages/typescript_task_runner.rb
342
- - lib/project_types/script/layers/infrastructure/languages/wasm_project_creator.rb
343
- - lib/project_types/script/layers/infrastructure/languages/wasm_task_runner.rb
344
- - lib/project_types/script/layers/infrastructure/metadata_repository.rb
345
- - lib/project_types/script/layers/infrastructure/push_package_repository.rb
346
- - lib/project_types/script/layers/infrastructure/script_project_repository.rb
347
- - lib/project_types/script/layers/infrastructure/script_service.rb
348
- - lib/project_types/script/layers/infrastructure/script_uploader.rb
349
- - lib/project_types/script/layers/infrastructure/service_locator.rb
350
- - lib/project_types/script/layers/infrastructure/sparse_checkout_details.rb
351
307
  - lib/project_types/script/loaders/project.rb
352
308
  - lib/project_types/script/loaders/specification_handler.rb
353
309
  - lib/project_types/script/messages/messages.rb
354
- - lib/project_types/script/ui/error_handler.rb
355
- - lib/project_types/script/ui/printing_spinner.rb
356
- - lib/project_types/script/ui/strict_spinner.rb
357
310
  - lib/project_types/theme/cli.rb
358
311
  - lib/project_types/theme/commands/check.rb
359
312
  - lib/project_types/theme/commands/common/root_helper.rb
313
+ - lib/project_types/theme/commands/common/shop_helper.rb
360
314
  - lib/project_types/theme/commands/delete.rb
361
315
  - lib/project_types/theme/commands/init.rb
362
316
  - lib/project_types/theme/commands/language_server.rb
@@ -432,6 +386,7 @@ files:
432
386
  - lib/shopify_cli/environment.rb
433
387
  - lib/shopify_cli/exception_reporter.rb
434
388
  - lib/shopify_cli/feature.rb
389
+ - lib/shopify_cli/file_system_listener.rb
435
390
  - lib/shopify_cli/form.rb
436
391
  - lib/shopify_cli/git.rb
437
392
  - lib/shopify_cli/github.rb
@@ -504,16 +459,22 @@ files:
504
459
  - lib/shopify_cli/theme/dev_server.rb
505
460
  - lib/shopify_cli/theme/dev_server/cdn_fonts.rb
506
461
  - lib/shopify_cli/theme/dev_server/certificate_manager.rb
462
+ - lib/shopify_cli/theme/dev_server/errors.rb
507
463
  - lib/shopify_cli/theme/dev_server/header_hash.rb
508
- - lib/shopify_cli/theme/dev_server/hot-reload-no-script.html
509
- - lib/shopify_cli/theme/dev_server/hot-reload.js
464
+ - lib/shopify_cli/theme/dev_server/hooks/file_change_hook.rb
510
465
  - lib/shopify_cli/theme/dev_server/hot_reload.rb
511
466
  - lib/shopify_cli/theme/dev_server/hot_reload/remote_file_deleter.rb
512
467
  - lib/shopify_cli/theme/dev_server/hot_reload/remote_file_reloader.rb
468
+ - lib/shopify_cli/theme/dev_server/hot_reload/resources/hot-reload-no-script.html
469
+ - lib/shopify_cli/theme/dev_server/hot_reload/resources/hot_reload.js
470
+ - lib/shopify_cli/theme/dev_server/hot_reload/resources/sse_client.js
471
+ - lib/shopify_cli/theme/dev_server/hot_reload/resources/theme.js
472
+ - lib/shopify_cli/theme/dev_server/hot_reload/resources/theme_extension.js
473
+ - lib/shopify_cli/theme/dev_server/hot_reload/script_injector.rb
513
474
  - lib/shopify_cli/theme/dev_server/hot_reload/sections_index.rb
514
475
  - lib/shopify_cli/theme/dev_server/local_assets.rb
515
476
  - lib/shopify_cli/theme/dev_server/proxy.rb
516
- - lib/shopify_cli/theme/dev_server/proxy/template_param_builder.rb
477
+ - lib/shopify_cli/theme/dev_server/proxy_param_builder.rb
517
478
  - lib/shopify_cli/theme/dev_server/reload_mode.rb
518
479
  - lib/shopify_cli/theme/dev_server/remote_watcher.rb
519
480
  - lib/shopify_cli/theme/dev_server/remote_watcher/json_files_update_job.rb
@@ -521,11 +482,26 @@ files:
521
482
  - lib/shopify_cli/theme/dev_server/watcher.rb
522
483
  - lib/shopify_cli/theme/dev_server/web_server.rb
523
484
  - lib/shopify_cli/theme/development_theme.rb
485
+ - lib/shopify_cli/theme/extension/app_extension.rb
486
+ - lib/shopify_cli/theme/extension/dev_server.rb
487
+ - lib/shopify_cli/theme/extension/dev_server/hooks/file_change_hook.rb
488
+ - lib/shopify_cli/theme/extension/dev_server/hot_reload.rb
489
+ - lib/shopify_cli/theme/extension/dev_server/hot_reload/script_injector.rb
490
+ - lib/shopify_cli/theme/extension/dev_server/local_assets.rb
491
+ - lib/shopify_cli/theme/extension/dev_server/proxy_param_builder.rb
492
+ - lib/shopify_cli/theme/extension/dev_server/watcher.rb
493
+ - lib/shopify_cli/theme/extension/host_theme.rb
494
+ - lib/shopify_cli/theme/extension/syncer.rb
495
+ - lib/shopify_cli/theme/extension/syncer/extension_serve_job.rb
496
+ - lib/shopify_cli/theme/extension/syncer/operation.rb
497
+ - lib/shopify_cli/theme/extension/ui/host_theme_progress_bar.rb
524
498
  - lib/shopify_cli/theme/file.rb
525
499
  - lib/shopify_cli/theme/filter/path_matcher.rb
526
500
  - lib/shopify_cli/theme/ignore_filter.rb
501
+ - lib/shopify_cli/theme/ignore_helper.rb
527
502
  - lib/shopify_cli/theme/include_filter.rb
528
503
  - lib/shopify_cli/theme/mime_type.rb
504
+ - lib/shopify_cli/theme/root.rb
529
505
  - lib/shopify_cli/theme/syncer.rb
530
506
  - lib/shopify_cli/theme/syncer/checksums.rb
531
507
  - lib/shopify_cli/theme/syncer/error_reporter.rb
@@ -534,7 +510,6 @@ files:
534
510
  - lib/shopify_cli/theme/syncer/forms/base_strategy_form.rb
535
511
  - lib/shopify_cli/theme/syncer/forms/select_delete_strategy.rb
536
512
  - lib/shopify_cli/theme/syncer/forms/select_update_strategy.rb
537
- - lib/shopify_cli/theme/syncer/ignore_helper.rb
538
513
  - lib/shopify_cli/theme/syncer/json_delete_handler.rb
539
514
  - lib/shopify_cli/theme/syncer/json_update_handler.rb
540
515
  - lib/shopify_cli/theme/syncer/merger.rb
@@ -1,22 +0,0 @@
1
- name: Triage new issues to DTE oncall project board ("Needs triage" column)
2
-
3
- on:
4
- issues:
5
- types: [opened, reopened]
6
-
7
- jobs:
8
- triage-issue:
9
- runs-on: ubuntu-latest
10
- steps:
11
- - name: Extract issue id
12
- id: issue
13
- run: echo "::set-output name=id::$(jq -r '.issue.id' < "$GITHUB_EVENT_PATH")"
14
-
15
- - name: Create card
16
- env:
17
- TOKEN: ${{ secrets.ACTIONS_TOKEN }}
18
- run: |
19
- curl -s -X POST -u "$GITHUB_ACTOR:$TOKEN" --retry 3 \
20
- -H 'Accept: application/vnd.github.inertia-preview+json' \
21
- -d "{\"content_type\": \"Issue\", \"content_id\": ${{ steps.issue.outputs.id }}}" \
22
- "https://api.github.com/projects/columns/10507989/cards"
@@ -1,45 +0,0 @@
1
- payment_customization:
2
- beta: true
3
- domain: 'checkout'
4
- libraries:
5
- wasm:
6
- repo: "https://github.com/Shopify/function-examples"
7
- rust:
8
- repo: "https://github.com/Shopify/function-examples"
9
- shipping_methods:
10
- domain: 'checkout'
11
- libraries:
12
- wasm:
13
- repo: "https://github.com/Shopify/function-examples"
14
- rust:
15
- repo: "https://github.com/Shopify/function-examples"
16
- product_discounts:
17
- beta: true
18
- domain: 'discounts'
19
- libraries:
20
- wasm:
21
- repo: "https://github.com/Shopify/function-examples"
22
- rust:
23
- repo: "https://github.com/Shopify/function-examples"
24
- order_discounts:
25
- beta: true
26
- domain: 'discounts'
27
- libraries:
28
- wasm:
29
- repo: "https://github.com/Shopify/function-examples"
30
- rust:
31
- repo: "https://github.com/Shopify/function-examples"
32
- shipping_discounts:
33
- beta: true
34
- domain: 'discounts'
35
- libraries:
36
- wasm:
37
- repo: "https://github.com/Shopify/function-examples"
38
- rust:
39
- repo: "https://github.com/Shopify/function-examples"
40
- shipping_rates_consolidation:
41
- beta: true
42
- domain: 'checkout'
43
- libraries:
44
- wasm:
45
- repo: "https://github.com/Shopify/function-examples"
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Script
4
- module Errors
5
- class InvalidScriptTitleError < ScriptProjectError; end
6
-
7
- class NoExistingAppsError < ScriptProjectError; end
8
- class NoExistingOrganizationsError < ScriptProjectError; end
9
- end
10
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Script
4
- module Forms
5
- class AskApp < ShopifyCLI::Form
6
- attr_reader :app
7
-
8
- def ask
9
- apps = @xargs.fetch(:apps)
10
- raise Errors::NoExistingAppsError if apps.empty?
11
-
12
- @app =
13
- if apps.count > 1
14
- CLI::UI::Prompt.ask(ctx.message("script.application.ensure_env.app_select")) do |handler|
15
- apps.each do |app|
16
- handler.option(app["title"]) { app }
17
- end
18
- end
19
- else
20
- apps.first.tap do |app|
21
- ctx.puts(ctx.message("script.application.ensure_env.app", app["title"]))
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Script
4
- module Forms
5
- class AskOrg < ShopifyCLI::Form
6
- attr_reader :org
7
-
8
- BUSINESS_NAME = "businessName"
9
- ID = "id"
10
-
11
- def ask
12
- orgs = @xargs
13
- @org =
14
- if orgs.count == 1
15
- orgs.first.tap do |org|
16
- ctx.puts(ctx.message("script.application.ensure_env.organization", org[BUSINESS_NAME], org[ID]))
17
- end
18
- elsif orgs.count > 0
19
- CLI::UI::Prompt.ask(ctx.message("script.application.ensure_env.organization_select")) do |handler|
20
- orgs.each do |org|
21
- handler.option("#{org[BUSINESS_NAME]} (#{org[ID]})") { org }
22
- end
23
- end
24
- else
25
- raise Errors::NoExistingOrganizationsError
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Script
4
- module Forms
5
- class AskScriptUuid < ShopifyCLI::Form
6
- attr_reader :uuid
7
- def ask
8
- scripts = @xargs
9
-
10
- return if scripts.empty? ||
11
- !CLI::UI::Prompt.confirm(ctx.message("script.application.ensure_env.ask_connect_to_existing_script"))
12
-
13
- @uuid =
14
- CLI::UI::Prompt.ask(ctx.message("script.application.ensure_env.ask_which_script_to_connect_to")) do |handler|
15
- scripts.each do |script|
16
- handler.option("#{script["title"]} (#{script["uuid"]})") { script["uuid"] }
17
- end
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Script
4
- module Forms
5
- class Create < ShopifyCLI::Form
6
- flag_arguments :extension_point, :title
7
-
8
- def ask
9
- self.title = valid_name
10
- self.extension_point ||= ask_extension_point
11
- end
12
-
13
- private
14
-
15
- def ask_extension_point
16
- CLI::UI::Prompt.ask(
17
- @ctx.message("script.forms.create.select_extension_point"),
18
- options: Layers::Application::ExtensionPoints.available_types
19
- )
20
- end
21
-
22
- def ask_title
23
- CLI::UI::Prompt.ask(@ctx.message("script.forms.create.script_title"))
24
- end
25
-
26
- def valid_name
27
- normalized_title = (title || ask_title).downcase.gsub(" ", "_")
28
- return normalized_title if normalized_title.match?(/^[0-9A-Za-z_-]*$/)
29
- raise Errors::InvalidScriptTitleError
30
- end
31
- end
32
- end
33
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Script
4
- module Forms
5
- class RunAgainstShopifyOrg < ShopifyCLI::Form
6
- attr_reader :response
7
- def ask
8
- @ctx.puts(@ctx.message("core.tasks.select_org_and_shop.identified_as_shopify"))
9
- message = @ctx.message("core.tasks.select_org_and_shop.first_party")
10
- @response = CLI::UI::Prompt.confirm(message, default: false)
11
- end
12
- end
13
- end
14
- end
@@ -1,46 +0,0 @@
1
- mutation AppScriptSet(
2
- $uuid: String
3
- $extensionPointName: ExtensionPointName!,
4
- $title: String!,
5
- $description: String,
6
- $force: Boolean,
7
- $schemaMajorVersion: String,
8
- $schemaMinorVersion: String,
9
- $scriptConfigVersion: String!,
10
- $configurationUi: Boolean!,
11
- $configurationDefinition: String!,
12
- $moduleUploadUrl: String!,
13
- $library: LibraryInput,
14
- $inputQuery: String,
15
- $appBridge: AppBridgeInput!,
16
- ) {
17
- appScriptSet(
18
- uuid: $uuid
19
- extensionPointName: $extensionPointName
20
- title: $title
21
- description: $description
22
- force: $force
23
- schemaMajorVersion: $schemaMajorVersion
24
- schemaMinorVersion: $schemaMinorVersion,
25
- scriptConfigVersion: $scriptConfigVersion,
26
- configurationUi: $configurationUi,
27
- configurationDefinition: $configurationDefinition,
28
- moduleUploadUrl: $moduleUploadUrl,
29
- library: $library,
30
- inputQuery: $inputQuery,
31
- appBridge: $appBridge
32
- ) {
33
- userErrors {
34
- field
35
- message
36
- tag
37
- }
38
- appScript {
39
- uuid
40
- appKey
41
- configSchema
42
- extensionPointName
43
- title
44
- }
45
- }
46
- }
@@ -1,6 +0,0 @@
1
- query GetAppScripts($appKey: String!, $extensionPointName: ExtensionPointName!) {
2
- appScripts(appKeys: [$appKey], extensionPointName: $extensionPointName) {
3
- uuid
4
- title
5
- }
6
- }
@@ -1,13 +0,0 @@
1
- mutation moduleUploadUrlGenerate {
2
- moduleUploadUrlGenerate {
3
- details {
4
- url
5
- headers
6
- humanizedMaxSize
7
- }
8
- userErrors {
9
- field
10
- message
11
- }
12
- }
13
- }
@@ -1,7 +0,0 @@
1
- query ProxyRequest($api_key: String, $query: String!, $variables: String) {
2
- scriptServiceProxy(
3
- apiKey: $api_key
4
- query: $query
5
- variables: $variables
6
- )
7
- }
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Script
4
- module Layers
5
- module Application
6
- class BuildScript
7
- class << self
8
- def call(ctx:, task_runner:)
9
- CLI::UI::Frame.open(ctx.message("script.application.building")) do
10
- UI::StrictSpinner.spin(ctx.message("script.application.building_script")) do |spinner|
11
- task_runner.build
12
- spinner.update_title(ctx.message("script.application.built"))
13
- end
14
- rescue Infrastructure::Errors::BuildError => e
15
- CLI::UI::Frame.with_frame_color_override(:red) do
16
- ctx.puts("\n{{red:#{e.message}}}")
17
- end
18
- raise
19
- end
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end