shopify-cli 2.6.6 → 2.7.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 (153) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer.json +5 -0
  3. data/.github/DESIGN.md +1 -1
  4. data/.github/ISSUE_TEMPLATE.md +7 -0
  5. data/.vscode/extensions.json +5 -0
  6. data/.vscode/settings.json +9 -0
  7. data/CHANGELOG.md +12 -3
  8. data/CONTRIBUTING.md +1 -29
  9. data/{Dockerfile → Codespace.dockerfile} +0 -0
  10. data/Gemfile.lock +4 -4
  11. data/README.md +20 -99
  12. data/Tests.dockerfile +35 -0
  13. data/assets/logo.png +0 -0
  14. data/dev.yml +0 -3
  15. data/docs/README.md +13 -0
  16. data/docs/contributors/testing.md +27 -0
  17. data/docs/users/installation.md +46 -0
  18. data/{THEMEKIT_MIGRATION.md → docs/users/migrate-from-themekit.md} +1 -1
  19. data/lib/project_types/extension/cli.rb +6 -3
  20. data/lib/project_types/extension/commands/create.rb +5 -6
  21. data/lib/project_types/extension/commands/extension_command.rb +1 -1
  22. data/lib/project_types/extension/features/argo_serve.rb +9 -23
  23. data/lib/project_types/extension/forms/questions/ask_template.rb +1 -5
  24. data/lib/project_types/extension/models/development_server_requirements.rb +2 -3
  25. data/lib/project_types/extension/models/server_config/app.rb +13 -0
  26. data/lib/project_types/extension/models/server_config/development.rb +5 -4
  27. data/lib/project_types/extension/models/server_config/development_renderer.rb +1 -1
  28. data/lib/project_types/extension/models/server_config/development_resource.rb +13 -0
  29. data/lib/project_types/extension/models/server_config/extension.rb +3 -1
  30. data/lib/project_types/extension/models/server_config/root.rb +4 -1
  31. data/lib/project_types/extension/tasks/convert_server_config.rb +65 -0
  32. data/lib/project_types/extension/tasks/ensure_resource_url.rb +39 -0
  33. data/lib/project_types/extension/tasks/merge_server_config.rb +32 -0
  34. data/lib/project_types/extension/tasks/run_extension_command.rb +10 -9
  35. data/lib/project_types/node/cli.rb +0 -16
  36. data/lib/project_types/node/forms/create.rb +5 -5
  37. data/lib/project_types/node/messages/messages.rb +2 -144
  38. data/lib/project_types/php/cli.rb +0 -11
  39. data/lib/project_types/php/forms/create.rb +5 -6
  40. data/lib/project_types/php/messages/messages.rb +2 -161
  41. data/lib/project_types/rails/cli.rb +0 -16
  42. data/lib/project_types/rails/commands/create.rb +1 -1
  43. data/lib/project_types/rails/forms/create.rb +5 -6
  44. data/lib/project_types/rails/messages/messages.rb +6 -151
  45. data/lib/project_types/script/cli.rb +1 -1
  46. data/lib/project_types/script/commands/create.rb +1 -1
  47. data/lib/project_types/script/commands/push.rb +1 -1
  48. data/lib/project_types/theme/cli.rb +1 -1
  49. data/lib/project_types/theme/commands/check.rb +1 -1
  50. data/lib/project_types/theme/commands/delete.rb +1 -1
  51. data/lib/project_types/theme/commands/init.rb +1 -1
  52. data/lib/project_types/theme/commands/language_server.rb +1 -1
  53. data/lib/project_types/theme/commands/package.rb +1 -1
  54. data/lib/project_types/theme/commands/publish.rb +1 -1
  55. data/lib/project_types/theme/commands/pull.rb +1 -1
  56. data/lib/project_types/theme/commands/push.rb +1 -1
  57. data/lib/project_types/theme/commands/serve.rb +9 -3
  58. data/lib/project_types/theme/messages/messages.rb +5 -1
  59. data/lib/shopify_cli/admin_api/populate_resource_command.rb +1 -1
  60. data/lib/shopify_cli/api.rb +7 -2
  61. data/lib/shopify_cli/app_type_detector.rb +24 -20
  62. data/lib/shopify_cli/command/app_sub_command.rb +10 -0
  63. data/lib/shopify_cli/command/project_command.rb +18 -0
  64. data/lib/shopify_cli/command/sub_command.rb +19 -0
  65. data/lib/shopify_cli/command.rb +7 -2
  66. data/lib/shopify_cli/commands/app/connect.rb +22 -0
  67. data/lib/shopify_cli/commands/app/create/node.rb +38 -0
  68. data/lib/shopify_cli/commands/app/create/php.rb +36 -0
  69. data/lib/shopify_cli/commands/app/create/rails.rb +40 -0
  70. data/lib/shopify_cli/commands/app/create.rb +28 -0
  71. data/lib/shopify_cli/commands/app/deploy.rb +49 -0
  72. data/lib/shopify_cli/commands/app/open.rb +19 -0
  73. data/lib/shopify_cli/commands/app/serve.rb +49 -0
  74. data/lib/shopify_cli/commands/app/tunnel.rb +43 -0
  75. data/lib/shopify_cli/commands/app.rb +29 -0
  76. data/lib/shopify_cli/commands/config.rb +2 -2
  77. data/lib/shopify_cli/commands.rb +1 -0
  78. data/lib/shopify_cli/constants.rb +4 -0
  79. data/lib/shopify_cli/exception_reporter.rb +3 -4
  80. data/lib/shopify_cli/git.rb +12 -1
  81. data/lib/shopify_cli/github/issue_url_generator.rb +19 -0
  82. data/lib/shopify_cli/github.rb +5 -0
  83. data/lib/shopify_cli/messages/messages.rb +252 -8
  84. data/lib/shopify_cli/project.rb +5 -1
  85. data/lib/shopify_cli/project_commands.rb +1 -1
  86. data/lib/shopify_cli/services/app/connect_service.rb +25 -0
  87. data/lib/shopify_cli/services/app/create/node_service.rb +153 -0
  88. data/lib/shopify_cli/services/app/create/php_service.rb +152 -0
  89. data/lib/shopify_cli/services/app/create/rails_service.rb +213 -0
  90. data/lib/shopify_cli/services/app/deploy/heroku/node_service.rb +101 -0
  91. data/lib/shopify_cli/services/app/deploy/heroku/php_service.rb +135 -0
  92. data/lib/shopify_cli/services/app/deploy/heroku/rails_service.rb +120 -0
  93. data/lib/shopify_cli/services/app/open_service.rb +19 -0
  94. data/lib/shopify_cli/services/app/serve/node_service.rb +42 -0
  95. data/lib/shopify_cli/services/app/serve/php_service.rb +46 -0
  96. data/lib/shopify_cli/services/app/serve/rails_service.rb +48 -0
  97. data/lib/shopify_cli/services/app/tunnel/auth_service.rb +21 -0
  98. data/lib/shopify_cli/services/app/tunnel/start_service.rb +20 -0
  99. data/lib/shopify_cli/services/app/tunnel/stop_service.rb +20 -0
  100. data/lib/shopify_cli/services.rb +31 -0
  101. data/lib/shopify_cli/theme/dev_server/local_assets.rb +1 -1
  102. data/lib/shopify_cli/theme/dev_server.rb +8 -2
  103. data/lib/shopify_cli/version.rb +1 -1
  104. data/lib/shopify_cli.rb +1 -2
  105. data/shopify-cli.gemspec +1 -1
  106. data/shopify-dev +18 -0
  107. data/utilities/constants.rb +7 -0
  108. data/utilities/docker/container.rb +10 -3
  109. data/utilities/docker.rb +2 -2
  110. data/utilities/utilities.rb +1 -0
  111. metadata +49 -48
  112. data/docs/_config.yml +0 -2
  113. data/docs/app/node/commands/index.md +0 -4
  114. data/docs/app/node/index.md +0 -4
  115. data/docs/app/rails/commands/index.md +0 -4
  116. data/docs/app/rails/index.md +0 -4
  117. data/docs/core/index.md +0 -4
  118. data/docs/getting-started/index.md +0 -4
  119. data/docs/getting-started/install/index.md +0 -4
  120. data/docs/getting-started/migrate/index.md +0 -4
  121. data/docs/getting-started/uninstall/index.md +0 -4
  122. data/docs/getting-started/upgrade/index.md +0 -4
  123. data/docs/help/start-app/index.md +0 -4
  124. data/docs/index.md +0 -4
  125. data/install.sh +0 -7
  126. data/lib/project_types/extension/tasks/converters/server_config_converter.rb +0 -30
  127. data/lib/project_types/extension/tasks/load_server_config.rb +0 -28
  128. data/lib/project_types/node/commands/connect.rb +0 -21
  129. data/lib/project_types/node/commands/create.rb +0 -125
  130. data/lib/project_types/node/commands/deploy/heroku.rb +0 -96
  131. data/lib/project_types/node/commands/deploy.rb +0 -32
  132. data/lib/project_types/node/commands/generate.rb +0 -22
  133. data/lib/project_types/node/commands/open.rb +0 -18
  134. data/lib/project_types/node/commands/serve.rb +0 -45
  135. data/lib/project_types/node/commands/tunnel.rb +0 -41
  136. data/lib/project_types/php/commands/connect.rb +0 -19
  137. data/lib/project_types/php/commands/create.rb +0 -143
  138. data/lib/project_types/php/commands/deploy/heroku.rb +0 -129
  139. data/lib/project_types/php/commands/deploy.rb +0 -32
  140. data/lib/project_types/php/commands/open.rb +0 -16
  141. data/lib/project_types/php/commands/serve.rb +0 -48
  142. data/lib/project_types/php/commands/tunnel.rb +0 -37
  143. data/lib/project_types/rails/commands/connect.rb +0 -21
  144. data/lib/project_types/rails/commands/deploy/heroku.rb +0 -115
  145. data/lib/project_types/rails/commands/deploy.rb +0 -32
  146. data/lib/project_types/rails/commands/generate/webhook.rb +0 -42
  147. data/lib/project_types/rails/commands/generate.rb +0 -60
  148. data/lib/project_types/rails/commands/open.rb +0 -18
  149. data/lib/project_types/rails/commands/serve.rb +0 -51
  150. data/lib/project_types/rails/commands/tunnel.rb +0 -41
  151. data/lib/shopify_cli/sub_command.rb +0 -17
  152. data/shopify.fish +0 -12
  153. data/shopify.sh +0 -11
@@ -0,0 +1,48 @@
1
+ module ShopifyCLI
2
+ module Services
3
+ module App
4
+ module Serve
5
+ class RailsService < BaseService
6
+ attr_accessor :host, :port, :context
7
+
8
+ def initialize(host:, port:, context:)
9
+ @host = host
10
+ @port = port
11
+ @context = context
12
+ super()
13
+ end
14
+
15
+ def call
16
+ project = ShopifyCLI::Project.current
17
+ url = host || ShopifyCLI::Tunnel.start(context)
18
+ raise ShopifyCLI::Abort,
19
+ context.message("core.app.serve.error.host_must_be_https") if url.match(/^https/i).nil?
20
+ project.env.update(context, :host, url)
21
+ ShopifyCLI::Tasks::UpdateDashboardURLS.call(
22
+ context,
23
+ url: url,
24
+ callback_url: "/auth/shopify/callback",
25
+ )
26
+
27
+ if project.env.shop
28
+ project_url = "#{project.env.host}/login?shop=#{project.env.shop}"
29
+ context.puts("\n" + context.message("core.app.serve.open_info", project_url) + "\n")
30
+ end
31
+
32
+ CLI::UI::Frame.open(context.message("core.app.serve.running_server")) do
33
+ env = ShopifyCLI::Project.current.env.to_h
34
+ env.delete("HOST")
35
+ env["PORT"] = port.to_s
36
+ env["GEM_PATH"] = Rails::Gem.gem_path(context)
37
+ if context.windows?
38
+ context.system("ruby bin\\rails server", env: env)
39
+ else
40
+ context.system("bin/rails server", env: env)
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,21 @@
1
+ module ShopifyCLI
2
+ module Services
3
+ module App
4
+ module Tunnel
5
+ class AuthService < BaseService
6
+ attr_accessor :context, :token
7
+
8
+ def initialize(token:, context:)
9
+ @context = context
10
+ @token = token
11
+ super()
12
+ end
13
+
14
+ def call
15
+ ShopifyCLI::Tunnel.auth(context, token)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ module ShopifyCLI
2
+ module Services
3
+ module App
4
+ module Tunnel
5
+ class StartService < BaseService
6
+ attr_accessor :context
7
+
8
+ def initialize(context:)
9
+ @context = context
10
+ super()
11
+ end
12
+
13
+ def call
14
+ ShopifyCLI::Tunnel.start(context)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ module ShopifyCLI
2
+ module Services
3
+ module App
4
+ module Tunnel
5
+ class StopService < BaseService
6
+ attr_accessor :context
7
+
8
+ def initialize(context:)
9
+ @context = context
10
+ super()
11
+ end
12
+
13
+ def call
14
+ ShopifyCLI::Tunnel.stop(context)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -2,5 +2,36 @@ module ShopifyCLI
2
2
  module Services
3
3
  autoload :BaseService, "shopify_cli/services/base_service"
4
4
  autoload :ReportingService, "shopify_cli/services/reporting_service"
5
+
6
+ module App
7
+ module Serve
8
+ autoload :NodeService, "shopify_cli/services/app/serve/node_service"
9
+ autoload :RailsService, "shopify_cli/services/app/serve/rails_service"
10
+ autoload :PHPService, "shopify_cli/services/app/serve/php_service"
11
+ end
12
+
13
+ module Create
14
+ autoload :NodeService, "shopify_cli/services/app/create/node_service"
15
+ autoload :RailsService, "shopify_cli/services/app/create/rails_service"
16
+ autoload :PHPService, "shopify_cli/services/app/create/php_service"
17
+ end
18
+
19
+ module Deploy
20
+ module Heroku
21
+ autoload :NodeService, "shopify_cli/services/app/deploy/heroku/node_service"
22
+ autoload :RailsService, "shopify_cli/services/app/deploy/heroku/rails_service"
23
+ autoload :PHPService, "shopify_cli/services/app/deploy/heroku/php_service"
24
+ end
25
+ end
26
+
27
+ module Tunnel
28
+ autoload :StartService, "shopify_cli/services/app/tunnel/start_service"
29
+ autoload :StopService, "shopify_cli/services/app/tunnel/stop_service"
30
+ autoload :AuthService, "shopify_cli/services/app/tunnel/auth_service"
31
+ end
32
+
33
+ autoload :ConnectService, "shopify_cli/services/app/connect_service"
34
+ autoload :OpenService, "shopify_cli/services/app/open_service"
35
+ end
5
36
  end
6
37
  end
@@ -4,7 +4,7 @@ module ShopifyCLI
4
4
  module Theme
5
5
  module DevServer
6
6
  class LocalAssets
7
- ASSET_REGEX = %r{//cdn.shopify.com/s/.*?/(assets/.+\.(?:css|js))}
7
+ ASSET_REGEX = %r{//cdn\.shopify\.com/s/.+?/(assets/.+?\.(?:css|js))}
8
8
 
9
9
  class FileBody
10
10
  def initialize(path)
@@ -17,10 +17,14 @@ require "pathname"
17
17
  module ShopifyCLI
18
18
  module Theme
19
19
  module DevServer
20
+ # Errors
21
+ Error = Class.new(StandardError)
22
+ AddressBindingError = Class.new(Error)
23
+
20
24
  class << self
21
25
  attr_accessor :ctx
22
26
 
23
- def start(ctx, root, bind: "127.0.0.1", port: 9292, poll: false)
27
+ def start(ctx, root, http_bind: "127.0.0.1", port: 9292, poll: false)
24
28
  @ctx = ctx
25
29
  theme = DevelopmentTheme.new(ctx, root: root)
26
30
  ignore_filter = IgnoreFilter.from_path(root)
@@ -74,7 +78,7 @@ module ShopifyCLI
74
78
  watcher.start
75
79
  WebServer.run(
76
80
  @app,
77
- BindAddress: bind,
81
+ BindAddress: http_bind,
78
82
  Port: port,
79
83
  Logger: logger,
80
84
  AccessLog: [],
@@ -85,6 +89,8 @@ module ShopifyCLI
85
89
  ShopifyCLI::API::APIRequestUnauthorizedError
86
90
  @ctx.abort("You are not authorized to edit themes on #{theme.shop}.\n" \
87
91
  "Make sure you are a user of that store, and allowed to edit themes.")
92
+ rescue Errno::EADDRNOTAVAIL
93
+ raise AddressBindingError, "Error binding to the address #{http_bind}."
88
94
  end
89
95
 
90
96
  def stop
@@ -1,3 +1,3 @@
1
1
  module ShopifyCLI
2
- VERSION = "2.6.6"
2
+ VERSION = "2.7.0"
3
3
  end
data/lib/shopify_cli.rb CHANGED
@@ -111,6 +111,7 @@ module ShopifyCLI
111
111
  autoload :Feature, "shopify_cli/feature"
112
112
  autoload :Form, "shopify_cli/form"
113
113
  autoload :Git, "shopify_cli/git"
114
+ autoload :GitHub, "shopify_cli/github"
114
115
  autoload :Helpers, "shopify_cli/helpers"
115
116
  autoload :Heroku, "shopify_cli/heroku"
116
117
  autoload :IdentityAuth, "shopify_cli/identity_auth"
@@ -123,7 +124,6 @@ module ShopifyCLI
123
124
  autoload :PartnersAPI, "shopify_cli/partners_api"
124
125
  autoload :ProcessSupervision, "shopify_cli/process_supervision"
125
126
  autoload :Project, "shopify_cli/project"
126
- autoload :ProjectCommands, "shopify_cli/project_commands"
127
127
  autoload :ProjectType, "shopify_cli/project_type"
128
128
  autoload :ReportingConfigurationController, "shopify_cli/reporting_configuration_controller"
129
129
  autoload :ResolveConstant, "shopify_cli/resolve_constant"
@@ -131,7 +131,6 @@ module ShopifyCLI
131
131
  autoload :Result, "shopify_cli/result"
132
132
  autoload :Services, "shopify_cli/services"
133
133
  autoload :Shopifolk, "shopify_cli/shopifolk"
134
- autoload :SubCommand, "shopify_cli/sub_command"
135
134
  autoload :Task, "shopify_cli/task"
136
135
  autoload :Tasks, "shopify_cli/tasks"
137
136
  autoload :TransformDataStructure, "shopify_cli/transform_data_structure"
data/shopify-cli.gemspec CHANGED
@@ -41,5 +41,5 @@ Gem::Specification.new do |spec|
41
41
 
42
42
  spec.add_dependency("bugsnag", "~> 6.22")
43
43
  spec.add_dependency("listen", "~> 3.7.0")
44
- spec.add_dependency("theme-check", "~> 1.7.2")
44
+ spec.add_dependency("theme-check", "~> 1.8.0")
45
45
  end
data/shopify-dev ADDED
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require_relative "./bin/load_shopify"
4
+
5
+ exit(proc do
6
+ begin
7
+ ShopifyCLI::ErrorHandler.call do
8
+ ShopifyCLI::Core::EntryPoint.call(ARGV.dup)
9
+ end
10
+ rescue StandardError => error
11
+ ShopifyCLI::ErrorHandler.exception = error
12
+ if ShopifyCLI::Environment.print_stacktrace?
13
+ raise error
14
+ else
15
+ 1
16
+ end
17
+ end
18
+ end.call)
@@ -0,0 +1,7 @@
1
+ module Utilities
2
+ module Constants
3
+ module Paths
4
+ ROOT = File.expand_path("..", __dir__)
5
+ end
6
+ end
7
+ end
@@ -79,12 +79,19 @@ module Utilities
79
79
  if ARGV.include?("--verbose")
80
80
  stat = Open3.popen3(*command) do |stdin, stdout, stderr, wait_thread|
81
81
  Thread.new do
82
- stdout.each { |l| STDOUT.puts("#{docker_prefix.colorize(:cyan).bold} #{l}") }
83
- stderr.each { |l| STDERR.puts("#{docker_prefix.colorize(:red).bold} #{l}") }
82
+ stdout.each { |l| STDOUT.puts("#{docker_prefix.colorize(:cyan).bold} #{l}") } unless stdout&.nil?
83
+ end
84
+ Thread.new do
85
+ stderr.each { |l| STDERR.puts("#{docker_prefix.colorize(:red).bold} #{l}") } unless stderr&.nil?
84
86
  end
85
87
  stdin.close
86
88
 
87
- wait_thread.value
89
+ status = wait_thread.value
90
+
91
+ stdout.close
92
+ stderr.close
93
+
94
+ status
88
95
  end
89
96
  raise StandardError, "The command #{args.first} failed" unless stat.success?
90
97
  else
data/utilities/docker.rb CHANGED
@@ -59,7 +59,7 @@ module Utilities
59
59
  unless image_exists?(image_tag)
60
60
  puts "Rebuilding the Docker image..."
61
61
  _, err, stat = Open3.capture3(
62
- "docker", "build", root_dir, "-t", image_tag
62
+ "docker", "build", "-t", image_tag, "-f", File.join(root_dir, "Tests.dockerfile"), root_dir
63
63
  )
64
64
  raise Error, err unless stat.success?
65
65
  end
@@ -67,7 +67,7 @@ module Utilities
67
67
 
68
68
  def image_tag
69
69
  gemfile_lock_path = File.expand_path("./Gemfile.lock", root_dir)
70
- dockerfile_path = File.expand_path("./Dockerfile", root_dir)
70
+ dockerfile_path = File.expand_path("./Tests.dockerfile", root_dir)
71
71
  fingerprintable_strings = [
72
72
  File.read(gemfile_lock_path),
73
73
  File.read(dockerfile_path),
@@ -2,4 +2,5 @@ $LOAD_PATH.unshift(__dir__) unless $LOAD_PATH.include?(__dir__)
2
2
 
3
3
  module Utilities
4
4
  autoload :Docker, "docker"
5
+ autoload :Constants, "constants"
5
6
  end
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.6.6
4
+ version: 2.7.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-11-01 00:00:00.000000000 Z
11
+ date: 2021-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -92,14 +92,14 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: 1.7.2
95
+ version: 1.8.0
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: 1.7.2
102
+ version: 1.8.0
103
103
  description: |
104
104
  Shopify CLI helps you build Shopify apps faster. It quickly scaffolds Node.js
105
105
  and Ruby on Rails embedded apps. It also automates many common tasks in the
@@ -112,6 +112,7 @@ executables:
112
112
  extensions: []
113
113
  extra_rdoc_files: []
114
114
  files:
115
+ - ".devcontainer.json"
115
116
  - ".github/CODEOWNERS"
116
117
  - ".github/CODE_OF_CONDUCT.md"
117
118
  - ".github/CONTRIBUTING.md"
@@ -127,9 +128,11 @@ files:
127
128
  - ".ruby-version"
128
129
  - ".tmp/.gitkeep"
129
130
  - ".tmp/sv/.gitkeep"
131
+ - ".vscode/extensions.json"
132
+ - ".vscode/settings.json"
130
133
  - CHANGELOG.md
131
134
  - CONTRIBUTING.md
132
- - Dockerfile
135
+ - Codespace.dockerfile
133
136
  - Gemfile
134
137
  - Gemfile.lock
135
138
  - LICENSE
@@ -137,28 +140,19 @@ files:
137
140
  - RELEASING.md
138
141
  - Rakefile
139
142
  - SECURITY.md
140
- - THEMEKIT_MIGRATION.md
143
+ - Tests.dockerfile
144
+ - assets/logo.png
141
145
  - bin/console
142
146
  - bin/load_shopify.rb
143
147
  - bin/shopify
144
148
  - dev.yml
145
- - docs/_config.yml
146
- - docs/app/node/commands/index.md
147
- - docs/app/node/index.md
148
- - docs/app/rails/commands/index.md
149
- - docs/app/rails/index.md
150
- - docs/core/index.md
151
- - docs/getting-started/index.md
152
- - docs/getting-started/install/index.md
153
- - docs/getting-started/migrate/index.md
154
- - docs/getting-started/uninstall/index.md
155
- - docs/getting-started/upgrade/index.md
156
- - docs/help/start-app/index.md
157
- - docs/index.md
149
+ - docs/README.md
150
+ - docs/contributors/testing.md
151
+ - docs/users/installation.md
152
+ - docs/users/migrate-from-themekit.md
158
153
  - ext/shopify-extensions/extconf.rb
159
154
  - ext/shopify-extensions/shopify_extensions.rb
160
155
  - ext/shopify-extensions/version
161
- - install.sh
162
156
  - lib/docgen/class_template.md.erb
163
157
  - lib/docgen/index_template.md.erb
164
158
  - lib/docgen/markdown.rb
@@ -222,10 +216,12 @@ files:
222
216
  - lib/project_types/extension/models/npm_package.rb
223
217
  - lib/project_types/extension/models/product.rb
224
218
  - lib/project_types/extension/models/registration.rb
219
+ - lib/project_types/extension/models/server_config/app.rb
225
220
  - lib/project_types/extension/models/server_config/base.rb
226
221
  - lib/project_types/extension/models/server_config/development.rb
227
222
  - lib/project_types/extension/models/server_config/development_entries.rb
228
223
  - lib/project_types/extension/models/server_config/development_renderer.rb
224
+ - lib/project_types/extension/models/server_config/development_resource.rb
229
225
  - lib/project_types/extension/models/server_config/extension.rb
230
226
  - lib/project_types/extension/models/server_config/root.rb
231
227
  - lib/project_types/extension/models/server_config/user.rb
@@ -240,13 +236,14 @@ files:
240
236
  - lib/project_types/extension/tasks/choose_next_available_port.rb
241
237
  - lib/project_types/extension/tasks/configure_features.rb
242
238
  - lib/project_types/extension/tasks/configure_options.rb
239
+ - lib/project_types/extension/tasks/convert_server_config.rb
243
240
  - lib/project_types/extension/tasks/converters/app_converter.rb
244
241
  - lib/project_types/extension/tasks/converters/product_converter.rb
245
242
  - lib/project_types/extension/tasks/converters/registration_converter.rb
246
- - lib/project_types/extension/tasks/converters/server_config_converter.rb
247
243
  - lib/project_types/extension/tasks/converters/validation_error_converter.rb
248
244
  - lib/project_types/extension/tasks/converters/version_converter.rb
249
245
  - lib/project_types/extension/tasks/create_extension.rb
246
+ - lib/project_types/extension/tasks/ensure_resource_url.rb
250
247
  - lib/project_types/extension/tasks/fetch_specifications.rb
251
248
  - lib/project_types/extension/tasks/find_npm_packages.rb
252
249
  - lib/project_types/extension/tasks/find_package_from_json.rb
@@ -254,41 +251,18 @@ files:
254
251
  - lib/project_types/extension/tasks/get_apps.rb
255
252
  - lib/project_types/extension/tasks/get_extensions.rb
256
253
  - lib/project_types/extension/tasks/get_product.rb
257
- - lib/project_types/extension/tasks/load_server_config.rb
254
+ - lib/project_types/extension/tasks/merge_server_config.rb
258
255
  - lib/project_types/extension/tasks/run_extension_command.rb
259
256
  - lib/project_types/extension/tasks/update_draft.rb
260
257
  - lib/project_types/extension/tasks/user_errors.rb
261
258
  - lib/project_types/node/cli.rb
262
- - lib/project_types/node/commands/connect.rb
263
- - lib/project_types/node/commands/create.rb
264
- - lib/project_types/node/commands/deploy.rb
265
- - lib/project_types/node/commands/deploy/heroku.rb
266
- - lib/project_types/node/commands/generate.rb
267
- - lib/project_types/node/commands/open.rb
268
- - lib/project_types/node/commands/serve.rb
269
- - lib/project_types/node/commands/tunnel.rb
270
259
  - lib/project_types/node/forms/create.rb
271
260
  - lib/project_types/node/messages/messages.rb
272
261
  - lib/project_types/php/cli.rb
273
- - lib/project_types/php/commands/connect.rb
274
- - lib/project_types/php/commands/create.rb
275
- - lib/project_types/php/commands/deploy.rb
276
- - lib/project_types/php/commands/deploy/heroku.rb
277
- - lib/project_types/php/commands/open.rb
278
- - lib/project_types/php/commands/serve.rb
279
- - lib/project_types/php/commands/tunnel.rb
280
262
  - lib/project_types/php/forms/create.rb
281
263
  - lib/project_types/php/messages/messages.rb
282
264
  - lib/project_types/rails/cli.rb
283
- - lib/project_types/rails/commands/connect.rb
284
265
  - lib/project_types/rails/commands/create.rb
285
- - lib/project_types/rails/commands/deploy.rb
286
- - lib/project_types/rails/commands/deploy/heroku.rb
287
- - lib/project_types/rails/commands/generate.rb
288
- - lib/project_types/rails/commands/generate/webhook.rb
289
- - lib/project_types/rails/commands/open.rb
290
- - lib/project_types/rails/commands/serve.rb
291
- - lib/project_types/rails/commands/tunnel.rb
292
266
  - lib/project_types/rails/forms/create.rb
293
267
  - lib/project_types/rails/gem.rb
294
268
  - lib/project_types/rails/messages/messages.rb
@@ -358,9 +332,21 @@ files:
358
332
  - lib/shopify_cli/app_type_detector.rb
359
333
  - lib/shopify_cli/command.rb
360
334
  - lib/shopify_cli/command/app_sub_command.rb
335
+ - lib/shopify_cli/command/project_command.rb
336
+ - lib/shopify_cli/command/sub_command.rb
361
337
  - lib/shopify_cli/command_options.rb
362
338
  - lib/shopify_cli/command_options/command_serve_options.rb
363
339
  - lib/shopify_cli/commands.rb
340
+ - lib/shopify_cli/commands/app.rb
341
+ - lib/shopify_cli/commands/app/connect.rb
342
+ - lib/shopify_cli/commands/app/create.rb
343
+ - lib/shopify_cli/commands/app/create/node.rb
344
+ - lib/shopify_cli/commands/app/create/php.rb
345
+ - lib/shopify_cli/commands/app/create/rails.rb
346
+ - lib/shopify_cli/commands/app/deploy.rb
347
+ - lib/shopify_cli/commands/app/open.rb
348
+ - lib/shopify_cli/commands/app/serve.rb
349
+ - lib/shopify_cli/commands/app/tunnel.rb
364
350
  - lib/shopify_cli/commands/config.rb
365
351
  - lib/shopify_cli/commands/help.rb
366
352
  - lib/shopify_cli/commands/login.rb
@@ -390,6 +376,8 @@ files:
390
376
  - lib/shopify_cli/feature.rb
391
377
  - lib/shopify_cli/form.rb
392
378
  - lib/shopify_cli/git.rb
379
+ - lib/shopify_cli/github.rb
380
+ - lib/shopify_cli/github/issue_url_generator.rb
393
381
  - lib/shopify_cli/helpers.rb
394
382
  - lib/shopify_cli/helpers/haikunator.rb
395
383
  - lib/shopify_cli/heroku.rb
@@ -420,10 +408,23 @@ files:
420
408
  - lib/shopify_cli/resources/env_file.rb
421
409
  - lib/shopify_cli/result.rb
422
410
  - lib/shopify_cli/services.rb
411
+ - lib/shopify_cli/services/app/connect_service.rb
412
+ - lib/shopify_cli/services/app/create/node_service.rb
413
+ - lib/shopify_cli/services/app/create/php_service.rb
414
+ - lib/shopify_cli/services/app/create/rails_service.rb
415
+ - lib/shopify_cli/services/app/deploy/heroku/node_service.rb
416
+ - lib/shopify_cli/services/app/deploy/heroku/php_service.rb
417
+ - lib/shopify_cli/services/app/deploy/heroku/rails_service.rb
418
+ - lib/shopify_cli/services/app/open_service.rb
419
+ - lib/shopify_cli/services/app/serve/node_service.rb
420
+ - lib/shopify_cli/services/app/serve/php_service.rb
421
+ - lib/shopify_cli/services/app/serve/rails_service.rb
422
+ - lib/shopify_cli/services/app/tunnel/auth_service.rb
423
+ - lib/shopify_cli/services/app/tunnel/start_service.rb
424
+ - lib/shopify_cli/services/app/tunnel/stop_service.rb
423
425
  - lib/shopify_cli/services/base_service.rb
424
426
  - lib/shopify_cli/services/reporting_service.rb
425
427
  - lib/shopify_cli/shopifolk.rb
426
- - lib/shopify_cli/sub_command.rb
427
428
  - lib/shopify_cli/task.rb
428
429
  - lib/shopify_cli/tasks.rb
429
430
  - lib/shopify_cli/tasks/confirm_store.rb
@@ -455,8 +456,8 @@ files:
455
456
  - lib/shopify_cli/tunnel.rb
456
457
  - lib/shopify_cli/version.rb
457
458
  - shopify-cli.gemspec
458
- - shopify.fish
459
- - shopify.sh
459
+ - shopify-dev
460
+ - utilities/constants.rb
460
461
  - utilities/docker.rb
461
462
  - utilities/docker/container.rb
462
463
  - utilities/utilities.rb
data/docs/_config.yml DELETED
@@ -1,2 +0,0 @@
1
- plugins:
2
- - jekyll-redirect-from
@@ -1,4 +0,0 @@
1
- ---
2
- title: Node.js app commands
3
- redirect_to: https://shopify.dev/tools/cli/reference/node-app
4
- ---
@@ -1,4 +0,0 @@
1
- ---
2
- title: Getting started with Shopify CLI
3
- redirect_to: https://shopify.dev/tools/cli/getting-started
4
- ---
@@ -1,4 +0,0 @@
1
- ---
2
- title: Ruby on Rails app commands
3
- redirect_to: https://shopify.dev/tools/cli/reference/ruby-on-rails-app
4
- ---
@@ -1,4 +0,0 @@
1
- ---
2
- title: Getting started with Shopify CLI
3
- redirect_to: https://shopify.dev/tools/cli/getting-started
4
- ---
data/docs/core/index.md DELETED
@@ -1,4 +0,0 @@
1
- ---
2
- title: Shopify CLI core commands
3
- redirect_to: https://shopify.dev/tools/cli/reference
4
- ---
@@ -1,4 +0,0 @@
1
- ---
2
- title: Getting started with Shopify CLI
3
- redirect_to: https://shopify.dev/tools/cli/getting-started
4
- ---
@@ -1,4 +0,0 @@
1
- ---
2
- title: Install Shopify CLI
3
- redirect_to: https://shopify.dev/tools/cli/installation
4
- ---
@@ -1,4 +0,0 @@
1
- ---
2
- title: Troubleshooting Shopify CLI
3
- redirect_to: https://shopify.dev/tools/cli/troubleshooting
4
- ---
@@ -1,4 +0,0 @@
1
- ---
2
- title: Troubleshooting Shopify CLI
3
- redirect_to: https://shopify.dev/tools/cli/troubleshooting
4
- ---
@@ -1,4 +0,0 @@
1
- ---
2
- title: Troubleshooting Shopify CLI
3
- redirect_to: https://shopify.dev/tools/cli/troubleshooting
4
- ---
@@ -1,4 +0,0 @@
1
- ---
2
- title: Getting started with Shopify CLI
3
- redirect_to: https://shopify.dev/tools/cli/getting-started
4
- ---
data/docs/index.md DELETED
@@ -1,4 +0,0 @@
1
- ---
2
- title: Shopify CLI
3
- redirect_to: https://shopify.dev/tools/cli
4
- ---
data/install.sh DELETED
@@ -1,7 +0,0 @@
1
- # shellcheck shell=sh disable=1012,1001
2
- \cat << 'EOF'
3
- This install method for Shopify CLI is no longer supported.
4
-
5
- Please visit this page for complete instructions:
6
- https://shopify.dev/tools/cli/troubleshooting#migrate-from-a-legacy-version
7
- EOF
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
- require "shopify_cli"
3
-
4
- module Extension
5
- module Tasks
6
- module Converters
7
- module ServerConfigConverter
8
- def self.from_hash(hash:, type:, registration_uuid:)
9
- context.abort(context.message("tasks.errors.parse_error")) if hash.nil?
10
-
11
- extension = Models::ServerConfig::Extension.new(
12
- uuid: registration_uuid,
13
- type: type.upcase,
14
- user: Models::ServerConfig::User.new,
15
- development: Models::ServerConfig::Development.new(
16
- build_dir: hash.dig("development", "build_dir"),
17
- renderer: Models::ServerConfig::DevelopmentRenderer.find(type),
18
- entries: Models::ServerConfig::DevelopmentEntries.new(
19
- main: hash.dig("development", "entries", "main")
20
- )
21
- ),
22
- extension_points: hash.dig("extension_points")
23
- )
24
-
25
- Models::ServerConfig::Root.new(extensions: [extension])
26
- end
27
- end
28
- end
29
- end
30
- end