@shopify/cli-kit 3.45.0-pre.5 → 3.46.0-pre.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.
- package/assets/cli-ruby/Gemfile +0 -1
- package/assets/cli-ruby/Rakefile +0 -76
- package/assets/cli-ruby/lib/project_types/extension/cli.rb +5 -86
- package/assets/cli-ruby/lib/shopify_cli/admin_api.rb +0 -3
- package/assets/cli-ruby/lib/shopify_cli/api.rb +2 -3
- package/assets/cli-ruby/lib/shopify_cli/command/sub_command.rb +1 -2
- package/assets/cli-ruby/lib/shopify_cli/command.rb +0 -7
- package/assets/cli-ruby/lib/shopify_cli/commands.rb +0 -15
- package/assets/cli-ruby/lib/shopify_cli/context.rb +4 -2
- package/assets/cli-ruby/lib/shopify_cli/core.rb +0 -1
- package/assets/cli-ruby/lib/shopify_cli/identity_auth.rb +0 -1
- package/assets/cli-ruby/lib/shopify_cli/messages/messages.rb +1 -1
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/proxy.rb +15 -2
- package/assets/cli-ruby/lib/shopify_cli.rb +1 -10
- package/assets/cli-ruby/test/test_helpers.rb +0 -2
- package/dist/private/node/api/graphql.d.ts +5 -10
- package/dist/private/node/api/graphql.js +4 -16
- package/dist/private/node/api/graphql.js.map +1 -1
- package/dist/private/node/conf-store.d.ts +2 -1
- package/dist/private/node/conf-store.js +3 -2
- package/dist/private/node/conf-store.js.map +1 -1
- package/dist/private/node/session.d.ts +2 -2
- package/dist/private/node/session.js +4 -4
- package/dist/private/node/session.js.map +1 -1
- package/dist/private/node/ui/components/SelectPrompt.js +1 -1
- package/dist/private/node/ui/components/SelectPrompt.js.map +1 -1
- package/dist/private/node/ui/components/SelectPrompt.test.js +16 -0
- package/dist/private/node/ui/components/SelectPrompt.test.js.map +1 -1
- package/dist/public/common/version.d.ts +1 -1
- package/dist/public/common/version.js +1 -1
- package/dist/public/common/version.js.map +1 -1
- package/dist/public/node/api/admin.d.ts +1 -1
- package/dist/public/node/api/admin.js +10 -3
- package/dist/public/node/api/admin.js.map +1 -1
- package/dist/public/node/api/graphql.d.ts +27 -0
- package/dist/public/node/api/graphql.js +26 -0
- package/dist/public/node/api/graphql.js.map +1 -0
- package/dist/public/node/api/partners.d.ts +1 -1
- package/dist/public/node/api/partners.js +9 -2
- package/dist/public/node/api/partners.js.map +1 -1
- package/dist/public/node/crypto.d.ts +7 -0
- package/dist/public/node/crypto.js +9 -0
- package/dist/public/node/crypto.js.map +1 -1
- package/dist/public/node/environment.d.ts +12 -0
- package/dist/public/node/environment.js +17 -0
- package/dist/public/node/environment.js.map +1 -1
- package/dist/public/node/git.d.ts +15 -0
- package/dist/public/node/git.js +23 -0
- package/dist/public/node/git.js.map +1 -1
- package/dist/public/node/hooks/deprecations.js +1 -1
- package/dist/public/node/hooks/deprecations.js.map +1 -1
- package/dist/public/node/ruby.d.ts +7 -0
- package/dist/public/node/ruby.js +29 -8
- package/dist/public/node/ruby.js.map +1 -1
- package/dist/public/node/session.d.ts +2 -2
- package/dist/public/node/session.js +4 -4
- package/dist/public/node/session.js.map +1 -1
- package/dist/public/node/ui.d.ts +2 -1
- package/dist/public/node/ui.js +2 -1
- package/dist/public/node/ui.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/assets/cli-ruby/lib/project_types/extension/commands/build.rb +0 -51
- package/assets/cli-ruby/lib/project_types/extension/commands/check.rb +0 -51
- package/assets/cli-ruby/lib/project_types/extension/commands/connect.rb +0 -35
- package/assets/cli-ruby/lib/project_types/extension/commands/create.rb +0 -100
- package/assets/cli-ruby/lib/project_types/extension/commands/info.rb +0 -86
- package/assets/cli-ruby/lib/project_types/extension/commands/push.rb +0 -112
- package/assets/cli-ruby/lib/project_types/extension/commands/register.rb +0 -67
- package/assets/cli-ruby/lib/project_types/extension/commands/tunnel.rb +0 -73
- package/assets/cli-ruby/lib/project_types/extension/forms/connect.rb +0 -42
- package/assets/cli-ruby/lib/project_types/extension/forms/create.rb +0 -49
- package/assets/cli-ruby/lib/project_types/extension/forms/questions/ask_app.rb +0 -53
- package/assets/cli-ruby/lib/project_types/extension/forms/questions/ask_name.rb +0 -48
- package/assets/cli-ruby/lib/project_types/extension/forms/questions/ask_registration.rb +0 -55
- package/assets/cli-ruby/lib/project_types/extension/forms/questions/ask_template.rb +0 -37
- package/assets/cli-ruby/lib/project_types/extension/forms/questions/ask_type.rb +0 -47
- package/assets/cli-ruby/lib/project_types/extension/models/development_server.rb +0 -77
- package/assets/cli-ruby/lib/project_types/extension/models/development_server_requirements.rb +0 -56
- package/assets/cli-ruby/lib/project_types/extension/models/npm_package.rb +0 -44
- package/assets/cli-ruby/lib/project_types/extension/models/product.rb +0 -12
- package/assets/cli-ruby/lib/project_types/extension/models/registration.rb +0 -20
- package/assets/cli-ruby/lib/project_types/extension/models/server_config/app.rb +0 -13
- package/assets/cli-ruby/lib/project_types/extension/models/server_config/base.rb +0 -31
- package/assets/cli-ruby/lib/project_types/extension/models/server_config/capabilities.rb +0 -11
- package/assets/cli-ruby/lib/project_types/extension/models/server_config/development.rb +0 -33
- package/assets/cli-ruby/lib/project_types/extension/models/server_config/development_entries.rb +0 -38
- package/assets/cli-ruby/lib/project_types/extension/models/server_config/development_renderer.rb +0 -38
- package/assets/cli-ruby/lib/project_types/extension/models/server_config/development_resource.rb +0 -13
- package/assets/cli-ruby/lib/project_types/extension/models/server_config/extension.rb +0 -46
- package/assets/cli-ruby/lib/project_types/extension/models/server_config/root.rb +0 -21
- package/assets/cli-ruby/lib/project_types/extension/models/server_config/user.rb +0 -10
- package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb +0 -29
- package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/checkout_ui_extension.rb +0 -170
- package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/web_pixel_extension.rb +0 -58
- package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/web_pixel_extension_utils/script_config.rb +0 -33
- package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/web_pixel_extension_utils/script_config_repository.rb +0 -75
- package/assets/cli-ruby/lib/project_types/extension/tasks/choose_next_available_port.rb +0 -36
- package/assets/cli-ruby/lib/project_types/extension/tasks/convert_server_config.rb +0 -85
- package/assets/cli-ruby/lib/project_types/extension/tasks/converters/app_converter.rb +0 -27
- package/assets/cli-ruby/lib/project_types/extension/tasks/converters/product_converter.rb +0 -21
- package/assets/cli-ruby/lib/project_types/extension/tasks/converters/registration_converter.rb +0 -28
- package/assets/cli-ruby/lib/project_types/extension/tasks/create_extension.rb +0 -31
- package/assets/cli-ruby/lib/project_types/extension/tasks/ensure_resource_url.rb +0 -39
- package/assets/cli-ruby/lib/project_types/extension/tasks/execute_commands/base.rb +0 -15
- package/assets/cli-ruby/lib/project_types/extension/tasks/execute_commands/build.rb +0 -30
- package/assets/cli-ruby/lib/project_types/extension/tasks/execute_commands/create.rb +0 -30
- package/assets/cli-ruby/lib/project_types/extension/tasks/execute_commands/outdated_extension_detection.rb +0 -57
- package/assets/cli-ruby/lib/project_types/extension/tasks/execute_commands/serve.rb +0 -36
- package/assets/cli-ruby/lib/project_types/extension/tasks/find_npm_packages.rb +0 -106
- package/assets/cli-ruby/lib/project_types/extension/tasks/find_package_from_json.rb +0 -37
- package/assets/cli-ruby/lib/project_types/extension/tasks/get_app.rb +0 -22
- package/assets/cli-ruby/lib/project_types/extension/tasks/get_apps.rb +0 -26
- package/assets/cli-ruby/lib/project_types/extension/tasks/get_extensions.rb +0 -33
- package/assets/cli-ruby/lib/project_types/extension/tasks/get_product.rb +0 -22
- package/assets/cli-ruby/lib/project_types/extension/tasks/merge_server_config.rb +0 -47
- package/assets/cli-ruby/lib/project_types/extension/tasks/update_draft.rb +0 -29
- package/assets/cli-ruby/lib/project_types/extension/tasks/user_errors.rb +0 -45
- package/assets/cli-ruby/lib/shopify_cli/admin_api/populate_resource_command.rb +0 -166
- package/assets/cli-ruby/lib/shopify_cli/admin_api/schema.rb +0 -35
- package/assets/cli-ruby/lib/shopify_cli/app_type_detector.rb +0 -36
- package/assets/cli-ruby/lib/shopify_cli/assets/post_auth_page/index.html.erb +0 -34
- package/assets/cli-ruby/lib/shopify_cli/assets/post_auth_page/style.css +0 -58
- package/assets/cli-ruby/lib/shopify_cli/changelog.rb +0 -148
- package/assets/cli-ruby/lib/shopify_cli/command/app_sub_command.rb +0 -26
- package/assets/cli-ruby/lib/shopify_cli/command_options/command_serve_options.rb +0 -53
- package/assets/cli-ruby/lib/shopify_cli/command_options.rb +0 -7
- package/assets/cli-ruby/lib/shopify_cli/commands/app/connect.rb +0 -22
- package/assets/cli-ruby/lib/shopify_cli/commands/app/create/node.rb +0 -40
- package/assets/cli-ruby/lib/shopify_cli/commands/app/create/php.rb +0 -37
- package/assets/cli-ruby/lib/shopify_cli/commands/app/create/rails.rb +0 -42
- package/assets/cli-ruby/lib/shopify_cli/commands/app/create.rb +0 -28
- package/assets/cli-ruby/lib/shopify_cli/commands/app/deploy.rb +0 -51
- package/assets/cli-ruby/lib/shopify_cli/commands/app/open.rb +0 -19
- package/assets/cli-ruby/lib/shopify_cli/commands/app/serve.rb +0 -51
- package/assets/cli-ruby/lib/shopify_cli/commands/app/tunnel.rb +0 -43
- package/assets/cli-ruby/lib/shopify_cli/commands/app.rb +0 -29
- package/assets/cli-ruby/lib/shopify_cli/commands/config.rb +0 -76
- package/assets/cli-ruby/lib/shopify_cli/commands/help.rb +0 -52
- package/assets/cli-ruby/lib/shopify_cli/commands/login.rb +0 -98
- package/assets/cli-ruby/lib/shopify_cli/commands/logout.rb +0 -50
- package/assets/cli-ruby/lib/shopify_cli/commands/populate/customer.rb +0 -25
- package/assets/cli-ruby/lib/shopify_cli/commands/populate/draft_order.rb +0 -28
- package/assets/cli-ruby/lib/shopify_cli/commands/populate/product.rb +0 -24
- package/assets/cli-ruby/lib/shopify_cli/commands/populate.rb +0 -23
- package/assets/cli-ruby/lib/shopify_cli/commands/reporting.rb +0 -38
- package/assets/cli-ruby/lib/shopify_cli/commands/store.rb +0 -15
- package/assets/cli-ruby/lib/shopify_cli/commands/switch.rb +0 -39
- package/assets/cli-ruby/lib/shopify_cli/commands/system.rb +0 -165
- package/assets/cli-ruby/lib/shopify_cli/commands/version.rb +0 -15
- package/assets/cli-ruby/lib/shopify_cli/commands/whoami.rb +0 -28
- package/assets/cli-ruby/lib/shopify_cli/connect.rb +0 -32
- package/assets/cli-ruby/lib/shopify_cli/core/help_resolver.rb +0 -20
- package/assets/cli-ruby/lib/shopify_cli/heroku.rb +0 -140
- package/assets/cli-ruby/lib/shopify_cli/identity_auth/servlet.rb +0 -44
- package/assets/cli-ruby/lib/shopify_cli/js_deps.rb +0 -110
- package/assets/cli-ruby/lib/shopify_cli/packager.rb +0 -108
- package/assets/cli-ruby/lib/shopify_cli/php_deps.rb +0 -102
- package/assets/cli-ruby/lib/shopify_cli/process_supervision.rb +0 -228
- package/assets/cli-ruby/lib/shopify_cli/project_commands.rb +0 -16
- package/assets/cli-ruby/lib/shopify_cli/release.rb +0 -197
- package/assets/cli-ruby/lib/shopify_cli/sed.rb +0 -19
- package/assets/cli-ruby/lib/shopify_cli/services/app/connect_service.rb +0 -25
- package/assets/cli-ruby/lib/shopify_cli/services/app/create/node_service.rb +0 -143
- package/assets/cli-ruby/lib/shopify_cli/services/app/create/php_service.rb +0 -147
- package/assets/cli-ruby/lib/shopify_cli/services/app/create/rails_service.rb +0 -239
- package/assets/cli-ruby/lib/shopify_cli/services/app/deploy/heroku/node_service.rb +0 -101
- package/assets/cli-ruby/lib/shopify_cli/services/app/deploy/heroku/php_service.rb +0 -135
- package/assets/cli-ruby/lib/shopify_cli/services/app/deploy/heroku/rails_service.rb +0 -120
- package/assets/cli-ruby/lib/shopify_cli/services/app/open_service.rb +0 -19
- package/assets/cli-ruby/lib/shopify_cli/services/app/serve/node_service.rb +0 -19
- package/assets/cli-ruby/lib/shopify_cli/services/app/serve/php_service.rb +0 -23
- package/assets/cli-ruby/lib/shopify_cli/services/app/serve/rails_service.rb +0 -28
- package/assets/cli-ruby/lib/shopify_cli/services/app/serve/serve_service.rb +0 -57
- package/assets/cli-ruby/lib/shopify_cli/services/app/tunnel/auth_service.rb +0 -21
- package/assets/cli-ruby/lib/shopify_cli/services/app/tunnel/start_service.rb +0 -20
- package/assets/cli-ruby/lib/shopify_cli/services/app/tunnel/stop_service.rb +0 -20
- package/assets/cli-ruby/lib/shopify_cli/services/base_service.rb +0 -13
- package/assets/cli-ruby/lib/shopify_cli/services/reporting_service.rb +0 -16
- package/assets/cli-ruby/lib/shopify_cli/services.rb +0 -38
- package/assets/cli-ruby/lib/shopify_cli/tunnel.rb +0 -255
- package/dist/public/node/api/oxygen.d.ts +0 -22
- package/dist/public/node/api/oxygen.js +0 -40
- package/dist/public/node/api/oxygen.js.map +0 -1
package/assets/cli-ruby/Gemfile
CHANGED
package/assets/cli-ruby/Rakefile
CHANGED
|
@@ -57,16 +57,12 @@ namespace :rdoc do
|
|
|
57
57
|
"lib/shopify_cli/context.rb",
|
|
58
58
|
"lib/shopify_cli/db.rb",
|
|
59
59
|
"lib/shopify_cli/git.rb",
|
|
60
|
-
"lib/shopify_cli/heroku.rb",
|
|
61
|
-
"lib/shopify_cli/js_deps.rb",
|
|
62
60
|
"lib/shopify_cli/lazy_delegator.rb",
|
|
63
61
|
"lib/shopify_cli/method_object.rb",
|
|
64
62
|
"lib/shopify_cli/partners_api.rb",
|
|
65
|
-
"lib/shopify_cli/process_supervision.rb",
|
|
66
63
|
"lib/shopify_cli/project.rb",
|
|
67
64
|
"lib/shopify_cli/result.rb",
|
|
68
65
|
"lib/shopify_cli/transform_data_structure.rb",
|
|
69
|
-
"lib/shopify_cli/tunnel.rb",
|
|
70
66
|
]
|
|
71
67
|
|
|
72
68
|
task all: [:markdown, :wiki, :cleanup]
|
|
@@ -105,78 +101,6 @@ end
|
|
|
105
101
|
desc("Generate markdown documentation and update the wiki")
|
|
106
102
|
task(rdoc: "rdoc:all")
|
|
107
103
|
|
|
108
|
-
namespace :package do
|
|
109
|
-
require "shopify_cli/packager"
|
|
110
|
-
|
|
111
|
-
task all: [:debian, :rpm, :homebrew]
|
|
112
|
-
|
|
113
|
-
desc("Builds a Debian package of the CLI")
|
|
114
|
-
task :debian do
|
|
115
|
-
ShopifyCLI::Packager.new.build_debian
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
desc("Builds an RPM package of the CLI")
|
|
119
|
-
task :rpm do
|
|
120
|
-
ShopifyCLI::Packager.new.build_rpm
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
desc("Builds a Homebrew package of the CLI")
|
|
124
|
-
task :homebrew do
|
|
125
|
-
ShopifyCLI::Packager.new.build_homebrew
|
|
126
|
-
end
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
desc("Builds all distribution packages of the CLI")
|
|
130
|
-
task(package: "package:all")
|
|
131
|
-
|
|
132
|
-
namespace :changelog do
|
|
133
|
-
require "shopify_cli/changelog"
|
|
134
|
-
|
|
135
|
-
task :update do
|
|
136
|
-
ShopifyCLI::Changelog.new.update!
|
|
137
|
-
end
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
namespace :release do
|
|
141
|
-
require "shopify_cli/release"
|
|
142
|
-
|
|
143
|
-
task :prepare, [:new_version] do |_t, args|
|
|
144
|
-
new_version = args[:new_version]
|
|
145
|
-
unless new_version
|
|
146
|
-
raise <<~NO_NEW_VERSION
|
|
147
|
-
New version must be provided, e.g.:
|
|
148
|
-
|
|
149
|
-
$ GITHUB_ACCESS_TOKEN=abcdef rake "release:prepare[1.2.3]"
|
|
150
|
-
|
|
151
|
-
NO_NEW_VERSION
|
|
152
|
-
end
|
|
153
|
-
github_access_token = ENV["GITHUB_ACCESS_TOKEN"]
|
|
154
|
-
unless github_access_token
|
|
155
|
-
raise <<~NO_GITHUB_ACCESS_TOKEN
|
|
156
|
-
GitHub access token must be provided, e.g.:
|
|
157
|
-
|
|
158
|
-
$ GITHUB_ACCESS_TOKEN=abcdef rake "release:prepare[1.2.3]"
|
|
159
|
-
NO_GITHUB_ACCESS_TOKEN
|
|
160
|
-
end
|
|
161
|
-
|
|
162
|
-
ShopifyCLI::Release.new(new_version, github_access_token).prepare!
|
|
163
|
-
puts "Completed!"
|
|
164
|
-
end
|
|
165
|
-
|
|
166
|
-
task :package do
|
|
167
|
-
github_access_token = ENV["GITHUB_ACCESS_TOKEN"]
|
|
168
|
-
unless github_access_token
|
|
169
|
-
raise <<~NO_GITHUB_ACCESS_TOKEN
|
|
170
|
-
GitHub access token must be provided, e.g.:
|
|
171
|
-
|
|
172
|
-
$ GITHUB_ACCESS_TOKEN=abcdef rake release:package
|
|
173
|
-
NO_GITHUB_ACCESS_TOKEN
|
|
174
|
-
end
|
|
175
|
-
ShopifyCLI::Release.new(ShopifyCLI::VERSION, github_access_token).package!
|
|
176
|
-
puts "Completed!"
|
|
177
|
-
end
|
|
178
|
-
end
|
|
179
|
-
|
|
180
104
|
namespace :extensions do
|
|
181
105
|
task :update do
|
|
182
106
|
version = ENV.fetch("VERSION").strip
|
|
@@ -19,90 +19,27 @@ module Extension
|
|
|
19
19
|
class Command < ShopifyCLI::Command::ProjectCommand
|
|
20
20
|
autoload :ExtensionCommand, Project.project_filepath("commands/extension_command")
|
|
21
21
|
|
|
22
|
-
subcommand :Create, "create", Project.project_filepath("commands/create")
|
|
23
|
-
subcommand :Register, "register", Project.project_filepath("commands/register")
|
|
24
|
-
subcommand :Info, "info", Project.project_filepath("commands/info")
|
|
25
|
-
subcommand :Connect, "connect", Project.project_filepath("commands/connect")
|
|
26
|
-
subcommand :Build, "build", Project.project_filepath("commands/build")
|
|
27
22
|
subcommand :Serve, "serve", Project.project_filepath("commands/serve")
|
|
28
|
-
subcommand :Push, "push", Project.project_filepath("commands/push")
|
|
29
|
-
subcommand :Tunnel, "tunnel", Project.project_filepath("commands/tunnel")
|
|
30
|
-
subcommand :Check, "check", Project.project_filepath("commands/check")
|
|
31
23
|
end
|
|
32
24
|
ShopifyCLI::Commands.register("Extension::Command", "extension")
|
|
33
25
|
|
|
34
26
|
module Tasks
|
|
35
|
-
autoload :UserErrors, Project.project_filepath("tasks/user_errors")
|
|
36
|
-
autoload :GetApps, Project.project_filepath("tasks/get_apps")
|
|
37
|
-
autoload :GetApp, Project.project_filepath("tasks/get_app")
|
|
38
|
-
autoload :CreateExtension, Project.project_filepath("tasks/create_extension")
|
|
39
|
-
autoload :UpdateDraft, Project.project_filepath("tasks/update_draft")
|
|
40
|
-
autoload :FetchSpecifications, Project.project_filepath("tasks/fetch_specifications")
|
|
41
27
|
autoload :ConfigureFeatures, Project.project_filepath("tasks/configure_features")
|
|
42
28
|
autoload :ConfigureOptions, Project.project_filepath("tasks/configure_options")
|
|
43
|
-
autoload :
|
|
44
|
-
autoload :FindNpmPackages, Project.project_filepath("tasks/find_npm_packages")
|
|
45
|
-
autoload :GetExtensions, Project.project_filepath("tasks/get_extensions")
|
|
46
|
-
autoload :GetProduct, Project.project_filepath("tasks/get_product")
|
|
47
|
-
autoload :MergeServerConfig, Project.project_filepath("tasks/merge_server_config")
|
|
48
|
-
autoload :FindPackageFromJson, Project.project_filepath("tasks/find_package_from_json.rb")
|
|
49
|
-
autoload :EnsureResourceUrl, Project.project_filepath("tasks/ensure_resource_url.rb")
|
|
50
|
-
autoload :ConvertServerConfig, Project.project_filepath("tasks/convert_server_config")
|
|
29
|
+
autoload :FetchSpecifications, Project.project_filepath("tasks/fetch_specifications")
|
|
51
30
|
|
|
52
31
|
module Converters
|
|
53
|
-
autoload :RegistrationConverter, Project.project_filepath("tasks/converters/registration_converter")
|
|
54
32
|
autoload :VersionConverter, Project.project_filepath("tasks/converters/version_converter")
|
|
55
33
|
autoload :ValidationErrorConverter, Project.project_filepath("tasks/converters/validation_error_converter")
|
|
56
|
-
autoload :AppConverter, Project.project_filepath("tasks/converters/app_converter")
|
|
57
|
-
autoload :ProductConverter, Project.project_filepath("tasks/converters/product_converter")
|
|
58
|
-
autoload :ExecuteCommands, Project.project_filepath("cli/execute_commands")
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
module ExecuteCommands
|
|
62
|
-
autoload :Base, Project.project_filepath("tasks/execute_commands/base")
|
|
63
|
-
autoload :Build, Project.project_filepath("tasks/execute_commands/build")
|
|
64
|
-
autoload :Create, Project.project_filepath("tasks/execute_commands/create")
|
|
65
|
-
autoload :Serve, Project.project_filepath("tasks/execute_commands/serve")
|
|
66
|
-
autoload :OutdatedExtensionDetection,
|
|
67
|
-
Project.project_filepath("tasks/execute_commands/outdated_extension_detection")
|
|
68
|
-
|
|
69
|
-
class << self
|
|
70
|
-
def build(*args)
|
|
71
|
-
Build.new(*args).call
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
def create(*args)
|
|
75
|
-
Create.new(*args).call
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
def serve(*args)
|
|
79
|
-
Serve.new(*args).call
|
|
80
|
-
end
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
module Forms
|
|
86
|
-
module Questions
|
|
87
|
-
autoload :AskApp, Project.project_filepath("forms/questions/ask_app")
|
|
88
|
-
autoload :AskName, Project.project_filepath("forms/questions/ask_name")
|
|
89
|
-
autoload :AskTemplate, Project.project_filepath("forms/questions/ask_template")
|
|
90
|
-
autoload :AskType, Project.project_filepath("forms/questions/ask_type")
|
|
91
|
-
autoload :AskRegistration, Project.project_filepath("forms/questions/ask_registration")
|
|
92
34
|
end
|
|
93
|
-
|
|
94
|
-
autoload :Create, Project.project_filepath("forms/create")
|
|
95
|
-
autoload :Register, Project.project_filepath("forms/register")
|
|
96
|
-
autoload :Connect, Project.project_filepath("forms/connect")
|
|
97
35
|
end
|
|
98
36
|
|
|
99
37
|
module Features
|
|
100
38
|
module Runtimes
|
|
101
|
-
autoload :Admin, Project.project_filepath("features/runtimes/admin")
|
|
102
39
|
autoload :Base, Project.project_filepath("features/runtimes/base")
|
|
103
|
-
autoload :CheckoutPostPurchase, Project.project_filepath("features/runtimes/checkout_post_purchase")
|
|
104
40
|
autoload :CheckoutUiExtension, Project.project_filepath("features/runtimes/checkout_ui_extension")
|
|
105
41
|
end
|
|
42
|
+
|
|
106
43
|
autoload :ArgoServe, Project.project_filepath("features/argo_serve")
|
|
107
44
|
autoload :ArgoServeOptions, Project.project_filepath("features/argo_serve_options")
|
|
108
45
|
autoload :ArgoSetup, Project.project_filepath("features/argo_setup")
|
|
@@ -119,30 +56,12 @@ module Extension
|
|
|
119
56
|
autoload :Default, Project.project_filepath("models/specification_handlers/default")
|
|
120
57
|
end
|
|
121
58
|
|
|
122
|
-
module ServerConfig
|
|
123
|
-
autoload :Base, Project.project_filepath("models/server_config/base")
|
|
124
|
-
autoload :App, Project.project_filepath("models/server_config/app")
|
|
125
|
-
autoload :Capabilities, Project.project_filepath("models/server_config/capabilities")
|
|
126
|
-
autoload :Development, Project.project_filepath("models/server_config/development")
|
|
127
|
-
autoload :DevelopmentEntries, Project.project_filepath("models/server_config/development_entries")
|
|
128
|
-
autoload :DevelopmentRenderer, Project.project_filepath("models/server_config/development_renderer")
|
|
129
|
-
autoload :DevelopmentResource, Project.project_filepath("models/server_config/development_resource")
|
|
130
|
-
autoload :Extension, Project.project_filepath("models/server_config/extension")
|
|
131
|
-
autoload :Root, Project.project_filepath("models/server_config/root")
|
|
132
|
-
autoload :User, Project.project_filepath("models/server_config/user")
|
|
133
|
-
end
|
|
134
|
-
|
|
135
59
|
autoload :App, Project.project_filepath("models/app")
|
|
136
|
-
autoload :
|
|
137
|
-
autoload :Version, Project.project_filepath("models/version")
|
|
138
|
-
autoload :ValidationError, Project.project_filepath("models/validation_error")
|
|
60
|
+
autoload :LazySpecificationHandler, Project.project_filepath("models/lazy_specification_handler")
|
|
139
61
|
autoload :Specification, Project.project_filepath("models/specification")
|
|
140
62
|
autoload :Specifications, Project.project_filepath("models/specifications")
|
|
141
|
-
autoload :
|
|
142
|
-
autoload :
|
|
143
|
-
autoload :Product, Project.project_filepath("models/product")
|
|
144
|
-
autoload :DevelopmentServer, Project.project_filepath("models/development_server")
|
|
145
|
-
autoload :DevelopmentServerRequirements, Project.project_filepath("models/development_server_requirements")
|
|
63
|
+
autoload :ValidationError, Project.project_filepath("models/validation_error")
|
|
64
|
+
autoload :Version, Project.project_filepath("models/version")
|
|
146
65
|
end
|
|
147
66
|
|
|
148
67
|
autoload :ExtensionProjectKeys, Project.project_filepath("extension_project_keys")
|
|
@@ -6,9 +6,6 @@ module ShopifyCLI
|
|
|
6
6
|
# these concerns are taken care of.
|
|
7
7
|
#
|
|
8
8
|
class AdminAPI < API
|
|
9
|
-
autoload :PopulateResourceCommand, "shopify_cli/admin_api/populate_resource_command"
|
|
10
|
-
autoload :Schema, "shopify_cli/admin_api/schema"
|
|
11
|
-
|
|
12
9
|
class << self
|
|
13
10
|
##
|
|
14
11
|
# issues a graphql query or mutation to the Shopify Admin API. It loads a graphql
|
|
@@ -55,7 +55,6 @@ module ShopifyCLI
|
|
|
55
55
|
# we delay this require so as to avoid a performance hit on starting the CLI
|
|
56
56
|
require "shopify_cli/http_request"
|
|
57
57
|
headers = default_headers.merge(headers)
|
|
58
|
-
ctx.debug("#{method} #{uri} with X-Request-Id: #{headers["X-Request-Id"]}")
|
|
59
58
|
response = if method == "POST"
|
|
60
59
|
HttpRequest.post(uri, body, headers)
|
|
61
60
|
elsif method == "PUT"
|
|
@@ -65,6 +64,7 @@ module ShopifyCLI
|
|
|
65
64
|
elsif method == "DELETE"
|
|
66
65
|
HttpRequest.delete(uri, body, headers)
|
|
67
66
|
end
|
|
67
|
+
ctx.debug("#{method} #{uri} with request_id: #{response["x-request-id"]}")
|
|
68
68
|
case response.code.to_i
|
|
69
69
|
when 200..399
|
|
70
70
|
[response.code.to_i, JSON.parse(response.body), response]
|
|
@@ -84,7 +84,7 @@ module ShopifyCLI
|
|
|
84
84
|
raise APIRequestUnexpectedError.new("#{response.code}\n#{response.body}", response: response)
|
|
85
85
|
end
|
|
86
86
|
rescue Errno::ETIMEDOUT, Timeout::Error
|
|
87
|
-
ctx.debug("timeout in #{method} #{uri}
|
|
87
|
+
ctx.debug("timeout in #{method} #{uri}")
|
|
88
88
|
raise APIRequestTimeoutError, "Timeout"
|
|
89
89
|
end.retry_after(APIRequestRetriableError, retries: 3) do |e|
|
|
90
90
|
sleep(1) if e.is_a?(APIRequestThrottledError)
|
|
@@ -117,7 +117,6 @@ module ShopifyCLI
|
|
|
117
117
|
"User-Agent" => user_agent,
|
|
118
118
|
"Sec-CH-UA" => sec_ch_ua,
|
|
119
119
|
"Sec-CH-UA-PLATFORM" => ctx.os.to_s,
|
|
120
|
-
"X-Request-Id" => SecureRandom.uuid,
|
|
121
120
|
}.tap do |headers|
|
|
122
121
|
headers["X-Shopify-Cli-Employee"] = "1" if Shopifolk.acting_as_shopify_organization?
|
|
123
122
|
end.merge(auth_headers(token))
|
|
@@ -5,10 +5,9 @@ module ShopifyCLI
|
|
|
5
5
|
class Command
|
|
6
6
|
class SubCommand < Command
|
|
7
7
|
class << self
|
|
8
|
-
def call(args, command_name,
|
|
8
|
+
def call(args, command_name, _parent_command)
|
|
9
9
|
cmd = new(@ctx)
|
|
10
10
|
args = cmd.options.parse(@_options, args || [])
|
|
11
|
-
return call_help(parent_command, command_name) if cmd.options.help
|
|
12
11
|
check_ruby_version
|
|
13
12
|
check_node_version
|
|
14
13
|
run_prerequisites
|
|
@@ -5,7 +5,6 @@ require "semantic/semantic"
|
|
|
5
5
|
module ShopifyCLI
|
|
6
6
|
class Command < CLI::Kit::BaseCommand
|
|
7
7
|
autoload :SubCommand, "shopify_cli/command/sub_command"
|
|
8
|
-
autoload :AppSubCommand, "shopify_cli/command/app_sub_command"
|
|
9
8
|
autoload :ProjectCommand, "shopify_cli/command/project_command"
|
|
10
9
|
|
|
11
10
|
VersionRange = Struct.new(:from, :to, keyword_init: true)
|
|
@@ -28,7 +27,6 @@ module ShopifyCLI
|
|
|
28
27
|
else
|
|
29
28
|
cmd = new(@ctx)
|
|
30
29
|
cmd.options.parse(@_options, args)
|
|
31
|
-
return call_help(command_name) if cmd.options.help
|
|
32
30
|
check_ruby_version
|
|
33
31
|
check_node_version
|
|
34
32
|
run_prerequisites
|
|
@@ -149,11 +147,6 @@ module ShopifyCLI
|
|
|
149
147
|
@task_registry || ShopifyCLI::Tasks::Registry
|
|
150
148
|
end
|
|
151
149
|
|
|
152
|
-
def call_help(*cmds)
|
|
153
|
-
help = Commands::Help.new(@ctx)
|
|
154
|
-
help.call(cmds, nil)
|
|
155
|
-
end
|
|
156
|
-
|
|
157
150
|
class PrerequisiteTask
|
|
158
151
|
attr_reader :name, :args
|
|
159
152
|
|
|
@@ -17,20 +17,5 @@ module ShopifyCLI
|
|
|
17
17
|
def self.core_command?(cmd)
|
|
18
18
|
@core_commands.include?(cmd)
|
|
19
19
|
end
|
|
20
|
-
|
|
21
|
-
register :Config, "config", "shopify_cli/commands/config", true
|
|
22
|
-
register :Help, "help", "shopify_cli/commands/help", true
|
|
23
|
-
register :Login, "login", "shopify_cli/commands/login", true
|
|
24
|
-
register :Logout, "logout", "shopify_cli/commands/logout", true
|
|
25
|
-
register :Populate, "populate", "shopify_cli/commands/populate", true
|
|
26
|
-
register :Reporting, "reporting", "shopify_cli/commands/reporting", true
|
|
27
|
-
register :Store, "store", "shopify_cli/commands/store", true
|
|
28
|
-
register :Switch, "switch", "shopify_cli/commands/switch", true
|
|
29
|
-
register :System, "system", "shopify_cli/commands/system", true
|
|
30
|
-
register :Version, "version", "shopify_cli/commands/version", true
|
|
31
|
-
register :Whoami, "whoami", "shopify_cli/commands/whoami", true
|
|
32
|
-
register :App, "app", "shopify_cli/commands/app", true
|
|
33
|
-
|
|
34
|
-
autoload :Connect, "shopify_cli/commands/connect"
|
|
35
20
|
end
|
|
36
21
|
end
|
|
@@ -47,12 +47,14 @@ module ShopifyCLI
|
|
|
47
47
|
str ? str % params : key
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
-
# a wrapper around
|
|
50
|
+
# a wrapper around $stdout.puts to allow for easy formatting
|
|
51
51
|
#
|
|
52
52
|
# #### Parameters
|
|
53
53
|
# * `text` - a string message to output
|
|
54
54
|
def puts(*args)
|
|
55
|
-
|
|
55
|
+
$stdout.puts(CLI::UI.fmt(*args)).tap do
|
|
56
|
+
$stdout.flush
|
|
57
|
+
end
|
|
56
58
|
end
|
|
57
59
|
|
|
58
60
|
# aborts the current running command and outputs an error message:
|
|
@@ -2,7 +2,6 @@ module ShopifyCLI
|
|
|
2
2
|
module Core
|
|
3
3
|
autoload :EntryPoint, "shopify_cli/core/entry_point"
|
|
4
4
|
autoload :Executor, "shopify_cli/core/executor"
|
|
5
|
-
autoload :HelpResolver, "shopify_cli/core/help_resolver"
|
|
6
5
|
autoload :Monorail, "shopify_cli/core/monorail"
|
|
7
6
|
autoload :CliVersion, "shopify_cli/core/cli_version"
|
|
8
7
|
end
|
|
@@ -485,7 +485,7 @@ module ShopifyCLI
|
|
|
485
485
|
error: {
|
|
486
486
|
timeout: "Timed out while waiting for response from Shopify",
|
|
487
487
|
local_identity_not_running: "Identity needs to be running locally in order to proceed.",
|
|
488
|
-
reauthenticate: "Please login again
|
|
488
|
+
reauthenticate: "Please login again",
|
|
489
489
|
invalid_destination: "The store %s doesn't exist. Please log out and try again.",
|
|
490
490
|
},
|
|
491
491
|
|
|
@@ -28,7 +28,12 @@ module ShopifyCLI
|
|
|
28
28
|
SESSION_COOKIE_NAME = "_secure_session_id"
|
|
29
29
|
SESSION_COOKIE_REGEXP = /#{SESSION_COOKIE_NAME}=(\h+)/
|
|
30
30
|
SESSION_COOKIE_MAX_AGE = 60 * 60 * 23 # 1 day - leeway of 1h
|
|
31
|
-
IGNORED_ENDPOINTS = [
|
|
31
|
+
IGNORED_ENDPOINTS = %w[
|
|
32
|
+
shopify/monorail
|
|
33
|
+
mini-profiler-resources
|
|
34
|
+
web-pixels-manager
|
|
35
|
+
wpm
|
|
36
|
+
]
|
|
32
37
|
|
|
33
38
|
def initialize(ctx, theme, param_builder)
|
|
34
39
|
@ctx = ctx
|
|
@@ -205,7 +210,7 @@ module ShopifyCLI
|
|
|
205
210
|
def request(method, path, headers: nil, query: [], form_data: nil, body_stream: nil)
|
|
206
211
|
uri = URI.join("https://#{shop}", path)
|
|
207
212
|
|
|
208
|
-
if
|
|
213
|
+
if proxy_via_theme_access_app?(path)
|
|
209
214
|
headers = headers ? headers.slice("ACCEPT", "CONTENT-TYPE", "CONTENT-LENGTH", "Cookie") : {}
|
|
210
215
|
headers.merge!({
|
|
211
216
|
"X-Shopify-Access-Token" => Environment.admin_auth_token,
|
|
@@ -244,6 +249,14 @@ module ShopifyCLI
|
|
|
244
249
|
.with_rack_env(env)
|
|
245
250
|
.build
|
|
246
251
|
end
|
|
252
|
+
|
|
253
|
+
def proxy_via_theme_access_app?(path)
|
|
254
|
+
return false unless Environment.theme_access_password?
|
|
255
|
+
return false if path == "/localization"
|
|
256
|
+
return false if path.start_with?("/cart/")
|
|
257
|
+
|
|
258
|
+
true
|
|
259
|
+
end
|
|
247
260
|
end
|
|
248
261
|
end
|
|
249
262
|
end
|
|
@@ -84,7 +84,7 @@ module ShopifyCLI
|
|
|
84
84
|
autocall(:Logger) { CLI::Kit::Logger.new(debug_log_file: ShopifyCLI.debug_log_file) }
|
|
85
85
|
# ShopifyCLI::Resolver
|
|
86
86
|
autocall(:Resolver) do
|
|
87
|
-
|
|
87
|
+
CLI::Kit::Resolver.new(
|
|
88
88
|
tool_name: TOOL_NAME,
|
|
89
89
|
command_registry: ShopifyCLI::Commands::Registry
|
|
90
90
|
)
|
|
@@ -99,11 +99,8 @@ module ShopifyCLI
|
|
|
99
99
|
|
|
100
100
|
autoload :AdminAPI, "shopify_cli/admin_api"
|
|
101
101
|
autoload :API, "shopify_cli/api"
|
|
102
|
-
autoload :AppTypeDetector, "shopify_cli/app_type_detector"
|
|
103
102
|
autoload :Command, "shopify_cli/command"
|
|
104
|
-
autoload :CommandOptions, "shopify_cli/command_options"
|
|
105
103
|
autoload :Commands, "shopify_cli/commands"
|
|
106
|
-
autoload :Connect, "shopify_cli/connect"
|
|
107
104
|
autoload :Constants, "shopify_cli/constants"
|
|
108
105
|
autoload :Context, "shopify_cli/context"
|
|
109
106
|
autoload :Core, "shopify_cli/core"
|
|
@@ -114,28 +111,22 @@ module ShopifyCLI
|
|
|
114
111
|
autoload :Git, "shopify_cli/git"
|
|
115
112
|
autoload :GitHub, "shopify_cli/github"
|
|
116
113
|
autoload :Helpers, "shopify_cli/helpers"
|
|
117
|
-
autoload :Heroku, "shopify_cli/heroku"
|
|
118
114
|
autoload :IdentityAuth, "shopify_cli/identity_auth"
|
|
119
|
-
autoload :JsDeps, "shopify_cli/js_deps"
|
|
120
115
|
autoload :JsSystem, "shopify_cli/js_system"
|
|
121
116
|
autoload :LazyDelegator, "shopify_cli/lazy_delegator"
|
|
122
117
|
autoload :MethodObject, "shopify_cli/method_object"
|
|
123
118
|
autoload :Options, "shopify_cli/options"
|
|
124
119
|
autoload :PartnersAPI, "shopify_cli/partners_api"
|
|
125
|
-
autoload :PHPDeps, "shopify_cli/php_deps"
|
|
126
|
-
autoload :ProcessSupervision, "shopify_cli/process_supervision"
|
|
127
120
|
autoload :Project, "shopify_cli/project"
|
|
128
121
|
autoload :ProjectType, "shopify_cli/project_type"
|
|
129
122
|
autoload :ReportingConfigurationController, "shopify_cli/reporting_configuration_controller"
|
|
130
123
|
autoload :ResolveConstant, "shopify_cli/resolve_constant"
|
|
131
124
|
autoload :Resources, "shopify_cli/resources"
|
|
132
125
|
autoload :Result, "shopify_cli/result"
|
|
133
|
-
autoload :Services, "shopify_cli/services"
|
|
134
126
|
autoload :Shopifolk, "shopify_cli/shopifolk"
|
|
135
127
|
autoload :Task, "shopify_cli/task"
|
|
136
128
|
autoload :Tasks, "shopify_cli/tasks"
|
|
137
129
|
autoload :TransformDataStructure, "shopify_cli/transform_data_structure"
|
|
138
|
-
autoload :Tunnel, "shopify_cli/tunnel"
|
|
139
130
|
autoload :Utilities, "shopify_cli/utilities"
|
|
140
131
|
|
|
141
132
|
require "shopify_cli/messages/messages"
|
|
@@ -8,10 +8,8 @@ module TestHelpers
|
|
|
8
8
|
autoload :FakeFS, "test_helpers/fake_fs"
|
|
9
9
|
autoload :FakeProject, "test_helpers/fake_project"
|
|
10
10
|
autoload :FakeUI, "test_helpers/fake_ui"
|
|
11
|
-
autoload :Heroku, "test_helpers/heroku"
|
|
12
11
|
autoload :Partners, "test_helpers/partners"
|
|
13
12
|
autoload :Project, "test_helpers/project"
|
|
14
|
-
autoload :Schema, "test_helpers/schema"
|
|
15
13
|
autoload :Shopifolk, "test_helpers/shopifolk"
|
|
16
14
|
autoload :Singleton, "test_helpers/singleton"
|
|
17
15
|
autoload :TemporaryDirectory, "test_helpers/temporary_directory"
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
3
|
-
[key: string]:
|
|
4
|
-
}
|
|
5
|
-
export
|
|
6
|
-
export interface GraphQLResponseOptions<T> {
|
|
7
|
-
handleErrors?: boolean;
|
|
8
|
-
onResponse?: (response: GraphQLResponse<T>) => void;
|
|
9
|
-
}
|
|
10
|
-
export declare function graphqlRequest<T>(query: RequestDocument, api: string, url: string, token: string, variables?: Variables, options?: GraphQLResponseOptions<T>): Promise<T>;
|
|
1
|
+
import { RequestDocument, Variables } from 'graphql-request';
|
|
2
|
+
export declare function debugLogRequestInfo<T>(api: string, query: RequestDocument, variables?: Variables, headers?: {
|
|
3
|
+
[key: string]: string;
|
|
4
|
+
}): void;
|
|
5
|
+
export declare function errorHandler<T>(api: string): (error: unknown) => Error | unknown;
|
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RequestClientError, sanitizedHeadersOutput } from './headers.js';
|
|
2
2
|
import { stringifyMessage, outputContent, outputToken, outputDebug } from '../../../public/node/output.js';
|
|
3
3
|
import { AbortError } from '../../../public/node/error.js';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
export async function graphqlRequest(query, api, url, token, variables, options) {
|
|
7
|
-
const headers = buildHeaders(token);
|
|
8
|
-
debugLogRequestInfo(api, query, variables, headers);
|
|
9
|
-
const clientOptions = { agent: await httpsAgent(), headers };
|
|
10
|
-
const client = new GraphQLClient(url, clientOptions);
|
|
11
|
-
const response = await debugLogResponseInfo({ request: client.rawRequest(query, variables), url }, options?.handleErrors === false ? undefined : errorHandler(api));
|
|
12
|
-
if (options?.onResponse) {
|
|
13
|
-
options.onResponse(response);
|
|
14
|
-
}
|
|
15
|
-
return response.data;
|
|
16
|
-
}
|
|
17
|
-
function debugLogRequestInfo(api, query, variables, headers = {}) {
|
|
4
|
+
import { ClientError } from 'graphql-request';
|
|
5
|
+
export function debugLogRequestInfo(api, query, variables, headers = {}) {
|
|
18
6
|
outputDebug(outputContent `Sending ${outputToken.json(api)} GraphQL request:
|
|
19
7
|
${outputToken.raw(query.toString().trim())}
|
|
20
8
|
${variables ? `\nWith variables:\n${JSON.stringify(variables, null, 2)}\n` : ''}
|
|
@@ -22,7 +10,7 @@ With request headers:
|
|
|
22
10
|
${sanitizedHeadersOutput(headers)}
|
|
23
11
|
`);
|
|
24
12
|
}
|
|
25
|
-
function errorHandler(api) {
|
|
13
|
+
export function errorHandler(api) {
|
|
26
14
|
return (error) => {
|
|
27
15
|
if (error instanceof ClientError) {
|
|
28
16
|
const errorMessage = stringifyMessage(outputContent `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../../src/private/node/api/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../../src/private/node/api/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAC,MAAM,cAAc,CAAA;AACvE,OAAO,EAAC,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAC,MAAM,gCAAgC,CAAA;AACxG,OAAO,EAAC,UAAU,EAAC,MAAM,+BAA+B,CAAA;AACxD,OAAO,EAAC,WAAW,EAA6B,MAAM,iBAAiB,CAAA;AAEvE,MAAM,UAAU,mBAAmB,CACjC,GAAW,EACX,KAAsB,EACtB,SAAqB,EACrB,UAAmC,EAAE;IAErC,WAAW,CAAC,aAAa,CAAA,WAAW,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;IACvD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;EAC1C,SAAS,CAAC,CAAC,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;;EAE7E,sBAAsB,CAAC,OAAO,CAAC;CAChC,CAAC,CAAA;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,GAAW;IACzC,OAAO,CAAC,KAAc,EAAE,EAAE;QACxB,IAAI,KAAK,YAAY,WAAW,EAAE;YAChC,MAAM,YAAY,GAAG,gBAAgB,CAAC,aAAa,CAAA;QACjD,WAAW,CAAC,GAAG,CACnB,GAAG,CACJ,8DAA8D,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;;IAEvF,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;OACpC,CAAC,CAAA;YACF,IAAI,WAAkB,CAAA;YACtB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE;gBAC/B,WAAW,GAAG,IAAI,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;aAC1E;iBAAM;gBACL,WAAW,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,CAAA;aAC3C;YACD,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;YAC/B,OAAO,WAAW,CAAA;SACnB;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC,CAAA;AACH,CAAC","sourcesContent":["import {RequestClientError, sanitizedHeadersOutput} from './headers.js'\nimport {stringifyMessage, outputContent, outputToken, outputDebug} from '../../../public/node/output.js'\nimport {AbortError} from '../../../public/node/error.js'\nimport {ClientError, RequestDocument, Variables} from 'graphql-request'\n\nexport function debugLogRequestInfo<T>(\n api: string,\n query: RequestDocument,\n variables?: Variables,\n headers: {[key: string]: string} = {},\n) {\n outputDebug(outputContent`Sending ${outputToken.json(api)} GraphQL request:\n ${outputToken.raw(query.toString().trim())}\n${variables ? `\\nWith variables:\\n${JSON.stringify(variables, null, 2)}\\n` : ''}\nWith request headers:\n${sanitizedHeadersOutput(headers)}\n`)\n}\n\nexport function errorHandler<T>(api: string): (error: unknown) => Error | unknown {\n return (error: unknown) => {\n if (error instanceof ClientError) {\n const errorMessage = stringifyMessage(outputContent`\n The ${outputToken.raw(\n api,\n )} GraphQL API responded unsuccessfully with the HTTP status ${`${error.response.status}`} and errors:\n\n ${outputToken.json(error.response.errors)}\n `)\n let mappedError: Error\n if (error.response.status < 500) {\n mappedError = new RequestClientError(errorMessage, error.response.status)\n } else {\n mappedError = new AbortError(errorMessage)\n }\n mappedError.stack = error.stack\n return mappedError\n } else {\n return error\n }\n }\n}\n"]}
|
|
@@ -33,7 +33,8 @@ type CacheValueForKey<TKey extends keyof Cache> = NonNullable<Cache[TKey]>['valu
|
|
|
33
33
|
* before returning it.
|
|
34
34
|
* @param key - The key to use for the cache.
|
|
35
35
|
* @param fn - The function to run to get the value to cache, if a cache miss occurs.
|
|
36
|
-
* @param timeout - The maximum valid age of a cached value, in milliseconds.
|
|
36
|
+
* @param timeout - The maximum valid age of a cached value, in milliseconds.
|
|
37
|
+
* If the cached value is older than this, it will be refreshed.
|
|
37
38
|
* @returns The value from the cache or the result of the function.
|
|
38
39
|
*/
|
|
39
40
|
export declare function cacheRetrieveOrRepopulate(key: keyof Cache, fn: () => Promise<CacheValueForKey<typeof key>>, timeout?: number, config?: LocalStorage<ConfSchema>): Promise<CacheValueForKey<typeof key>>;
|
|
@@ -42,13 +42,14 @@ export function removeSession(config = cliKitStore()) {
|
|
|
42
42
|
* before returning it.
|
|
43
43
|
* @param key - The key to use for the cache.
|
|
44
44
|
* @param fn - The function to run to get the value to cache, if a cache miss occurs.
|
|
45
|
-
* @param timeout - The maximum valid age of a cached value, in milliseconds.
|
|
45
|
+
* @param timeout - The maximum valid age of a cached value, in milliseconds.
|
|
46
|
+
* If the cached value is older than this, it will be refreshed.
|
|
46
47
|
* @returns The value from the cache or the result of the function.
|
|
47
48
|
*/
|
|
48
49
|
export async function cacheRetrieveOrRepopulate(key, fn, timeout, config = cliKitStore()) {
|
|
49
50
|
const cache = config.get('cache') || {};
|
|
50
51
|
const cached = cache[key];
|
|
51
|
-
if (cached && (timeout === undefined || Date.now() - cached.timestamp < timeout)) {
|
|
52
|
+
if (cached?.value !== undefined && (timeout === undefined || Date.now() - cached.timestamp < timeout)) {
|
|
52
53
|
return cached.value;
|
|
53
54
|
}
|
|
54
55
|
const value = await fn();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conf-store.js","sourceRoot":"","sources":["../../../src/private/node/conf-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAkBvE,IAAI,SAA+C,CAAA;AAEnD;;;;GAIG;AACH,SAAS,WAAW;IAClB,IAAI,CAAC,SAAS,EAAE;QACd,SAAS,GAAG,IAAI,YAAY,CAAa,EAAC,WAAW,EAAE,iBAAiB,EAAC,CAAC,CAAA;KAC3E;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,SAAmC,WAAW,EAAE;IACzE,WAAW,CAAC,aAAa,CAAA,0BAA0B,CAAC,CAAA;IACpD,OAAO,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,SAAmC,WAAW,EAAE;IAC1F,WAAW,CAAC,aAAa,CAAA,0BAA0B,CAAC,CAAA;IACpD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,SAAmC,WAAW,EAAE;IAC5E,WAAW,CAAC,aAAa,CAAA,2BAA2B,CAAC,CAAA;IACrD,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AAC/B,CAAC;AAGD
|
|
1
|
+
{"version":3,"file":"conf-store.js","sourceRoot":"","sources":["../../../src/private/node/conf-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAkBvE,IAAI,SAA+C,CAAA;AAEnD;;;;GAIG;AACH,SAAS,WAAW;IAClB,IAAI,CAAC,SAAS,EAAE;QACd,SAAS,GAAG,IAAI,YAAY,CAAa,EAAC,WAAW,EAAE,iBAAiB,EAAC,CAAC,CAAA;KAC3E;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,SAAmC,WAAW,EAAE;IACzE,WAAW,CAAC,aAAa,CAAA,0BAA0B,CAAC,CAAA;IACpD,OAAO,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,SAAmC,WAAW,EAAE;IAC1F,WAAW,CAAC,aAAa,CAAA,0BAA0B,CAAC,CAAA;IACpD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,SAAmC,WAAW,EAAE;IAC5E,WAAW,CAAC,aAAa,CAAA,2BAA2B,CAAC,CAAA;IACrD,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AAC/B,CAAC;AAGD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,GAAgB,EAChB,EAA+C,EAC/C,OAAgB,EAChB,MAAM,GAAG,WAAW,EAAE;IAEtB,MAAM,KAAK,GAAU,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;IAEzB,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE;QACrG,OAAO,MAAM,CAAC,KAAK,CAAA;KACpB;IAED,MAAM,KAAK,GAAG,MAAM,EAAE,EAAE,CAAA;IACxB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAC,CAAA;IAC3C,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC1B,OAAO,KAAK,CAAA;AACd,CAAC","sourcesContent":["import {LocalStorage} from '../../public/node/local-storage.js'\nimport {outputContent, outputDebug} from '@shopify/cli-kit/node/output'\n\ninterface CacheValue<T> {\n value: T\n timestamp: number\n}\n\nexport type IntrospectionUrlKey = `identity-introspection-url-${string}`\n\ninterface Cache {\n [introspectionUrlKey: IntrospectionUrlKey]: CacheValue<string>\n}\n\nexport interface ConfSchema {\n sessionStore: string\n cache?: Cache\n}\n\nlet _instance: LocalStorage<ConfSchema> | undefined\n\n/**\n * CLIKIT Store.\n *\n * @returns CLIKitStore.\n */\nfunction cliKitStore() {\n if (!_instance) {\n _instance = new LocalStorage<ConfSchema>({projectName: 'shopify-cli-kit'})\n }\n return _instance\n}\n\n/**\n * Get session.\n *\n * @returns Session.\n */\nexport function getSession(config: LocalStorage<ConfSchema> = cliKitStore()): string | undefined {\n outputDebug(outputContent`Getting session store...`)\n return config.get('sessionStore')\n}\n\n/**\n * Set session.\n *\n * @param session - Session.\n */\nexport function setSession(session: string, config: LocalStorage<ConfSchema> = cliKitStore()): void {\n outputDebug(outputContent`Setting session store...`)\n config.set('sessionStore', session)\n}\n\n/**\n * Remove session.\n */\nexport function removeSession(config: LocalStorage<ConfSchema> = cliKitStore()): void {\n outputDebug(outputContent`Removing session store...`)\n config.delete('sessionStore')\n}\n\ntype CacheValueForKey<TKey extends keyof Cache> = NonNullable<Cache[TKey]>['value']\n/**\n * Fetch from cache, or run the provided function to get the value, and cache it\n * before returning it.\n * @param key - The key to use for the cache.\n * @param fn - The function to run to get the value to cache, if a cache miss occurs.\n * @param timeout - The maximum valid age of a cached value, in milliseconds.\n * If the cached value is older than this, it will be refreshed.\n * @returns The value from the cache or the result of the function.\n */\nexport async function cacheRetrieveOrRepopulate(\n key: keyof Cache,\n fn: () => Promise<CacheValueForKey<typeof key>>,\n timeout?: number,\n config = cliKitStore(),\n): Promise<CacheValueForKey<typeof key>> {\n const cache: Cache = config.get('cache') || {}\n const cached = cache[key]\n\n if (cached?.value !== undefined && (timeout === undefined || Date.now() - cached.timestamp < timeout)) {\n return cached.value\n }\n\n const value = await fn()\n cache[key] = {value, timestamp: Date.now()}\n config.set('cache', cache)\n return value\n}\n"]}
|
|
@@ -48,9 +48,9 @@ export interface OAuthSession {
|
|
|
48
48
|
* This method ensures that we have a valid session to authenticate against the given applications using the provided scopes.
|
|
49
49
|
*
|
|
50
50
|
* @param applications - An object containing the applications we need to be authenticated with.
|
|
51
|
-
* @param
|
|
51
|
+
* @param _env - Optional environment variables to use.
|
|
52
52
|
* @param forceRefresh - Optional flag to force a refresh of the token.
|
|
53
53
|
* @returns An instance with the access tokens organized by application.
|
|
54
54
|
*/
|
|
55
|
-
export declare function ensureAuthenticated(applications: OAuthApplications,
|
|
55
|
+
export declare function ensureAuthenticated(applications: OAuthApplications, _env?: NodeJS.ProcessEnv, forceRefresh?: boolean): Promise<OAuthSession>;
|
|
56
56
|
export {};
|