shopify-cli 2.10.0 → 2.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.yaml +117 -0
  3. data/.github/ISSUE_TEMPLATE/enhancement.yaml +38 -0
  4. data/.github/ISSUE_TEMPLATE/feature.yaml +47 -0
  5. data/.github/ISSUE_TEMPLATE.md +18 -0
  6. data/CHANGELOG.md +35 -3
  7. data/Gemfile.lock +1 -1
  8. data/dev.yml +3 -0
  9. data/lib/project_types/extension/commands/build.rb +3 -0
  10. data/lib/project_types/extension/commands/check.rb +3 -0
  11. data/lib/project_types/extension/commands/create.rb +3 -0
  12. data/lib/project_types/extension/commands/push.rb +16 -0
  13. data/lib/project_types/extension/commands/serve.rb +3 -0
  14. data/lib/project_types/extension/loaders/project.rb +28 -8
  15. data/lib/project_types/extension/messages/messages.rb +10 -2
  16. data/lib/project_types/extension/models/specification_handlers/default.rb +1 -1
  17. data/lib/project_types/extension/tasks/convert_server_config.rb +3 -1
  18. data/lib/project_types/script/cli.rb +5 -0
  19. data/lib/project_types/script/commands/connect.rb +3 -1
  20. data/lib/project_types/script/commands/create.rb +2 -0
  21. data/lib/project_types/script/commands/push.rb +6 -0
  22. data/lib/project_types/script/config/extension_points.yml +12 -0
  23. data/lib/project_types/script/graphql/app_script_set.graphql +2 -0
  24. data/lib/project_types/script/graphql/module_upload_url_generate.graphql +5 -1
  25. data/lib/project_types/script/layers/application/build_script.rb +6 -3
  26. data/lib/project_types/script/layers/application/create_script.rb +1 -1
  27. data/lib/project_types/script/layers/application/project_dependencies.rb +1 -1
  28. data/lib/project_types/script/layers/application/push_script.rb +39 -31
  29. data/lib/project_types/script/layers/domain/errors.rb +7 -1
  30. data/lib/project_types/script/layers/domain/extension_point.rb +2 -2
  31. data/lib/project_types/script/layers/domain/push_package.rb +0 -3
  32. data/lib/project_types/script/layers/domain/script_project.rb +1 -0
  33. data/lib/project_types/script/layers/infrastructure/errors.rb +13 -3
  34. data/lib/project_types/script/layers/infrastructure/languages/assemblyscript_task_runner.rb +3 -20
  35. data/lib/project_types/script/layers/infrastructure/languages/project_creator.rb +1 -0
  36. data/lib/project_types/script/layers/infrastructure/languages/task_runner.rb +35 -8
  37. data/lib/project_types/script/layers/infrastructure/languages/typescript_task_runner.rb +3 -20
  38. data/lib/project_types/script/layers/infrastructure/languages/wasm_project_creator.rb +15 -0
  39. data/lib/project_types/script/layers/infrastructure/languages/wasm_task_runner.rb +32 -0
  40. data/lib/project_types/script/layers/infrastructure/metadata_repository.rb +18 -0
  41. data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +7 -8
  42. data/lib/project_types/script/layers/infrastructure/script_project_repository.rb +17 -26
  43. data/lib/project_types/script/layers/infrastructure/script_service.rb +15 -9
  44. data/lib/project_types/script/layers/infrastructure/script_uploader.rb +22 -9
  45. data/lib/project_types/script/loaders/project.rb +2 -1
  46. data/lib/project_types/script/messages/messages.rb +92 -84
  47. data/lib/project_types/script/ui/error_handler.rb +39 -14
  48. data/lib/project_types/theme/commands/check.rb +2 -0
  49. data/lib/project_types/theme/commands/delete.rb +2 -0
  50. data/lib/project_types/theme/commands/init.rb +2 -0
  51. data/lib/project_types/theme/commands/language_server.rb +2 -0
  52. data/lib/project_types/theme/commands/package.rb +2 -0
  53. data/lib/project_types/theme/commands/publish.rb +2 -0
  54. data/lib/project_types/theme/commands/pull.rb +6 -1
  55. data/lib/project_types/theme/commands/push.rb +6 -1
  56. data/lib/project_types/theme/commands/serve.rb +2 -0
  57. data/lib/shopify_cli/command/sub_command.rb +2 -0
  58. data/lib/shopify_cli/command.rb +72 -0
  59. data/lib/shopify_cli/commands/app/create/node.rb +3 -0
  60. data/lib/shopify_cli/commands/app/create/rails.rb +3 -0
  61. data/lib/shopify_cli/commands/app/deploy.rb +2 -0
  62. data/lib/shopify_cli/commands/app/serve.rb +2 -0
  63. data/lib/shopify_cli/constants.rb +13 -1
  64. data/lib/shopify_cli/environment.rb +55 -35
  65. data/lib/shopify_cli/exception_reporter.rb +9 -0
  66. data/lib/shopify_cli/github/issue_url_generator.rb +19 -8
  67. data/lib/shopify_cli/identity_auth/env_auth_token.rb +34 -0
  68. data/lib/shopify_cli/identity_auth.rb +33 -15
  69. data/lib/shopify_cli/messages/messages.rb +2 -1
  70. data/lib/shopify_cli/partners_api.rb +7 -2
  71. data/lib/shopify_cli/services/app/create/rails_service.rb +37 -13
  72. data/lib/shopify_cli/theme/dev_server/cdn_fonts.rb +28 -8
  73. data/lib/shopify_cli/theme/dev_server/hot_reload/remote_file_reloader.rb +63 -0
  74. data/lib/shopify_cli/theme/dev_server/hot_reload.rb +22 -6
  75. data/lib/shopify_cli/theme/dev_server/local_assets.rb +0 -4
  76. data/lib/shopify_cli/theme/dev_server/proxy.rb +4 -5
  77. data/lib/shopify_cli/theme/dev_server.rb +0 -2
  78. data/lib/shopify_cli/theme/file.rb +4 -0
  79. data/lib/shopify_cli/theme/include_filter.rb +39 -17
  80. data/lib/shopify_cli/utilities.rb +7 -0
  81. data/lib/shopify_cli/version.rb +1 -1
  82. data/lib/shopify_cli.rb +1 -0
  83. data/vendor/deps/cli-kit/lib/cli/kit/system.rb +11 -6
  84. data/vendor/deps/cli-kit/lib/cli/kit/util.rb +5 -1
  85. data/vendor/deps/cli-ui/lib/cli/ui/os.rb +6 -4
  86. data/vendor/lib/semantic/version.rb +0 -1
  87. metadata +11 -5
  88. data/lib/project_types/rails/commands/create.rb +0 -210
  89. data/lib/shopify_cli/theme/dev_server/cdn/cdn_helper.rb +0 -49
  90. data/lib/shopify_cli/theme/dev_server/cdn_assets.rb +0 -69
@@ -1,69 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "cdn/cdn_helper"
4
- require_relative "local_assets"
5
-
6
- module ShopifyCLI
7
- module Theme
8
- module DevServer
9
- class CdnAssets
10
- include Cdn::CdnHelper
11
-
12
- ASSETS_PROXY_PATH = "/cdn_asset"
13
- ASSETS_CDN = "//cdn.shopify.com"
14
- ASSETS_CDN_REGEX = %r{(https?:)?#{ASSETS_CDN}}
15
- ASSETS_SOURCE_MAP_REGEX = /\/[\/|\*]# sourceMappingURL\=(\/.*)/
16
-
17
- def initialize(app, theme:)
18
- @app = app
19
- @theme = theme
20
- end
21
-
22
- def call(env)
23
- path = env["PATH_INFO"]
24
-
25
- # Serve assets from CDN
26
- return serve_asset(env, path) if path.start_with?(ASSETS_PROXY_PATH)
27
-
28
- # Proxy the request, and replace the URLs in the response
29
- status, headers, body = @app.call(env)
30
- body = replace_asset_urls(body)
31
- [status, headers, body]
32
- end
33
-
34
- private
35
-
36
- def serve_asset(env, path)
37
- path = path.gsub(%r{^#{ASSETS_PROXY_PATH}}, "")
38
- query = env["QUERY_STRING"]
39
- uri = asset_cdn_uri(path, query)
40
-
41
- status, headers, body = proxy_request(env, uri, @theme)
42
-
43
- [status, headers, replace_source_map_url(body)]
44
- end
45
-
46
- def asset_cdn_uri(path, query)
47
- uri = URI.join("https:#{ASSETS_CDN}", path)
48
- uri.query = query.split("&").last
49
- uri
50
- end
51
-
52
- def replace_asset_urls(body)
53
- [body.join.gsub(ASSETS_CDN_REGEX, ASSETS_PROXY_PATH)]
54
- end
55
-
56
- def replace_source_map_url(body)
57
- body_content = body.join
58
- map_regex_match = body_content.match(ASSETS_SOURCE_MAP_REGEX)
59
- return body if map_regex_match.nil?
60
-
61
- map_url = map_regex_match[1]
62
- return body if map_url.nil?
63
-
64
- [body_content.gsub(map_url, "#{ASSETS_PROXY_PATH}#{map_url}")]
65
- end
66
- end
67
- end
68
- end
69
- end