hotcodepush 0.0.0 → 0.1.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 (162) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +53 -0
  3. package/dist/commands/app/create.js +49 -0
  4. package/dist/commands/app/delete.js +34 -0
  5. package/dist/commands/app/get.js +33 -0
  6. package/dist/commands/app/list.js +38 -0
  7. package/dist/commands/app/transfer.js +58 -0
  8. package/dist/commands/app/update.js +34 -0
  9. package/dist/commands/audience/get.js +69 -0
  10. package/dist/commands/audit-log/list.js +82 -0
  11. package/dist/commands/binary/create.js +189 -0
  12. package/dist/commands/binary/get.js +56 -0
  13. package/dist/commands/binary/list.js +58 -0
  14. package/dist/commands/bundle/delete.js +35 -0
  15. package/dist/commands/bundle/get.js +63 -0
  16. package/dist/commands/bundle/list.js +66 -0
  17. package/dist/commands/bundle/upload.js +176 -0
  18. package/dist/commands/channel/create.js +59 -0
  19. package/dist/commands/channel/delete.js +68 -0
  20. package/dist/commands/channel/get.js +45 -0
  21. package/dist/commands/channel/list.js +39 -0
  22. package/dist/commands/channel/pause.js +32 -0
  23. package/dist/commands/channel/resume.js +32 -0
  24. package/dist/commands/channel/update.js +40 -0
  25. package/dist/commands/checkout/create.js +25 -0
  26. package/dist/commands/completion.js +36 -0
  27. package/dist/commands/customer-portal-session/create.js +25 -0
  28. package/dist/commands/device/delete.js +29 -0
  29. package/dist/commands/device/get.js +60 -0
  30. package/dist/commands/device/list.js +97 -0
  31. package/dist/commands/device/probe.js +253 -0
  32. package/dist/commands/doctor.js +363 -0
  33. package/dist/commands/fingerprint/diff.js +133 -0
  34. package/dist/commands/fingerprint.js +41 -0
  35. package/dist/commands/init.js +492 -0
  36. package/dist/commands/invitation/accept.js +53 -0
  37. package/dist/commands/invitation/create.js +52 -0
  38. package/dist/commands/invitation/delete.js +60 -0
  39. package/dist/commands/invitation/list.js +40 -0
  40. package/dist/commands/limit/list.js +34 -0
  41. package/dist/commands/login.js +185 -0
  42. package/dist/commands/logout.js +79 -0
  43. package/dist/commands/member/delete.js +35 -0
  44. package/dist/commands/member/get.js +37 -0
  45. package/dist/commands/member/list.js +41 -0
  46. package/dist/commands/member/update.js +53 -0
  47. package/dist/commands/open.js +37 -0
  48. package/dist/commands/organization/create.js +30 -0
  49. package/dist/commands/organization/delete.js +39 -0
  50. package/dist/commands/organization/get.js +38 -0
  51. package/dist/commands/organization/list.js +41 -0
  52. package/dist/commands/organization/update.js +64 -0
  53. package/dist/commands/release/create.js +237 -0
  54. package/dist/commands/release/get.js +81 -0
  55. package/dist/commands/release/list.js +69 -0
  56. package/dist/commands/release/pause.js +36 -0
  57. package/dist/commands/release/resume.js +36 -0
  58. package/dist/commands/release/revoke.js +253 -0
  59. package/dist/commands/release/rollback.js +73 -0
  60. package/dist/commands/release/rollout.js +63 -0
  61. package/dist/commands/release/update.js +82 -0
  62. package/dist/commands/resource-file/write.js +76 -0
  63. package/dist/commands/signing-key/add.js +45 -0
  64. package/dist/commands/signing-key/create.js +84 -0
  65. package/dist/commands/signing-key/delete.js +67 -0
  66. package/dist/commands/signing-key/list.js +38 -0
  67. package/dist/commands/sso-provider/delete.js +32 -0
  68. package/dist/commands/sso-provider/get.js +63 -0
  69. package/dist/commands/sso-provider/set.js +161 -0
  70. package/dist/commands/sso-provider/verify.js +31 -0
  71. package/dist/commands/statistics/get.js +189 -0
  72. package/dist/commands/usage/get.js +31 -0
  73. package/dist/commands/usage/list.js +41 -0
  74. package/dist/commands/webhook/create.js +72 -0
  75. package/dist/commands/webhook/delete.js +32 -0
  76. package/dist/commands/webhook/get.js +34 -0
  77. package/dist/commands/webhook/list.js +40 -0
  78. package/dist/commands/webhook/test.js +32 -0
  79. package/dist/commands/webhook/update.js +56 -0
  80. package/dist/commands/webhook-delivery/list.js +63 -0
  81. package/dist/commands/webhook-delivery/redeliver.js +48 -0
  82. package/dist/commands/whoami.js +24 -0
  83. package/dist/completion/hotcodepush.bash +536 -0
  84. package/dist/completion/hotcodepush.fish +979 -0
  85. package/dist/completion/hotcodepush.zsh +1372 -0
  86. package/dist/config/consts.js +32 -0
  87. package/dist/index.js +5 -0
  88. package/dist/registry.js +83 -0
  89. package/dist/utils/api-client.js +17 -0
  90. package/dist/utils/audience.js +9 -0
  91. package/dist/utils/auth-client.js +35 -0
  92. package/dist/utils/boolean-flag.js +3 -0
  93. package/dist/utils/browser.js +6 -0
  94. package/dist/utils/build-step.js +104 -0
  95. package/dist/utils/bundle-files.js +80 -0
  96. package/dist/utils/bundle-resolution.js +46 -0
  97. package/dist/utils/channel-fields.js +130 -0
  98. package/dist/utils/cli.js +75 -0
  99. package/dist/utils/command-registry.js +79 -0
  100. package/dist/utils/completion/bash.js +48 -0
  101. package/dist/utils/completion/command-tree.js +72 -0
  102. package/dist/utils/completion/fish.js +44 -0
  103. package/dist/utils/completion/posix-case-arms.js +9 -0
  104. package/dist/utils/completion/posix-quote.js +4 -0
  105. package/dist/utils/completion/script-files.js +26 -0
  106. package/dist/utils/completion/zsh.js +72 -0
  107. package/dist/utils/compressed-files.js +31 -0
  108. package/dist/utils/credential.js +15 -0
  109. package/dist/utils/device-resolution.js +17 -0
  110. package/dist/utils/duration.js +16 -0
  111. package/dist/utils/environment.js +22 -0
  112. package/dist/utils/error-mapping.js +79 -0
  113. package/dist/utils/errors.js +266 -0
  114. package/dist/utils/fingerprint.js +76 -0
  115. package/dist/utils/flag-name.js +4 -0
  116. package/dist/utils/fleet.js +9 -0
  117. package/dist/utils/framework.js +74 -0
  118. package/dist/utils/frameworks/binary-create-step.js +70 -0
  119. package/dist/utils/frameworks/capacitor.js +150 -0
  120. package/dist/utils/frameworks/cordova.js +110 -0
  121. package/dist/utils/frameworks/expo.js +152 -0
  122. package/dist/utils/frameworks/index.js +13 -0
  123. package/dist/utils/frameworks/native-glue.js +10 -0
  124. package/dist/utils/frameworks/native-projects.js +27 -0
  125. package/dist/utils/frameworks/react-native-build.js +182 -0
  126. package/dist/utils/frameworks/react-native.js +127 -0
  127. package/dist/utils/frameworks/sdk-package.js +63 -0
  128. package/dist/utils/git-provenance.js +71 -0
  129. package/dist/utils/global-options.js +34 -0
  130. package/dist/utils/hosts.js +53 -0
  131. package/dist/utils/init-steps.js +51 -0
  132. package/dist/utils/json-file.js +28 -0
  133. package/dist/utils/member-resolution.js +49 -0
  134. package/dist/utils/native-project-edit.js +41 -0
  135. package/dist/utils/nullable-field.js +10 -0
  136. package/dist/utils/outcome.js +24 -0
  137. package/dist/utils/output.js +37 -0
  138. package/dist/utils/pack.js +20 -0
  139. package/dist/utils/package-json.js +5 -0
  140. package/dist/utils/package-manager.js +50 -0
  141. package/dist/utils/pagination.js +29 -0
  142. package/dist/utils/progress.js +23 -0
  143. package/dist/utils/progression.js +119 -0
  144. package/dist/utils/project-config.js +61 -0
  145. package/dist/utils/prompts.js +53 -0
  146. package/dist/utils/react-native-project.js +119 -0
  147. package/dist/utils/release-conditions.js +80 -0
  148. package/dist/utils/release-output.js +13 -0
  149. package/dist/utils/release-resolution.js +83 -0
  150. package/dist/utils/resource-file.js +81 -0
  151. package/dist/utils/resource-resolution.js +107 -0
  152. package/dist/utils/signing-private-key.js +105 -0
  153. package/dist/utils/spending-cap.js +16 -0
  154. package/dist/utils/telemetry.js +171 -0
  155. package/dist/utils/token-store.js +63 -0
  156. package/dist/utils/update-notice.js +67 -0
  157. package/dist/utils/upload.js +148 -0
  158. package/dist/utils/usage-month.js +14 -0
  159. package/dist/utils/user-config.js +46 -0
  160. package/dist/utils/webhook-resolution.js +47 -0
  161. package/dist/utils/xcode-project.js +181 -0
  162. package/package.json +68 -7
@@ -0,0 +1,1372 @@
1
+ #compdef hotcodepush
2
+
3
+ _hotcodepush() {
4
+ local -a completions
5
+ if (( CURRENT == 2 )); then
6
+ completions=(
7
+ 'app:create, delete, get, list, transfer, update'
8
+ 'audience:get'
9
+ 'audit-log:list'
10
+ 'binary:create, get, list'
11
+ 'bundle:delete, get, list, upload'
12
+ 'channel:create, delete, get, list, pause, resume, update'
13
+ 'checkout:create'
14
+ 'completion:Print the completion script for <shell>, bash, fish or zsh: eval "$(hotcodepush completion <shell>)" loads it from ~/.bashrc, or from ~/.zshrc after compinit, and fish loads it saved as ~/.config/fish/completions/hotcodepush.fish.'
15
+ 'customer-portal-session:create'
16
+ 'device:delete, get, list, probe'
17
+ 'doctor:Check the project: its configuration, the hook wiring, the signing key, the hosts and the versions a bug report needs.'
18
+ 'fingerprint:Print the project'\''s native fingerprint with the packages and the files under the extra fingerprint paths that contribute to it; local, no login.'
19
+ 'init:Set a React Native, Expo, Capacitor or Cordova project up from sign-in to the first release, re-runnable at any step.'
20
+ 'invitation:accept, create, delete, list'
21
+ 'limit:list'
22
+ 'login:Log in by approving a one-time code in the browser.'
23
+ 'logout:End the stored session and remove its token; HOTCODEPUSH_TOKEN, when set, stays what it is.'
24
+ 'member:delete, get, list, update'
25
+ 'open:Open the app'\''s console page in the browser, or the channel'\''s, from hotcodepush.json.'
26
+ 'organization:create, delete, get, list, update'
27
+ 'release:create, get, list, pause, resume, revoke, rollback, rollout, update'
28
+ 'resource-file:write'
29
+ 'signing-key:add, create, delete, list'
30
+ 'sso-provider:delete, get, set, verify'
31
+ 'statistics:get'
32
+ 'usage:get, list'
33
+ 'webhook:create, delete, get, list, test, update'
34
+ 'webhook-delivery:list, redeliver'
35
+ 'whoami:Print the user you are logged in as, or the one HOTCODEPUSH_TOKEN stands for.'
36
+ )
37
+ _describe -t commands 'hotcodepush command' completions
38
+ return
39
+ fi
40
+ if (( CURRENT == 3 )) && [[ ${words[CURRENT]} != -* ]]; then
41
+ case ${words[2]} in
42
+ 'app')
43
+ completions=(
44
+ 'create:Create an app with its default channel, production.'
45
+ 'delete:Delete an app with its channels, bundles and releases; support can restore it for seven days.'
46
+ 'get:Print an app, hotcodepush.json'\''s by default.'
47
+ 'list:List an organization'\''s apps, newest first.'
48
+ 'transfer:Move an app to the organization --organization names, one you are an Admin of.'
49
+ 'update:Rename an app, hotcodepush.json'\''s by default.'
50
+ )
51
+ _describe -t commands 'app command' completions
52
+ return
53
+ ;;
54
+ 'audience')
55
+ completions=(
56
+ 'get:Preview the devices a release'\''s conditions would reach in a channel, before it exists, the project'\''s fingerprint among them; what release create --dry-run prints.'
57
+ )
58
+ _describe -t commands 'audience command' completions
59
+ return
60
+ ;;
61
+ 'audit-log')
62
+ completions=(
63
+ 'list:List the organization'\''s audit log, newest first, filtered by type, actor, app and time, on a plan that includes the audit log.'
64
+ )
65
+ _describe -t commands 'audit-log command' completions
66
+ return
67
+ ;;
68
+ 'binary')
69
+ completions=(
70
+ 'create:The build step of a store build: creates the binary with the embedded bundle it ships and writes the resource file the SDK reads, naming that bundle; every other build runs resource-file write. HOTCODEPUSH_OFFLINE=1 builds without the API, naming no channel unless it is given by id and creating no binary.'
71
+ 'get:Print a binary, a store build whose build created it, with the bundle it ships and the devices running it.'
72
+ 'list:List the binaries, the store builds whose build created one, with the bundle each ships and the devices running it.'
73
+ )
74
+ _describe -t commands 'binary command' completions
75
+ return
76
+ ;;
77
+ 'bundle')
78
+ completions=(
79
+ 'delete:Delete a bundle now; one a release serves or a store build embeds is refused.'
80
+ 'get:Print a bundle, by its number or id, with its deltas.'
81
+ 'list:List an app'\''s bundles, newest first: the uploaded ones by default, the ones binaries ship with --source binary, both with --source all.'
82
+ 'upload:Upload a build as a bundle, signed where a key is configured: only the files the app lacks move, then the full pack; nothing is released.'
83
+ )
84
+ _describe -t commands 'bundle command' completions
85
+ return
86
+ ;;
87
+ 'channel')
88
+ completions=(
89
+ 'create:Create a channel in an app, with an expiry for a preview channel and its auto-pause policy.'
90
+ 'delete:Delete a channel and its releases; devices on it keep what they have.'
91
+ 'get:Print a channel with its device counts, hotcodepush.json'\''s by default.'
92
+ 'list:List an app'\''s channels, newest first.'
93
+ 'pause:Pause a channel, the kill switch: it serves nothing new until resumed.'
94
+ 'resume:Resume a paused channel: it serves its releases again.'
95
+ 'update:Rename a channel or change its flags, expiry and auto-pause policy.'
96
+ )
97
+ _describe -t commands 'channel command' completions
98
+ return
99
+ ;;
100
+ 'checkout')
101
+ completions=(
102
+ 'create:Enable billing on a free organization: create the checkout for pay-as-you-go and print its URL to open.'
103
+ )
104
+ _describe -t commands 'checkout command' completions
105
+ return
106
+ ;;
107
+ 'customer-portal-session')
108
+ completions=(
109
+ 'create:Create a session of the customer portal for an organization'\''s invoices and payment method, and print its URL to open.'
110
+ )
111
+ _describe -t commands 'customer-portal-session command' completions
112
+ return
113
+ ;;
114
+ 'device')
115
+ completions=(
116
+ 'delete:Delete a device'\''s record, an erasure request; the device reports again with its next check.'
117
+ 'get:Print what a device runs and reported last, with its outcome per release, newest first.'
118
+ 'list:List the app'\''s devices, the newest report first, filtered by what they reported; support and QA, never a pipeline.'
119
+ 'probe:Answer why a device did not update: fetch the live index as a device would, evaluate it and mark every condition of every release.'
120
+ )
121
+ _describe -t commands 'device command' completions
122
+ return
123
+ ;;
124
+ 'fingerprint')
125
+ completions=(
126
+ 'diff:Print the packages and extra fingerprint paths added, removed or moved between <file-a> and <file-b>, two files written by fingerprint --json, the earlier first; local, no login.'
127
+ )
128
+ _describe -t commands 'fingerprint command' completions
129
+ return
130
+ ;;
131
+ 'invitation')
132
+ completions=(
133
+ 'accept:Accept an invitation to an organization with the token from its mail.'
134
+ 'create:Invite an address to the organization with a role; the invitation mail is valid for two days.'
135
+ 'delete:Withdraw a pending invitation; the link in its mail stops working at once.'
136
+ 'list:List the organization'\''s pending invitations, the ones a link can still accept, newest first.'
137
+ )
138
+ _describe -t commands 'invitation command' completions
139
+ return
140
+ ;;
141
+ 'limit')
142
+ completions=(
143
+ 'list:List the limits in effect for an organization: each value, the plan'\''s default and whether it is overridden.'
144
+ )
145
+ _describe -t commands 'limit command' completions
146
+ return
147
+ ;;
148
+ 'member')
149
+ completions=(
150
+ 'delete:Remove a member from the organization, or yourself to leave it; the Owner leaves only after transferring the ownership.'
151
+ 'get:Print a member of the organization with their role and how they sign in.'
152
+ 'list:List the organization'\''s members with their roles, newest first.'
153
+ 'update:Change a member'\''s role; --role owner transfers the ownership to them, makes you an admin and asks once, --yes confirming in scripts.'
154
+ )
155
+ _describe -t commands 'member command' completions
156
+ return
157
+ ;;
158
+ 'organization')
159
+ completions=(
160
+ 'create:Create an organization with you as its Owner.'
161
+ 'delete:Delete an organization with everything in it; support can restore it for seven days.'
162
+ 'get:Print an organization with its plan, spending cap and region.'
163
+ 'list:List your organizations with your role in each, newest first.'
164
+ 'update:Rename an organization or set its spending cap, which applies now.'
165
+ )
166
+ _describe -t commands 'organization command' completions
167
+ return
168
+ ;;
169
+ 'release')
170
+ completions=(
171
+ 'create:Release a bundle to a channel, uploading the build first unless --bundle or --from-channel names one, and wait until it is live.'
172
+ 'get:Print a release with its rollout, its progression, its effective auto-pause policy, its status and its counters: applied, confirmed and failed by reason.'
173
+ 'list:List a channel'\''s releases, newest first, with the progression and the devices on each.'
174
+ 'pause:Pause a release: devices on it keep it, and nobody new gets it until it is resumed.'
175
+ 'resume:Resume a paused release: devices get it again, and a new auto-pause window starts.'
176
+ 'revoke:Revoke releases for good: devices on them move to the newest older release they qualify for or the embedded bundle.'
177
+ 'rollback:Release the channel'\''s previous bundle again, or the one of --to-release, as a new release.'
178
+ 'rollout:Set a release'\''s rollout percentage in either direction, or widen it step by step with --progression; a device that has the release keeps it.'
179
+ 'update:Edit a published release in place: flip the mandatory flag, rewrite or clear the notes, change or clear an auto-pause override.'
180
+ )
181
+ _describe -t commands 'release command' completions
182
+ return
183
+ ;;
184
+ 'resource-file')
185
+ completions=(
186
+ 'write:The build step of every build that is no store build: writes the resource file the SDK reads, listing the embedded bundle, and creates no binary. Without a token, offline or with an API that cannot be reached, the channel name stays unresolved and one warning says so, in CI too.'
187
+ )
188
+ _describe -t commands 'resource-file command' completions
189
+ return
190
+ ;;
191
+ 'signing-key')
192
+ completions=(
193
+ 'add:Add the public key of a key pair you already have, from its private key file, which stays where it is: from then on the app releases only signed bundles.'
194
+ 'create:Generate a key pair and add its public key to the app, the private key written to a new file on this machine: from then on the app releases only signed bundles.'
195
+ 'delete:Unregister a signing key after the store release that stopped trusting it.'
196
+ 'list:List the app'\''s signing keys, newest first, with the key id a signature names.'
197
+ )
198
+ _describe -t commands 'signing-key command' completions
199
+ return
200
+ ;;
201
+ 'sso-provider')
202
+ completions=(
203
+ 'delete:Delete the organization'\''s SSO provider: password sign-in works again for its members, and the domain is forgotten.'
204
+ 'get:Print the organization'\''s SSO provider with its sign-in link and, until the domain is verified, the TXT record to set.'
205
+ 'set:Set the organization'\''s OIDC or SAML provider and its email domain, replacing the one before; a new domain starts unverified.'
206
+ 'verify:Look up the domain'\''s TXT record and mark the domain verified when it is there.'
207
+ )
208
+ _describe -t commands 'sso-provider command' completions
209
+ return
210
+ ;;
211
+ 'statistics')
212
+ completions=(
213
+ 'get:Print one of the app'\''s statistics: the fleet, the devices seen in 30 days; the updates per day; or the usage the bill counts.'
214
+ )
215
+ _describe -t commands 'statistics command' completions
216
+ return
217
+ ;;
218
+ 'usage')
219
+ completions=(
220
+ 'get:Print an organization'\''s monthly active devices and data transfer in a month, the totals the invoice counts.'
221
+ 'list:List an organization'\''s apps with their monthly active devices and data transfer in a month, the most devices first.'
222
+ )
223
+ _describe -t commands 'usage command' completions
224
+ return
225
+ ;;
226
+ 'webhook')
227
+ completions=(
228
+ 'create:Create a webhook that posts the organization'\''s events to a URL, as signed JSON or as a Slack, Discord or Teams message; a raw webhook'\''s secret is printed this once.'
229
+ 'delete:Delete a webhook and its delivery log.'
230
+ 'get:Print a webhook: its URL, format, events, app filter and whether it is enabled; never its secret.'
231
+ 'list:List an organization'\''s webhooks, newest first.'
232
+ 'test:Send one sample event, webhook.test, to a webhook'\''s URL and print the receiver'\''s answer.'
233
+ 'update:Rename a webhook or change its URL, events, app filter or whether it is enabled; the format and the secret never change.'
234
+ )
235
+ _describe -t commands 'webhook command' completions
236
+ return
237
+ ;;
238
+ 'webhook-delivery')
239
+ completions=(
240
+ 'list:List a webhook'\''s deliveries, newest first, filtered by status and time, to find the ones worth redelivering; each is kept for 30 days.'
241
+ 'redeliver:Deliver a webhook'\''s event again, once, and print the receiver'\''s answer; a pending delivery is taken from the retries.'
242
+ )
243
+ _describe -t commands 'webhook-delivery command' completions
244
+ return
245
+ ;;
246
+ esac
247
+ fi
248
+ case "${words[2]} ${words[3]}" in
249
+ 'app create')
250
+ _hotcodepush_arguments 2 \
251
+ '--framework[The framework: react_native, expo, capacitor or cordova.]:framework:(react_native expo capacitor cordova)' \
252
+ '--name[The app'\''s name, unique in the organization.]:name:_files' \
253
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
254
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
255
+ '--help[Print this help.]' \
256
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
257
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
258
+ '--verbose[Print the detail behind an error.]' \
259
+ '--version[Print the CLI'\''s version.]' \
260
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
261
+ ;;
262
+ 'app delete')
263
+ _hotcodepush_arguments 2 \
264
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
265
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
266
+ '--help[Print this help.]' \
267
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
268
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
269
+ '--verbose[Print the detail behind an error.]' \
270
+ '--version[Print the CLI'\''s version.]' \
271
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
272
+ ;;
273
+ 'app get')
274
+ _hotcodepush_arguments 2 \
275
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
276
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
277
+ '--help[Print this help.]' \
278
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
279
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
280
+ '--verbose[Print the detail behind an error.]' \
281
+ '--version[Print the CLI'\''s version.]' \
282
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
283
+ ;;
284
+ 'app list')
285
+ _hotcodepush_arguments 2 \
286
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
287
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
288
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
289
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
290
+ '--help[Print this help.]' \
291
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
292
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
293
+ '--verbose[Print the detail behind an error.]' \
294
+ '--version[Print the CLI'\''s version.]' \
295
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
296
+ ;;
297
+ 'app transfer')
298
+ _hotcodepush_arguments 2 \
299
+ '--organization[The organization the app moves to, by id or name.]:organization:_files' \
300
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
301
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
302
+ '--help[Print this help.]' \
303
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
304
+ '--verbose[Print the detail behind an error.]' \
305
+ '--version[Print the CLI'\''s version.]' \
306
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
307
+ ;;
308
+ 'app update')
309
+ _hotcodepush_arguments 2 \
310
+ '--name[The app'\''s new name, unique in the organization.]:name:_files' \
311
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
312
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
313
+ '--help[Print this help.]' \
314
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
315
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
316
+ '--verbose[Print the detail behind an error.]' \
317
+ '--version[Print the CLI'\''s version.]' \
318
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
319
+ ;;
320
+ 'audience get')
321
+ _hotcodepush_arguments 2 \
322
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
323
+ '*--attribute[An attribute the app sets that the device must carry, key=value, repeatable.]:attribute:_files' \
324
+ '--binary-version[The app versions served, a semver range such as ">=2.3.0 <3.0.0".]:binary-version:_files' \
325
+ '*--device[A device the release is limited to, by id, repeatable.]:device:_files' \
326
+ '--os-version[The OS versions served, a range such as ">=17".]:os-version:_files' \
327
+ '--rollout-percent[The rollout percentage to estimate, 0 to 100; 100 by default.]:rollout-percent:_files' \
328
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
329
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
330
+ '--help[Print this help.]' \
331
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
332
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
333
+ '--verbose[Print the detail behind an error.]' \
334
+ '--version[Print the CLI'\''s version.]' \
335
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
336
+ ;;
337
+ 'audit-log list')
338
+ _hotcodepush_arguments 2 \
339
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
340
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
341
+ '--actor[The user who acted, by id.]:actor:_files' \
342
+ '--actor-type[system for the rows no user wrote, user for the rest.]:actor-type:(system user)' \
343
+ '--app[The app, by id or name, to narrow the log to; the whole organization by default, never hotcodepush.json'\''s app.]:app:_files' \
344
+ '--created-since[The earliest row, inclusive: an ISO 8601 timestamp or a duration ago such as 2h or 7d.]:created-since:_files' \
345
+ '--created-until[The latest row, inclusive: an ISO 8601 timestamp or a duration ago such as 2h or 7d.]:created-until:_files' \
346
+ '--type[The type, such as channel.created, or channel.* for every action on the object.]:type:_files' \
347
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
348
+ '--help[Print this help.]' \
349
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
350
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
351
+ '--verbose[Print the detail behind an error.]' \
352
+ '--version[Print the CLI'\''s version.]' \
353
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
354
+ ;;
355
+ 'binary create')
356
+ _hotcodepush_arguments 2 \
357
+ '--embedded-bundle-path[The directory of the embedded bundle, the files the build puts into the app; the framework'\''s build output by default.]:embedded-bundle-path:_files' \
358
+ '--platform[The platform being built, ios or android.]:platform:(android ios)' \
359
+ '--resource-file-path[Where the resource file goes, in the app the build makes.]:resource-file-path:_files' \
360
+ '--binary-build[The store build'\''s build number, from the build'\''s variables.]:binary-build:_files' \
361
+ '--binary-version[The store build'\''s version, from the build'\''s variables.]:binary-version:_files' \
362
+ '--force[Replace a binary whose fingerprint conflicts, for the deliberate pre-ship rebuild.]' \
363
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
364
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
365
+ '--help[Print this help.]' \
366
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
367
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
368
+ '--verbose[Print the detail behind an error.]' \
369
+ '--version[Print the CLI'\''s version.]' \
370
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
371
+ ;;
372
+ 'binary get')
373
+ _hotcodepush_arguments 2 \
374
+ '--binary[The binary, by id.]:binary:_files' \
375
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
376
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
377
+ '--help[Print this help.]' \
378
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
379
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
380
+ '--verbose[Print the detail behind an error.]' \
381
+ '--version[Print the CLI'\''s version.]' \
382
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
383
+ ;;
384
+ 'binary list')
385
+ _hotcodepush_arguments 2 \
386
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
387
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
388
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
389
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
390
+ '--help[Print this help.]' \
391
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
392
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
393
+ '--verbose[Print the detail behind an error.]' \
394
+ '--version[Print the CLI'\''s version.]' \
395
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
396
+ ;;
397
+ 'bundle delete')
398
+ _hotcodepush_arguments 2 \
399
+ '--bundle[The bundle, by its number or id.]:bundle:_files' \
400
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
401
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
402
+ '--help[Print this help.]' \
403
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
404
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
405
+ '--verbose[Print the detail behind an error.]' \
406
+ '--version[Print the CLI'\''s version.]' \
407
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
408
+ ;;
409
+ 'bundle get')
410
+ _hotcodepush_arguments 2 \
411
+ '--bundle[The bundle, by its number or id.]:bundle:_files' \
412
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
413
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
414
+ '--help[Print this help.]' \
415
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
416
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
417
+ '--verbose[Print the detail behind an error.]' \
418
+ '--version[Print the CLI'\''s version.]' \
419
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
420
+ ;;
421
+ 'bundle list')
422
+ _hotcodepush_arguments 2 \
423
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
424
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
425
+ '--bundle-version[Only the bundles carrying this version label.]:bundle-version:_files' \
426
+ '--source[upload, the bundles a release can carry, by default; binary, the ones binaries ship, which have no number; or all.]:source:(all binary upload)' \
427
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
428
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
429
+ '--help[Print this help.]' \
430
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
431
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
432
+ '--verbose[Print the detail behind an error.]' \
433
+ '--version[Print the CLI'\''s version.]' \
434
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
435
+ ;;
436
+ 'bundle upload')
437
+ _hotcodepush_arguments 2 \
438
+ '--bundle-version[The bundle'\''s version label; the project'\''s package.json version by default.]:bundle-version:_files' \
439
+ '--git-message[The commit message subject to record, over the detected one.]:git-message:_files' \
440
+ '--git-ref[The branch or tag to record, over the detected one.]:git-ref:_files' \
441
+ '--git-sha[The commit to record, over the detected one.]:git-sha:_files' \
442
+ '--no-git[Detect no git provenance; the typed --git-* flags still apply.]' \
443
+ '--path[The build to upload, the framework'\''s build output by default: on React Native and Expo one platform'\''s prepared bundle, Capacitor'\''s webDir or Cordova'\''s www.]:path:_files' \
444
+ '--platform[The platforms the bundle serves, ios,android by default.]:platform:(android ios)' \
445
+ '--private-key-path[The private key file to sign with, as signing-key create wrote it; HOTCODEPUSH_SIGNING_KEY holds its content in CI.]:private-key-path:_files' \
446
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
447
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
448
+ '--help[Print this help.]' \
449
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
450
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
451
+ '--verbose[Print the detail behind an error.]' \
452
+ '--version[Print the CLI'\''s version.]' \
453
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
454
+ ;;
455
+ 'channel create')
456
+ _hotcodepush_arguments 2 \
457
+ '--discoverable[Whether the app'\''s setChannel finds the channel by its name; pass false to turn it off.]' \
458
+ '--expires-at[When the preview channel expires, an ISO 8601 timestamp; not on protected or default channels.]:expires-at:_files' \
459
+ '--expires-in[How long until the preview channel expires, 14d or 12h.]:expires-in:_files' \
460
+ '--failure-action[What auto-pause does when a release fails too often: pause, revoke, notify or none.]:failure-action:(none notify pause revoke)' \
461
+ '--failure-minimum-update-count[The applied updates a release needs before auto-pause judges it.]:failure-minimum-update-count:_files' \
462
+ '--failure-threshold-percent[The failure percentage at which auto-pause acts.]:failure-threshold-percent:_files' \
463
+ '--protected[Whether only Owners and Admins change what the channel serves; pass false to turn it off.]' \
464
+ '--if-not-exists[Return the channel of that name when it exists instead of failing, for re-run pipelines.]' \
465
+ '--name[The name: letters, digits, - and _, one to 64 characters, unique in the app.]:name:_files' \
466
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
467
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
468
+ '--help[Print this help.]' \
469
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
470
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
471
+ '--verbose[Print the detail behind an error.]' \
472
+ '--version[Print the CLI'\''s version.]' \
473
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
474
+ ;;
475
+ 'channel delete')
476
+ _hotcodepush_arguments 2 \
477
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
478
+ '--ignore-not-found[Succeed when the channel does not exist, for re-run pipelines.]' \
479
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
480
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
481
+ '--help[Print this help.]' \
482
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
483
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
484
+ '--verbose[Print the detail behind an error.]' \
485
+ '--version[Print the CLI'\''s version.]' \
486
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
487
+ ;;
488
+ 'channel get')
489
+ _hotcodepush_arguments 2 \
490
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
491
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
492
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
493
+ '--help[Print this help.]' \
494
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
495
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
496
+ '--verbose[Print the detail behind an error.]' \
497
+ '--version[Print the CLI'\''s version.]' \
498
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
499
+ ;;
500
+ 'channel list')
501
+ _hotcodepush_arguments 2 \
502
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
503
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
504
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
505
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
506
+ '--help[Print this help.]' \
507
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
508
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
509
+ '--verbose[Print the detail behind an error.]' \
510
+ '--version[Print the CLI'\''s version.]' \
511
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
512
+ ;;
513
+ 'channel pause')
514
+ _hotcodepush_arguments 2 \
515
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
516
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
517
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
518
+ '--help[Print this help.]' \
519
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
520
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
521
+ '--verbose[Print the detail behind an error.]' \
522
+ '--version[Print the CLI'\''s version.]' \
523
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
524
+ ;;
525
+ 'channel resume')
526
+ _hotcodepush_arguments 2 \
527
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
528
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
529
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
530
+ '--help[Print this help.]' \
531
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
532
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
533
+ '--verbose[Print the detail behind an error.]' \
534
+ '--version[Print the CLI'\''s version.]' \
535
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
536
+ ;;
537
+ 'channel update')
538
+ _hotcodepush_arguments 2 \
539
+ '--clear-expires-at[Sets the expiry back to null: the channel never expires.]' \
540
+ '--clear-failure-action[Sets the action back to null: the default policy applies.]' \
541
+ '--clear-failure-minimum-update-count[Sets the minimum update count back to null: the default policy applies.]' \
542
+ '--clear-failure-threshold-percent[Sets the threshold back to null: the default policy applies.]' \
543
+ '--discoverable[Whether the app'\''s setChannel finds the channel by its name; pass false to turn it off.]' \
544
+ '--expires-at[When the preview channel expires, an ISO 8601 timestamp; not on protected or default channels.]:expires-at:_files' \
545
+ '--expires-in[How long until the preview channel expires, 14d or 12h.]:expires-in:_files' \
546
+ '--failure-action[What auto-pause does when a release fails too often: pause, revoke, notify or none.]:failure-action:(none notify pause revoke)' \
547
+ '--failure-minimum-update-count[The applied updates a release needs before auto-pause judges it.]:failure-minimum-update-count:_files' \
548
+ '--failure-threshold-percent[The failure percentage at which auto-pause acts.]:failure-threshold-percent:_files' \
549
+ '--protected[Whether only Owners and Admins change what the channel serves; pass false to turn it off.]' \
550
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
551
+ '--name[The channel'\''s new name: letters, digits, - and _, one to 64 characters.]:name:_files' \
552
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
553
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
554
+ '--help[Print this help.]' \
555
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
556
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
557
+ '--verbose[Print the detail behind an error.]' \
558
+ '--version[Print the CLI'\''s version.]' \
559
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
560
+ ;;
561
+ 'checkout create')
562
+ _hotcodepush_arguments 2 \
563
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
564
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
565
+ '--help[Print this help.]' \
566
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
567
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
568
+ '--verbose[Print the detail behind an error.]' \
569
+ '--version[Print the CLI'\''s version.]' \
570
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
571
+ ;;
572
+ 'customer-portal-session create')
573
+ _hotcodepush_arguments 2 \
574
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
575
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
576
+ '--help[Print this help.]' \
577
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
578
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
579
+ '--verbose[Print the detail behind an error.]' \
580
+ '--version[Print the CLI'\''s version.]' \
581
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
582
+ ;;
583
+ 'device delete')
584
+ _hotcodepush_arguments 2 \
585
+ '--device[The device, by the id it generated, as the debug screen and device list show it.]:device:_files' \
586
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
587
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
588
+ '--help[Print this help.]' \
589
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
590
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
591
+ '--verbose[Print the detail behind an error.]' \
592
+ '--version[Print the CLI'\''s version.]' \
593
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
594
+ ;;
595
+ 'device get')
596
+ _hotcodepush_arguments 2 \
597
+ '--device[The device, by the id it generated, as the debug screen and device list show it.]:device:_files' \
598
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
599
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
600
+ '--help[Print this help.]' \
601
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
602
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
603
+ '--verbose[Print the detail behind an error.]' \
604
+ '--version[Print the CLI'\''s version.]' \
605
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
606
+ ;;
607
+ 'device list')
608
+ _hotcodepush_arguments 2 \
609
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
610
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
611
+ '--attribute[An attribute the app set, key=value, such as userId=42.]:attribute:_files' \
612
+ '--binary-build[The build number the devices run.]:binary-build:_files' \
613
+ '--binary-version[The app version the devices run.]:binary-version:_files' \
614
+ '--channel[The channel the devices follow, by id or name.]:channel:_files' \
615
+ '--fingerprint[The native fingerprint the devices report.]:fingerprint:_files' \
616
+ '--last-seen-since[The earliest last report, inclusive: an ISO 8601 timestamp or a duration ago such as 2h or 7d.]:last-seen-since:_files' \
617
+ '--last-seen-until[The latest last report, inclusive: an ISO 8601 timestamp or a duration ago such as 2h or 7d.]:last-seen-until:_files' \
618
+ '--platform[The platform, ios or android.]:platform:(android ios)' \
619
+ '--sdk-version[The SDK version the devices run.]:sdk-version:_files' \
620
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
621
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
622
+ '--help[Print this help.]' \
623
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
624
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
625
+ '--verbose[Print the detail behind an error.]' \
626
+ '--version[Print the CLI'\''s version.]' \
627
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
628
+ ;;
629
+ 'device probe')
630
+ _hotcodepush_arguments 2 \
631
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
632
+ '--device[The device, by the id it generated, as the debug screen and device list show it.]:device:_files' \
633
+ '*--attribute[An attribute the app sets, key=value, repeatable.]:attribute:_files' \
634
+ '--binary-build[The store build'\''s build number, CFBundleVersion or versionCode.]:binary-build:_files' \
635
+ '--binary-version[The store build'\''s version, CFBundleShortVersionString or versionName.]:binary-version:_files' \
636
+ '--platform[The platform, ios or android.]:platform:(android ios)' \
637
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
638
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
639
+ '--help[Print this help.]' \
640
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
641
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
642
+ '--verbose[Print the detail behind an error.]' \
643
+ '--version[Print the CLI'\''s version.]' \
644
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
645
+ ;;
646
+ 'fingerprint diff')
647
+ _hotcodepush_arguments 2 \
648
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
649
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
650
+ '--help[Print this help.]' \
651
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
652
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
653
+ '--verbose[Print the detail behind an error.]' \
654
+ '--version[Print the CLI'\''s version.]' \
655
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
656
+ '*:argument:_files' \
657
+ ;;
658
+ 'invitation accept')
659
+ _hotcodepush_arguments 2 \
660
+ '--invitation[The invitation, by the id its mail carries.]:invitation:_files' \
661
+ '--token[The token the invitation mail carries.]:token:_files' \
662
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
663
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
664
+ '--help[Print this help.]' \
665
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
666
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
667
+ '--verbose[Print the detail behind an error.]' \
668
+ '--version[Print the CLI'\''s version.]' \
669
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
670
+ ;;
671
+ 'invitation create')
672
+ _hotcodepush_arguments 2 \
673
+ '--email[The address to invite.]:email:_files' \
674
+ '--role[The role the invitee gets: admin, billing or member.]:role:(admin billing member)' \
675
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
676
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
677
+ '--help[Print this help.]' \
678
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
679
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
680
+ '--verbose[Print the detail behind an error.]' \
681
+ '--version[Print the CLI'\''s version.]' \
682
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
683
+ ;;
684
+ 'invitation delete')
685
+ _hotcodepush_arguments 2 \
686
+ '--invitation[The pending invitation, by id or email.]:invitation:_files' \
687
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
688
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
689
+ '--help[Print this help.]' \
690
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
691
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
692
+ '--verbose[Print the detail behind an error.]' \
693
+ '--version[Print the CLI'\''s version.]' \
694
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
695
+ ;;
696
+ 'invitation list')
697
+ _hotcodepush_arguments 2 \
698
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
699
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
700
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
701
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
702
+ '--help[Print this help.]' \
703
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
704
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
705
+ '--verbose[Print the detail behind an error.]' \
706
+ '--version[Print the CLI'\''s version.]' \
707
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
708
+ ;;
709
+ 'limit list')
710
+ _hotcodepush_arguments 2 \
711
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
712
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
713
+ '--help[Print this help.]' \
714
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
715
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
716
+ '--verbose[Print the detail behind an error.]' \
717
+ '--version[Print the CLI'\''s version.]' \
718
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
719
+ ;;
720
+ 'member delete')
721
+ _hotcodepush_arguments 2 \
722
+ '--member[The member, by id or email.]:member:_files' \
723
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
724
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
725
+ '--help[Print this help.]' \
726
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
727
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
728
+ '--verbose[Print the detail behind an error.]' \
729
+ '--version[Print the CLI'\''s version.]' \
730
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
731
+ ;;
732
+ 'member get')
733
+ _hotcodepush_arguments 2 \
734
+ '--member[The member, by id or email.]:member:_files' \
735
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
736
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
737
+ '--help[Print this help.]' \
738
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
739
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
740
+ '--verbose[Print the detail behind an error.]' \
741
+ '--version[Print the CLI'\''s version.]' \
742
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
743
+ ;;
744
+ 'member list')
745
+ _hotcodepush_arguments 2 \
746
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
747
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
748
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
749
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
750
+ '--help[Print this help.]' \
751
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
752
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
753
+ '--verbose[Print the detail behind an error.]' \
754
+ '--version[Print the CLI'\''s version.]' \
755
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
756
+ ;;
757
+ 'member update')
758
+ _hotcodepush_arguments 2 \
759
+ '--member[The member, by id or email.]:member:_files' \
760
+ '--role[The member'\''s new role: admin, billing, member, or owner to transfer the ownership.]:role:(admin billing member owner)' \
761
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
762
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
763
+ '--help[Print this help.]' \
764
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
765
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
766
+ '--verbose[Print the detail behind an error.]' \
767
+ '--version[Print the CLI'\''s version.]' \
768
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
769
+ ;;
770
+ 'organization create')
771
+ _hotcodepush_arguments 2 \
772
+ '--name[The organization'\''s name.]:name:_files' \
773
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
774
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
775
+ '--help[Print this help.]' \
776
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
777
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
778
+ '--verbose[Print the detail behind an error.]' \
779
+ '--version[Print the CLI'\''s version.]' \
780
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
781
+ ;;
782
+ 'organization delete')
783
+ _hotcodepush_arguments 2 \
784
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
785
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
786
+ '--help[Print this help.]' \
787
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
788
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
789
+ '--verbose[Print the detail behind an error.]' \
790
+ '--version[Print the CLI'\''s version.]' \
791
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
792
+ ;;
793
+ 'organization get')
794
+ _hotcodepush_arguments 2 \
795
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
796
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
797
+ '--help[Print this help.]' \
798
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
799
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
800
+ '--verbose[Print the detail behind an error.]' \
801
+ '--version[Print the CLI'\''s version.]' \
802
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
803
+ ;;
804
+ 'organization list')
805
+ _hotcodepush_arguments 2 \
806
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
807
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
808
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
809
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
810
+ '--help[Print this help.]' \
811
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
812
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
813
+ '--verbose[Print the detail behind an error.]' \
814
+ '--version[Print the CLI'\''s version.]' \
815
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
816
+ ;;
817
+ 'organization update')
818
+ _hotcodepush_arguments 2 \
819
+ '--name[The organization'\''s new name.]:name:_files' \
820
+ '--spending-cap[The most the organization pays a month, in whole dollars from $5 to $10,000.]:spending-cap:_files' \
821
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
822
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
823
+ '--help[Print this help.]' \
824
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
825
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
826
+ '--verbose[Print the detail behind an error.]' \
827
+ '--version[Print the CLI'\''s version.]' \
828
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
829
+ ;;
830
+ 'release create')
831
+ _hotcodepush_arguments 2 \
832
+ '--bundle-version[The bundle'\''s version label; the project'\''s package.json version by default.]:bundle-version:_files' \
833
+ '--git-message[The commit message subject to record, over the detected one.]:git-message:_files' \
834
+ '--git-ref[The branch or tag to record, over the detected one.]:git-ref:_files' \
835
+ '--git-sha[The commit to record, over the detected one.]:git-sha:_files' \
836
+ '--no-git[Detect no git provenance; the typed --git-* flags still apply.]' \
837
+ '--path[The build to upload, the framework'\''s build output by default: on React Native and Expo one platform'\''s prepared bundle, Capacitor'\''s webDir or Cordova'\''s www.]:path:_files' \
838
+ '--platform[The platforms the bundle serves, ios,android by default.]:platform:(android ios)' \
839
+ '--private-key-path[The private key file to sign with, as signing-key create wrote it; HOTCODEPUSH_SIGNING_KEY holds its content in CI.]:private-key-path:_files' \
840
+ '*--attribute[An attribute the app sets that the device must carry, key=value, repeatable.]:attribute:_files' \
841
+ '--binary-version[The app versions served, a semver range such as ">=2.3.0 <3.0.0".]:binary-version:_files' \
842
+ '*--device[A device the release is limited to, by id, repeatable.]:device:_files' \
843
+ '--os-version[The OS versions served, a range such as ">=17".]:os-version:_files' \
844
+ '--failure-action[What auto-pause does when a release fails too often: pause, revoke, notify or none.]:failure-action:(none notify pause revoke)' \
845
+ '--failure-minimum-update-count[The applied updates a release needs before auto-pause judges it.]:failure-minimum-update-count:_files' \
846
+ '--failure-threshold-percent[The failure percentage at which auto-pause acts.]:failure-threshold-percent:_files' \
847
+ '--progression[Widen the rollout step by step while the release stays healthy: 10, 50 and 100 percent by default, each step after at least an hour and 50 applied updates.]' \
848
+ '--progression-minimum-seconds[The seconds a step lasts at least before the next one, with --progression; 3600 by default.]:progression-minimum-seconds:_files' \
849
+ '--progression-minimum-update-count[The applied updates each step needs before the next one, with --progression; 50 by default.]:progression-minimum-update-count:_files' \
850
+ '--progression-rollout-percents[The percentages the rollout widens through, rising, the last above the starting rollout, with --progression; 10,50,100 by default.]:progression-rollout-percents:_files' \
851
+ '--bundle[A bundle already uploaded, by number or id; without it the build is uploaded first.]:bundle:_files' \
852
+ '*--channel[The channel, by id or name, repeatable; hotcodepush.json'\''s channel by default.]:channel:_files' \
853
+ '--dry-run[Validate and print the audience the release would reach; nothing is signed, uploaded or published, so no private key is needed.]' \
854
+ '--from-channel[Release what this channel serves, by id or name, instead of a bundle or a build.]:from-channel:_files' \
855
+ '--mandatory[Devices apply the release at once and restart.]' \
856
+ '--notes[The release notes; they ride the public index.]:notes:_files' \
857
+ '--rollout-percent[The share of devices the release reaches, 0 to 100; 100 by default, the schedule'\''s first percentage with --progression.]:rollout-percent:_files' \
858
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
859
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
860
+ '--help[Print this help.]' \
861
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
862
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
863
+ '--verbose[Print the detail behind an error.]' \
864
+ '--version[Print the CLI'\''s version.]' \
865
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
866
+ ;;
867
+ 'release get')
868
+ _hotcodepush_arguments 2 \
869
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
870
+ '--release[The release, by its number in the channel or by its id.]:release:_files' \
871
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
872
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
873
+ '--help[Print this help.]' \
874
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
875
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
876
+ '--verbose[Print the detail behind an error.]' \
877
+ '--version[Print the CLI'\''s version.]' \
878
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
879
+ ;;
880
+ 'release list')
881
+ _hotcodepush_arguments 2 \
882
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
883
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
884
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
885
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
886
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
887
+ '--help[Print this help.]' \
888
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
889
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
890
+ '--verbose[Print the detail behind an error.]' \
891
+ '--version[Print the CLI'\''s version.]' \
892
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
893
+ ;;
894
+ 'release pause')
895
+ _hotcodepush_arguments 2 \
896
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
897
+ '--release[The release, by its number in the channel or by its id.]:release:_files' \
898
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
899
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
900
+ '--help[Print this help.]' \
901
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
902
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
903
+ '--verbose[Print the detail behind an error.]' \
904
+ '--version[Print the CLI'\''s version.]' \
905
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
906
+ ;;
907
+ 'release resume')
908
+ _hotcodepush_arguments 2 \
909
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
910
+ '--release[The release, by its number in the channel or by its id.]:release:_files' \
911
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
912
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
913
+ '--help[Print this help.]' \
914
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
915
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
916
+ '--verbose[Print the detail behind an error.]' \
917
+ '--version[Print the CLI'\''s version.]' \
918
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
919
+ ;;
920
+ 'release revoke')
921
+ _hotcodepush_arguments 2 \
922
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
923
+ '--release[The release, by its number in the channel or by its id.]:release:_files' \
924
+ '--all[Every release of the channel; its devices return to the embedded bundle.]' \
925
+ '--bundle[Every release of this bundle, by number or id, across the app'\''s channels; without --channel.]:bundle:_files' \
926
+ '--release-from[The first release revoked, by number, inclusive: that one and every newer one of the channel.]:release-from:_files' \
927
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
928
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
929
+ '--help[Print this help.]' \
930
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
931
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
932
+ '--verbose[Print the detail behind an error.]' \
933
+ '--version[Print the CLI'\''s version.]' \
934
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
935
+ ;;
936
+ 'release rollback')
937
+ _hotcodepush_arguments 2 \
938
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
939
+ '--mandatory[Devices apply the rollback at once and restart, the default for an incident fix; pass false to let them wait.]' \
940
+ '--to-release[The release whose bundle comes back, by number or id; the channel'\''s previous one by default.]:to-release:_files' \
941
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
942
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
943
+ '--help[Print this help.]' \
944
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
945
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
946
+ '--verbose[Print the detail behind an error.]' \
947
+ '--version[Print the CLI'\''s version.]' \
948
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
949
+ ;;
950
+ 'release rollout')
951
+ _hotcodepush_arguments 2 \
952
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
953
+ '--progression[Widen the rollout step by step while the release stays healthy: 10, 50 and 100 percent by default, each step after at least an hour and 50 applied updates.]' \
954
+ '--progression-minimum-seconds[The seconds a step lasts at least before the next one, with --progression; 3600 by default.]:progression-minimum-seconds:_files' \
955
+ '--progression-minimum-update-count[The applied updates each step needs before the next one, with --progression; 50 by default.]:progression-minimum-update-count:_files' \
956
+ '--progression-rollout-percents[The percentages the rollout widens through, rising, the last above the starting rollout, with --progression; 10,50,100 by default.]:progression-rollout-percents:_files' \
957
+ '--release[The release, by its number in the channel or by its id.]:release:_files' \
958
+ '--rollout-percent[The share of devices the release reaches from now on, 0 to 100; with --progression where the schedule starts, the release'\''s own percentage by default.]:rollout-percent:_files' \
959
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
960
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
961
+ '--help[Print this help.]' \
962
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
963
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
964
+ '--verbose[Print the detail behind an error.]' \
965
+ '--version[Print the CLI'\''s version.]' \
966
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
967
+ ;;
968
+ 'release update')
969
+ _hotcodepush_arguments 2 \
970
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
971
+ '--failure-action[What auto-pause does when a release fails too often: pause, revoke, notify or none.]:failure-action:(none notify pause revoke)' \
972
+ '--failure-minimum-update-count[The applied updates a release needs before auto-pause judges it.]:failure-minimum-update-count:_files' \
973
+ '--failure-threshold-percent[The failure percentage at which auto-pause acts.]:failure-threshold-percent:_files' \
974
+ '--clear-failure-action[Sets the action back to null: the channel'\''s value applies.]' \
975
+ '--clear-failure-minimum-update-count[Sets the minimum update count back to null: the channel'\''s value applies.]' \
976
+ '--clear-failure-threshold-percent[Sets the threshold back to null: the channel'\''s value applies.]' \
977
+ '--release[The release, by its number in the channel or by its id.]:release:_files' \
978
+ '--clear-notes[Sets the notes back to null.]' \
979
+ '--mandatory[Whether devices apply the release at once and restart; pass false to turn it off.]' \
980
+ '--notes[The new release notes.]:notes:_files' \
981
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
982
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
983
+ '--help[Print this help.]' \
984
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
985
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
986
+ '--verbose[Print the detail behind an error.]' \
987
+ '--version[Print the CLI'\''s version.]' \
988
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
989
+ ;;
990
+ 'resource-file write')
991
+ _hotcodepush_arguments 2 \
992
+ '--embedded-bundle-path[The directory of the embedded bundle, the files the build puts into the app; the framework'\''s build output by default.]:embedded-bundle-path:_files' \
993
+ '--platform[The platform being built, ios or android.]:platform:(android ios)' \
994
+ '--resource-file-path[Where the resource file goes, in the app the build makes.]:resource-file-path:_files' \
995
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
996
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
997
+ '--help[Print this help.]' \
998
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
999
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1000
+ '--verbose[Print the detail behind an error.]' \
1001
+ '--version[Print the CLI'\''s version.]' \
1002
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1003
+ ;;
1004
+ 'signing-key add')
1005
+ _hotcodepush_arguments 2 \
1006
+ '--private-key-path[The private key file of the pair, a PEM of PKCS #8 or PKCS #1, read on this machine; its public key is derived from it.]:private-key-path:_files' \
1007
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1008
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1009
+ '--help[Print this help.]' \
1010
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1011
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1012
+ '--verbose[Print the detail behind an error.]' \
1013
+ '--version[Print the CLI'\''s version.]' \
1014
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1015
+ ;;
1016
+ 'signing-key create')
1017
+ _hotcodepush_arguments 2 \
1018
+ '--private-key-path[The file to write the private key to, which must not exist; hotcodepush-private-key.pem in the current directory by default.]:private-key-path:_files' \
1019
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1020
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1021
+ '--help[Print this help.]' \
1022
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1023
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1024
+ '--verbose[Print the detail behind an error.]' \
1025
+ '--version[Print the CLI'\''s version.]' \
1026
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1027
+ ;;
1028
+ 'signing-key delete')
1029
+ _hotcodepush_arguments 2 \
1030
+ '--signing-key[The signing key, by id or key id.]:signing-key:_files' \
1031
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1032
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1033
+ '--help[Print this help.]' \
1034
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1035
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1036
+ '--verbose[Print the detail behind an error.]' \
1037
+ '--version[Print the CLI'\''s version.]' \
1038
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1039
+ ;;
1040
+ 'signing-key list')
1041
+ _hotcodepush_arguments 2 \
1042
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
1043
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
1044
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1045
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1046
+ '--help[Print this help.]' \
1047
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1048
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1049
+ '--verbose[Print the detail behind an error.]' \
1050
+ '--version[Print the CLI'\''s version.]' \
1051
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1052
+ ;;
1053
+ 'sso-provider delete')
1054
+ _hotcodepush_arguments 2 \
1055
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1056
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1057
+ '--help[Print this help.]' \
1058
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1059
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1060
+ '--verbose[Print the detail behind an error.]' \
1061
+ '--version[Print the CLI'\''s version.]' \
1062
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1063
+ ;;
1064
+ 'sso-provider get')
1065
+ _hotcodepush_arguments 2 \
1066
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1067
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1068
+ '--help[Print this help.]' \
1069
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1070
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1071
+ '--verbose[Print the detail behind an error.]' \
1072
+ '--version[Print the CLI'\''s version.]' \
1073
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1074
+ ;;
1075
+ 'sso-provider set')
1076
+ _hotcodepush_arguments 2 \
1077
+ '--domain[The email domain whose addresses sign in through the provider, such as example.com.]:domain:_files' \
1078
+ '--oidc-client-id[OIDC: the client ID the identity provider issued.]:oidc-client-id:_files' \
1079
+ '--oidc-client-secret[OIDC: the client secret the identity provider issued.]:oidc-client-secret:_files' \
1080
+ '--oidc-discovery-endpoint[OIDC: the discovery document'\''s URL, the issuer'\''s /.well-known/openid-configuration by default.]:oidc-discovery-endpoint:_files' \
1081
+ '--oidc-issuer[OIDC: the identity provider'\''s issuer URL.]:oidc-issuer:_files' \
1082
+ '--oidc-scopes[OIDC: the scopes to request, comma-separated.]:oidc-scopes:_files' \
1083
+ '--saml-cert-path[SAML: the identity provider'\''s signing certificate file, sent with --saml-entity-id when no metadata is.]:saml-cert-path:_files' \
1084
+ '--saml-entity-id[SAML: the identity provider'\''s entity ID.]:saml-entity-id:_files' \
1085
+ '--saml-entry-point[SAML: the identity provider'\''s sign-in URL.]:saml-entry-point:_files' \
1086
+ '--saml-issuer[SAML: the identity provider'\''s issuer.]:saml-issuer:_files' \
1087
+ '--saml-metadata-path[SAML: the identity provider'\''s metadata XML file.]:saml-metadata-path:_files' \
1088
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1089
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1090
+ '--help[Print this help.]' \
1091
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1092
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1093
+ '--verbose[Print the detail behind an error.]' \
1094
+ '--version[Print the CLI'\''s version.]' \
1095
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1096
+ ;;
1097
+ 'sso-provider verify')
1098
+ _hotcodepush_arguments 2 \
1099
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1100
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1101
+ '--help[Print this help.]' \
1102
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1103
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1104
+ '--verbose[Print the detail behind an error.]' \
1105
+ '--version[Print the CLI'\''s version.]' \
1106
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1107
+ ;;
1108
+ 'statistics get')
1109
+ _hotcodepush_arguments 2 \
1110
+ '--channel[The channel, by id or name, to narrow the fleet or the updates to; the whole app by default.]:channel:_files' \
1111
+ '--period-since[The first UTC day of the updates or the usage, YYYY-MM-DD, inclusive; 30 days before --period-until by default.]:period-since:_files' \
1112
+ '--period-until[The last UTC day of the updates or the usage, YYYY-MM-DD, inclusive; today by default.]:period-until:_files' \
1113
+ '--type[The statistics to print: fleet, the devices seen in 30 days; updates, per day; usage, the monthly active devices and the traffic.]:type:(fleet updates usage)' \
1114
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1115
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1116
+ '--help[Print this help.]' \
1117
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1118
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1119
+ '--verbose[Print the detail behind an error.]' \
1120
+ '--version[Print the CLI'\''s version.]' \
1121
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1122
+ ;;
1123
+ 'usage get')
1124
+ _hotcodepush_arguments 2 \
1125
+ '--month[The month, YYYY-MM; the current one by default.]:month:_files' \
1126
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1127
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1128
+ '--help[Print this help.]' \
1129
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1130
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1131
+ '--verbose[Print the detail behind an error.]' \
1132
+ '--version[Print the CLI'\''s version.]' \
1133
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1134
+ ;;
1135
+ 'usage list')
1136
+ _hotcodepush_arguments 2 \
1137
+ '--month[The month, YYYY-MM; the current one by default.]:month:_files' \
1138
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
1139
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
1140
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1141
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1142
+ '--help[Print this help.]' \
1143
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1144
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1145
+ '--verbose[Print the detail behind an error.]' \
1146
+ '--version[Print the CLI'\''s version.]' \
1147
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1148
+ ;;
1149
+ 'webhook create')
1150
+ _hotcodepush_arguments 2 \
1151
+ '--app[The app, by id or name, whose events alone the webhook receives; every app'\''s and the organization'\''s by default, never hotcodepush.json'\''s app.]:app:_files' \
1152
+ '*--event[An event type the webhook receives, such as release.created, repeatable.]:event:_files' \
1153
+ '--format[raw for HotCodePush'\''s signed JSON, slack, discord or teams for a message to that service'\''s incoming-webhook URL.]:format:(raw slack discord teams)' \
1154
+ '--name[The name, unique in the organization.]:name:_files' \
1155
+ '--url[The https URL the events are posted to.]:url:_files' \
1156
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1157
+ '--help[Print this help.]' \
1158
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1159
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1160
+ '--verbose[Print the detail behind an error.]' \
1161
+ '--version[Print the CLI'\''s version.]' \
1162
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1163
+ ;;
1164
+ 'webhook delete')
1165
+ _hotcodepush_arguments 2 \
1166
+ '--webhook[The webhook, by id or name.]:webhook:_files' \
1167
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1168
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1169
+ '--help[Print this help.]' \
1170
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1171
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1172
+ '--verbose[Print the detail behind an error.]' \
1173
+ '--version[Print the CLI'\''s version.]' \
1174
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1175
+ ;;
1176
+ 'webhook get')
1177
+ _hotcodepush_arguments 2 \
1178
+ '--webhook[The webhook, by id or name.]:webhook:_files' \
1179
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1180
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1181
+ '--help[Print this help.]' \
1182
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1183
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1184
+ '--verbose[Print the detail behind an error.]' \
1185
+ '--version[Print the CLI'\''s version.]' \
1186
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1187
+ ;;
1188
+ 'webhook list')
1189
+ _hotcodepush_arguments 2 \
1190
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
1191
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
1192
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1193
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1194
+ '--help[Print this help.]' \
1195
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1196
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1197
+ '--verbose[Print the detail behind an error.]' \
1198
+ '--version[Print the CLI'\''s version.]' \
1199
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1200
+ ;;
1201
+ 'webhook test')
1202
+ _hotcodepush_arguments 2 \
1203
+ '--webhook[The webhook, by id or name.]:webhook:_files' \
1204
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1205
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1206
+ '--help[Print this help.]' \
1207
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1208
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1209
+ '--verbose[Print the detail behind an error.]' \
1210
+ '--version[Print the CLI'\''s version.]' \
1211
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1212
+ ;;
1213
+ 'webhook update')
1214
+ _hotcodepush_arguments 2 \
1215
+ '--app[The app, by id or name, whose events alone the webhook receives; every app'\''s and the organization'\''s by default, never hotcodepush.json'\''s app.]:app:_files' \
1216
+ '*--event[An event type the webhook receives, such as release.created, repeatable.]:event:_files' \
1217
+ '--webhook[The webhook, by id or name.]:webhook:_files' \
1218
+ '--clear-app[Sets the app filter back to null: the webhook receives every app'\''s events and the organization'\''s.]' \
1219
+ '--enabled[Whether the webhook delivers; turning it on again restarts the count of failures that disables it. Pass false to turn it off.]' \
1220
+ '--name[The webhook'\''s new name.]:name:_files' \
1221
+ '--url[The https URL the events are posted to.]:url:_files' \
1222
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1223
+ '--help[Print this help.]' \
1224
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1225
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1226
+ '--verbose[Print the detail behind an error.]' \
1227
+ '--version[Print the CLI'\''s version.]' \
1228
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1229
+ ;;
1230
+ 'webhook-delivery list')
1231
+ _hotcodepush_arguments 2 \
1232
+ '--limit[How many to list, at most 100; 50 by default.]:limit:_files' \
1233
+ '--offset[How many to skip: the offset the previous page ended with.]:offset:_files' \
1234
+ '--webhook[The webhook, by id or name.]:webhook:_files' \
1235
+ '--created-since[The earliest delivery, inclusive: an ISO 8601 timestamp or a duration ago such as 2h or 7d.]:created-since:_files' \
1236
+ '--created-until[The latest delivery, inclusive: an ISO 8601 timestamp or a duration ago such as 2h or 7d.]:created-until:_files' \
1237
+ '--status[failed, pending while it is retried, or succeeded.]:status:(failed pending succeeded)' \
1238
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1239
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1240
+ '--help[Print this help.]' \
1241
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1242
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1243
+ '--verbose[Print the detail behind an error.]' \
1244
+ '--version[Print the CLI'\''s version.]' \
1245
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1246
+ ;;
1247
+ 'webhook-delivery redeliver')
1248
+ _hotcodepush_arguments 2 \
1249
+ '--webhook[The webhook, by id or name.]:webhook:_files' \
1250
+ '--delivery[The delivery, by id, as "hotcodepush webhook-delivery list" prints it.]:delivery:_files' \
1251
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1252
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1253
+ '--help[Print this help.]' \
1254
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1255
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1256
+ '--verbose[Print the detail behind an error.]' \
1257
+ '--version[Print the CLI'\''s version.]' \
1258
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1259
+ ;;
1260
+ 'completion '*)
1261
+ _hotcodepush_arguments 1 \
1262
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1263
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1264
+ '--help[Print this help.]' \
1265
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1266
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1267
+ '--verbose[Print the detail behind an error.]' \
1268
+ '--version[Print the CLI'\''s version.]' \
1269
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1270
+ '*:argument:_files' \
1271
+ ;;
1272
+ 'doctor '*)
1273
+ _hotcodepush_arguments 1 \
1274
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1275
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1276
+ '--help[Print this help.]' \
1277
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1278
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1279
+ '--verbose[Print the detail behind an error.]' \
1280
+ '--version[Print the CLI'\''s version.]' \
1281
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1282
+ ;;
1283
+ 'fingerprint '*)
1284
+ _hotcodepush_arguments 1 \
1285
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1286
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1287
+ '--help[Print this help.]' \
1288
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1289
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1290
+ '--verbose[Print the detail behind an error.]' \
1291
+ '--version[Print the CLI'\''s version.]' \
1292
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1293
+ ;;
1294
+ 'init '*)
1295
+ _hotcodepush_arguments 1 \
1296
+ '--android-path[The Android project, when it is not capacitor.config'\''s android.path or android/.]:android-path:_files' \
1297
+ '--framework[The framework, react_native, expo, capacitor or cordova, over the one detected from package.json.]:framework:(react_native expo capacitor cordova)' \
1298
+ '--ios-path[The iOS project, when it is not capacitor.config'\''s ios.path or ios/.]:ios-path:_files' \
1299
+ '--xcode-target[The app target that gets the build step phase, when the iOS project has several.]:xcode-target:_files' \
1300
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1301
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1302
+ '--help[Print this help.]' \
1303
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1304
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1305
+ '--verbose[Print the detail behind an error.]' \
1306
+ '--version[Print the CLI'\''s version.]' \
1307
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1308
+ ;;
1309
+ 'login '*)
1310
+ _hotcodepush_arguments 1 \
1311
+ '--api-url[The API to log in to, kept in config.json for every later command; the one kept there otherwise.]:api-url:_files' \
1312
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1313
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1314
+ '--help[Print this help.]' \
1315
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1316
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1317
+ '--verbose[Print the detail behind an error.]' \
1318
+ '--version[Print the CLI'\''s version.]' \
1319
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1320
+ ;;
1321
+ 'logout '*)
1322
+ _hotcodepush_arguments 1 \
1323
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1324
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1325
+ '--help[Print this help.]' \
1326
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1327
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1328
+ '--verbose[Print the detail behind an error.]' \
1329
+ '--version[Print the CLI'\''s version.]' \
1330
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1331
+ ;;
1332
+ 'open '*)
1333
+ _hotcodepush_arguments 1 \
1334
+ '--channel[The channel, by id or name; hotcodepush.json'\''s channel by default.]:channel:_files' \
1335
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1336
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1337
+ '--help[Print this help.]' \
1338
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1339
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1340
+ '--verbose[Print the detail behind an error.]' \
1341
+ '--version[Print the CLI'\''s version.]' \
1342
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1343
+ ;;
1344
+ 'whoami '*)
1345
+ _hotcodepush_arguments 1 \
1346
+ '--app[The app, by id or name, when no hotcodepush.json is found or another app is meant.]:app:_files' \
1347
+ '--config[The hotcodepush.json to use, when it is not the nearest one up from the working directory.]:config:_files' \
1348
+ '--help[Print this help.]' \
1349
+ '--json[Print machine output as JSON on stdout and ask nothing.]' \
1350
+ '--organization[The organization, by id or name, when you belong to several.]:organization:_files' \
1351
+ '--verbose[Print the detail behind an error.]' \
1352
+ '--version[Print the CLI'\''s version.]' \
1353
+ '--yes[Take every default, ask nothing, confirm nothing.]' \
1354
+ ;;
1355
+ esac
1356
+ }
1357
+
1358
+ # drops the command words, so _arguments reads the flags as the words of the command they belong to
1359
+ _hotcodepush_arguments() {
1360
+ local command_word_count=$1
1361
+ shift
1362
+ shift $command_word_count words
1363
+ (( CURRENT -= command_word_count ))
1364
+ _arguments "$@"
1365
+ }
1366
+
1367
+ compdef _hotcodepush hotcodepush
1368
+
1369
+ # under fpath this file is the body of _hotcodepush: its first run defines the function, then completes with it
1370
+ if [ "$funcstack[1]" = "_hotcodepush" ]; then
1371
+ _hotcodepush "$@"
1372
+ fi