shopify-cli 2.6.6 → 2.7.0

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