@hubspot/cli 6.4.0 → 7.0.0-beta.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 (205) hide show
  1. package/bin/cli.js +110 -16
  2. package/bin/hs +2 -0
  3. package/bin/hscms +2 -0
  4. package/bin/silenceErrors.d.ts +2 -0
  5. package/bin/silenceErrors.js +12 -0
  6. package/commands/{accounts → account}/clean.js +10 -11
  7. package/commands/{accounts → account}/info.js +10 -16
  8. package/commands/{accounts → account}/list.js +16 -16
  9. package/commands/{accounts → account}/remove.js +12 -15
  10. package/commands/{accounts → account}/rename.js +4 -7
  11. package/commands/{accounts → account}/use.js +8 -14
  12. package/commands/account.js +26 -0
  13. package/commands/auth.js +30 -24
  14. package/commands/cms/getReactModule.js +70 -0
  15. package/commands/cms/lighthouseScore.js +19 -21
  16. package/commands/cms.js +4 -3
  17. package/commands/completion.js +22 -0
  18. package/commands/config/set.js +22 -24
  19. package/commands/config.js +2 -2
  20. package/commands/create.js +6 -3
  21. package/commands/customObject/create.js +19 -15
  22. package/commands/customObject/schema/create.js +15 -16
  23. package/commands/customObject/schema/delete.js +29 -11
  24. package/commands/customObject/schema/fetch-all.js +14 -11
  25. package/commands/customObject/schema/fetch.js +22 -14
  26. package/commands/customObject/schema/list.js +3 -6
  27. package/commands/customObject/schema/update.js +28 -18
  28. package/commands/customObject/schema.js +1 -1
  29. package/commands/customObject.js +3 -4
  30. package/commands/doctor.js +4 -2
  31. package/commands/feedback.js +2 -0
  32. package/commands/fetch.js +13 -13
  33. package/commands/filemanager/fetch.js +6 -7
  34. package/commands/filemanager/upload.js +10 -12
  35. package/commands/filemanager.js +1 -8
  36. package/commands/{functions → function}/deploy.js +13 -13
  37. package/commands/{functions → function}/list.js +7 -9
  38. package/commands/{functions → function}/server.js +5 -8
  39. package/commands/function.js +16 -0
  40. package/commands/hubdb/clear.js +14 -10
  41. package/commands/hubdb/create.js +37 -13
  42. package/commands/hubdb/delete.js +31 -10
  43. package/commands/hubdb/fetch.js +14 -9
  44. package/commands/hubdb.js +2 -3
  45. package/commands/init.js +37 -14
  46. package/commands/lint.js +6 -7
  47. package/commands/list.js +5 -7
  48. package/commands/logs.js +24 -15
  49. package/commands/module/marketplace-validate.js +6 -9
  50. package/commands/module.js +2 -1
  51. package/commands/mv.js +11 -13
  52. package/commands/open.js +11 -10
  53. package/commands/project/add.js +2 -5
  54. package/commands/project/cloneApp.js +28 -32
  55. package/commands/project/create.js +8 -10
  56. package/commands/project/deploy.js +19 -16
  57. package/commands/project/dev.js +17 -18
  58. package/commands/project/download.js +18 -15
  59. package/commands/project/listBuilds.js +36 -32
  60. package/commands/project/logs.js +6 -8
  61. package/commands/project/migrateApp.js +27 -27
  62. package/commands/project/open.js +9 -11
  63. package/commands/project/upload.js +30 -32
  64. package/commands/project/watch.js +17 -24
  65. package/commands/project.js +3 -4
  66. package/commands/remove.js +14 -13
  67. package/commands/sandbox/create.js +12 -15
  68. package/commands/sandbox/delete.js +19 -20
  69. package/commands/sandbox.js +4 -8
  70. package/commands/{secrets → secret}/addSecret.js +25 -12
  71. package/commands/secret/deleteSecret.js +71 -0
  72. package/commands/{secrets → secret}/listSecrets.js +7 -9
  73. package/commands/{secrets → secret}/updateSecret.js +21 -13
  74. package/commands/secret.js +22 -0
  75. package/commands/theme/generate-selectors.js +8 -8
  76. package/commands/theme/marketplace-validate.js +10 -13
  77. package/commands/theme/preview.js +7 -10
  78. package/commands/theme.js +3 -1
  79. package/commands/upload.js +32 -26
  80. package/commands/watch.js +19 -20
  81. package/lang/en.lyaml +200 -126
  82. package/lib/DevServerManager.js +1 -1
  83. package/lib/LocalDevManager.js +4 -4
  84. package/lib/buildAccount.js +5 -11
  85. package/lib/commonOpts.d.ts +15 -6
  86. package/lib/commonOpts.js +53 -39
  87. package/lib/configOptions.d.ts +13 -1
  88. package/lib/configOptions.js +54 -57
  89. package/lib/constants.d.ts +1 -4
  90. package/lib/dependencyManagement.d.ts +4 -1
  91. package/lib/dependencyManagement.js +2 -2
  92. package/lib/developerTestAccounts.d.ts +5 -1
  93. package/lib/developerTestAccounts.js +45 -39
  94. package/lib/doctor/DiagnosticInfoBuilder.js +8 -4
  95. package/lib/doctor/Doctor.js +11 -6
  96. package/lib/generateSelectors.d.ts +19 -0
  97. package/lib/generateSelectors.js +23 -23
  98. package/lib/localDev.js +3 -2
  99. package/lib/marketplaceValidate.d.ts +6 -1
  100. package/lib/marketplaceValidate.js +76 -77
  101. package/lib/oauth.d.ts +2 -1
  102. package/lib/oauth.js +49 -37
  103. package/lib/polling.d.ts +8 -0
  104. package/lib/polling.js +9 -12
  105. package/lib/projects/ProjectLogsManager.d.ts +20 -0
  106. package/lib/projects/ProjectLogsManager.js +105 -0
  107. package/lib/projects/buildAndDeploy.d.ts +16 -0
  108. package/lib/projects/buildAndDeploy.js +342 -0
  109. package/lib/projects/index.d.ts +24 -0
  110. package/lib/projects/index.js +256 -0
  111. package/lib/projects/structure.d.ts +78 -0
  112. package/lib/projects/structure.js +151 -0
  113. package/lib/projects/upload.d.ts +8 -0
  114. package/lib/projects/upload.js +107 -0
  115. package/lib/projects/urls.d.ts +4 -0
  116. package/lib/projects/urls.js +27 -0
  117. package/lib/{projectsWatch.js → projects/watch.js} +3 -3
  118. package/lib/prompts/accountNamePrompt.d.ts +11 -0
  119. package/lib/prompts/accountNamePrompt.js +45 -46
  120. package/lib/prompts/accountsPrompt.d.ts +1 -1
  121. package/lib/prompts/accountsPrompt.js +21 -19
  122. package/lib/prompts/cmsFieldPrompt.d.ts +1 -1
  123. package/lib/prompts/cmsFieldPrompt.js +23 -24
  124. package/lib/prompts/createApiSamplePrompt.d.ts +17 -0
  125. package/lib/prompts/createApiSamplePrompt.js +47 -44
  126. package/lib/prompts/createFunctionPrompt.d.ts +7 -0
  127. package/lib/prompts/createFunctionPrompt.js +17 -20
  128. package/lib/prompts/createModulePrompt.d.ts +8 -0
  129. package/lib/prompts/createModulePrompt.js +29 -17
  130. package/lib/prompts/createProjectPrompt.d.ts +13 -0
  131. package/lib/prompts/createProjectPrompt.js +48 -49
  132. package/lib/prompts/createTemplatePrompt.d.ts +8 -0
  133. package/lib/prompts/createTemplatePrompt.js +15 -17
  134. package/lib/prompts/downloadProjectPrompt.d.ts +8 -0
  135. package/lib/prompts/downloadProjectPrompt.js +25 -23
  136. package/lib/prompts/installPublicAppPrompt.d.ts +1 -1
  137. package/lib/prompts/installPublicAppPrompt.js +21 -19
  138. package/lib/prompts/personalAccessKeyPrompt.d.ts +28 -0
  139. package/lib/prompts/personalAccessKeyPrompt.js +46 -52
  140. package/lib/prompts/previewPrompt.d.ts +14 -0
  141. package/lib/prompts/previewPrompt.js +24 -24
  142. package/lib/prompts/projectAddPrompt.d.ts +9 -0
  143. package/lib/prompts/projectAddPrompt.js +11 -14
  144. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +6 -1
  145. package/lib/prompts/projectDevTargetAccountPrompt.js +87 -69
  146. package/lib/prompts/projectsLogsPrompt.d.ts +11 -0
  147. package/lib/prompts/projectsLogsPrompt.js +8 -11
  148. package/lib/prompts/promptUtils.d.ts +7 -6
  149. package/lib/prompts/promptUtils.js +21 -8
  150. package/lib/prompts/sandboxesPrompt.d.ts +8 -0
  151. package/lib/prompts/sandboxesPrompt.js +43 -45
  152. package/lib/prompts/secretPrompt.d.ts +12 -0
  153. package/lib/prompts/secretPrompt.js +32 -19
  154. package/lib/prompts/selectHubDBTablePrompt.d.ts +12 -0
  155. package/lib/prompts/selectHubDBTablePrompt.js +69 -0
  156. package/lib/prompts/selectPublicAppPrompt.d.ts +8 -0
  157. package/lib/prompts/selectPublicAppPrompt.js +28 -27
  158. package/lib/prompts/setAsDefaultAccountPrompt.d.ts +1 -1
  159. package/lib/prompts/setAsDefaultAccountPrompt.js +12 -14
  160. package/lib/prompts/uploadPrompt.d.ts +8 -0
  161. package/lib/prompts/uploadPrompt.js +18 -18
  162. package/lib/sandboxSync.js +5 -2
  163. package/lib/sandboxes.js +12 -7
  164. package/lib/ui/index.d.ts +1 -1
  165. package/lib/ui/index.js +1 -1
  166. package/lib/usageTracking.d.ts +21 -2
  167. package/lib/usageTracking.js +53 -81
  168. package/lib/validation.d.ts +11 -1
  169. package/lib/validation.js +98 -91
  170. package/package.json +12 -6
  171. package/types/Projects.d.ts +43 -0
  172. package/types/Projects.js +2 -0
  173. package/types/Prompts.d.ts +25 -0
  174. package/types/Prompts.js +2 -0
  175. package/commands/accounts.js +0 -30
  176. package/commands/cms/reactModules.js +0 -60
  177. package/commands/functions.js +0 -24
  178. package/commands/secrets/deleteSecret.js +0 -46
  179. package/commands/secrets.js +0 -23
  180. package/lib/ProjectLogsManager.js +0 -91
  181. package/lib/projectStructure.js +0 -116
  182. package/lib/projects.d.ts +0 -4
  183. package/lib/projects.js +0 -681
  184. package/lib/projectsWatch.d.ts +0 -1
  185. package/lib/prompts/cleanUploadPrompt.d.ts +0 -1
  186. package/lib/prompts/cleanUploadPrompt.js +0 -20
  187. /package/commands/{accounts → account}/clean.d.ts +0 -0
  188. /package/commands/{accounts → account}/info.d.ts +0 -0
  189. /package/commands/{accounts → account}/list.d.ts +0 -0
  190. /package/commands/{accounts → account}/remove.d.ts +0 -0
  191. /package/commands/{accounts → account}/rename.d.ts +0 -0
  192. /package/commands/{accounts → account}/use.d.ts +0 -0
  193. /package/commands/{accounts.d.ts → account.d.ts} +0 -0
  194. /package/commands/cms/{reactModules.d.ts → getReactModule.d.ts} +0 -0
  195. /package/commands/{functions.d.ts → completion.d.ts} +0 -0
  196. /package/commands/{functions/list.d.ts → function/deploy.d.ts} +0 -0
  197. /package/commands/{functions/server.d.ts → function/list.d.ts} +0 -0
  198. /package/commands/{secrets.d.ts → function/server.d.ts} +0 -0
  199. /package/commands/{functions/deploy.d.ts → function.d.ts} +0 -0
  200. /package/commands/{secrets/deleteSecret.d.ts → secret/addSecret.d.ts} +0 -0
  201. /package/commands/{secrets/listSecrets.d.ts → secret/deleteSecret.d.ts} +0 -0
  202. /package/commands/{secrets/updateSecret.d.ts → secret/listSecrets.d.ts} +0 -0
  203. /package/{lib/ProjectLogsManager.d.ts → commands/secret/updateSecret.d.ts} +0 -0
  204. /package/commands/{secrets/addSecret.d.ts → secret.d.ts} +0 -0
  205. /package/lib/{projectStructure.d.ts → projects/watch.d.ts} +0 -0
package/lang/en.lyaml CHANGED
@@ -7,8 +7,14 @@ en:
7
7
  cliUpdateNotification: "HubSpot CLI version {{#cyan}}{{#bold}}{currentVersion}{{/bold}}{{/cyan}} is outdated.\nRun {{ updateCommand }} to upgrade to version {{#cyan}}{{#bold}}{latestVersion}{{/bold}}{{/cyan}}"
8
8
  srcIsProject: "\"{{ src }}\" is in a project folder. Did you mean \"hs project {{command}}\"?"
9
9
  setDefaultAccountMoved: "This command has moved. Try `hs accounts use` instead"
10
- accounts:
11
- describe: "Commands for working with accounts."
10
+ loadConfigMiddleware:
11
+ configFileExists: "A configuration file already exists at {{ configPath }}. To specify a new configuration file, delete the existing one and try again."
12
+ completion:
13
+ describe: "Enable bash completion shortcuts for commands. Concat the generated script to your .bashrc, .bash_profile, or .zshrc file."
14
+ examples:
15
+ default: "Generate shell completion scripts for the zsh shell"
16
+ account:
17
+ describe: "Commands for managing configured accounts."
12
18
  subcommands:
13
19
  list:
14
20
  accounts: "{{#bold}}Accounts{{/bold}}:"
@@ -20,7 +26,7 @@ en:
20
26
  authType: "Auth Type"
21
27
  name: "Name"
22
28
  rename:
23
- describe: "Rename account in config."
29
+ describe: "Rename an account in the config."
24
30
  positionals:
25
31
  accountName:
26
32
  describe: "Name of account to be renamed."
@@ -61,7 +67,7 @@ en:
61
67
  accountRemoved: "Account \"{{ accountName }}\" removed from the config"
62
68
  info:
63
69
  accountId: "{{#bold}}Account ID{{/bold}}: {{ accountId }}"
64
- describe: "Print information about the default account, or about the account specified with the \"--account\" option."
70
+ describe: "Print information about the default account, or about the account specified with the \"account\" option."
65
71
  errors:
66
72
  notUsingPersonalAccessKey: "This command currently only supports fetching scopes for the personal access key auth type."
67
73
  examples:
@@ -71,7 +77,7 @@ en:
71
77
  name: "{{#bold}}Account name{{/bold}}: {{ name }}"
72
78
  scopeGroups: "{{#bold}}Scopes available{{/bold}}:"
73
79
  clean:
74
- describe: "Checks for inactive accounts and removes them from the CLI config"
80
+ describe: "Check for inactive accounts and removes them from the CLI config."
75
81
  noResults: "No inactive accounts found to remove."
76
82
  loading:
77
83
  add: "Looking for inactive accounts…"
@@ -87,28 +93,27 @@ en:
87
93
  errors:
88
94
  noConfigFileFound: "No config file was found. To create a new config file, use the \"hs init\" command."
89
95
  unsupportedAuthType: "Unsupported auth type: {{ type }}. The only supported authentication protocols are {{ supportedProtocols }}."
90
- positionals:
91
- type:
92
- describe: "Authentication mechanism"
93
- defaultDescription: "\"{{ authMethod }}\": \nAn access token tied to a specific user account. This is the recommended way of authenticating with local development tools."
94
96
  options:
97
+ authType:
98
+ describe: "Authentication mechanism"
99
+ defaultDescription: "\"{{ authMethod }}\": An access token tied to a specific user account. This is the recommended way of authenticating with local development tools."
95
100
  account:
96
101
  describe: "HubSpot account to authenticate"
97
102
  success:
98
103
  configFileUpdated: "Account \"{{ accountName }}\" updated in {{ configFilename }} using \"{{ authType }}\""
99
104
  config:
100
- describe: "Commands for working with the config file."
105
+ describe: "Commands for managing the CLI config file."
101
106
  subcommands:
102
107
  set:
103
- describe: "Commands for modifying the CLI configuration"
108
+ describe: "Set various configuration options within the hubspot.config.yml file."
104
109
  promptMessage: "Select a config option to update"
105
110
  examples:
106
111
  default: "Opens a prompt to select a config item to modify"
107
112
  options:
108
113
  defaultMode:
109
- describe: "Set the default mode"
110
- promptMessage: "Select mode to be used as the default"
111
- error: "The mode \"{{ mode }}\" is invalid. Valid values are {{ validModes }}."
114
+ describe: "Set the default CMS publish mode"
115
+ promptMessage: "Select CMS publish mode to be used as the default"
116
+ error: "The provided CMS publish mode is invalid. Valid values are {{ validModes }}."
112
117
  success: "Default mode updated to: {{ mode }}"
113
118
  allowUsageTracking:
114
119
  describe: "Enable or disable usage tracking"
@@ -150,9 +155,10 @@ en:
150
155
  describe: "Medium to test against"
151
156
  verbose:
152
157
  describe: "View a detailed output of the lighthouse sores"
153
- reactModule:
154
- describe: "Get a specified default React module"
155
- options:
158
+ getReactModule:
159
+ describe: "Get a specified default React module."
160
+ selectModulePrompt: "Select a React module to download"
161
+ positionals:
156
162
  name:
157
163
  describe: "Name of the react modules to be fetched"
158
164
  dest:
@@ -162,7 +168,6 @@ en:
162
168
  errors:
163
169
  pathExists: "Folder already exists at \"{{ path }}\""
164
170
  invalidName: "Module not found with that name, please check the spelling of the module you are trying to download."
165
- groupLabel: "React modules available to download:"
166
171
  create:
167
172
  describe: "Create HubSpot sample apps and CMS assets. Supported assets are {{ supportedAssetTypes }}."
168
173
  errors:
@@ -194,35 +199,38 @@ en:
194
199
  nameRequired: "The \"name\" argument is required when creating a Template."
195
200
  customObject:
196
201
  betaMessage: "The Custom Object CLI is currently in beta and is subject to change."
197
- describe: "Manage Custom Objects. This feature is currently in beta and the CLI contract is subject to change."
202
+ describe: "Commands for managing custom objects."
198
203
  seeMoreLink: "View our docs to find out more."
199
204
  subcommands:
200
205
  create:
201
- describe: "Create custom object instances"
206
+ describe: "Create custom object instances."
202
207
  errors:
203
208
  creationFailed: "Object creation from {{ definition }} failed"
204
- positionals:
205
- definition:
209
+ options:
210
+ path:
206
211
  describe: "Local path to the JSON file containing an array of object definitions"
212
+ positionals:
207
213
  name:
208
214
  describe: "Schema name to add the object instance to"
209
215
  success:
210
216
  objectsCreated: "Objects created"
217
+ inputSchema: "What would you like to name the schema?"
218
+ inputPath: "[--path] Where is the JSON file containing the object definitions?"
211
219
  schema:
212
- describe: "Manage custom object schemas"
220
+ describe: "Commands for managing custom object schemas."
213
221
  subcommands:
214
222
  create:
215
- describe: "Create a custom object schema"
223
+ describe: "Create a custom object schema."
216
224
  errors:
217
225
  creationFailed: "Schema creation from {{ definition }} failed"
218
- positionals:
226
+ options:
219
227
  definition:
220
228
  describe: "Local path to the JSON file containing the schema definition"
221
229
  success:
222
230
  schemaCreated: "Your schema has been created in account \"{{ accountId }}\""
223
231
  schemaViewable: "Schema can be viewed at {{ url }}"
224
232
  delete:
225
- describe: "Delete a custom object schema"
233
+ describe: "Delete a custom object schema."
226
234
  errors:
227
235
  delete: "Unable to delete {{ name }}"
228
236
  examples:
@@ -230,10 +238,16 @@ en:
230
238
  positionals:
231
239
  name:
232
240
  describe: "Name of the target schema"
241
+ options:
242
+ force:
243
+ describe: "Force the deletion of the schema."
233
244
  success:
234
245
  delete: "Successfully initiated deletion of {{ name }}"
246
+ confirmDelete: "Are you sure you want to delete the schema \"{{ name }}\"?"
247
+ deleteCancelled: "Deletion of schema \"{{ name }}\" cancelled."
248
+ selectSchema: "Which schema would you like to delete?"
235
249
  fetchAll:
236
- describe: "Fetch all custom object schemas for an account"
250
+ describe: "Fetch all custom object schemas for an account."
237
251
  errors:
238
252
  fetch: "Unable to fetch schemas"
239
253
  examples:
@@ -244,8 +258,9 @@ en:
244
258
  describe: "Local folder where schemas will be written"
245
259
  success:
246
260
  fetch: "Saved schemas to {{ path }}"
261
+ inputDest: "Where would you like to save the schemas?"
247
262
  fetch:
248
- describe: "Fetch a custom object schema"
263
+ describe: "Fetch a custom object schema."
249
264
  errors:
250
265
  fetch: "Unable to fetch {{ name }}"
251
266
  examples:
@@ -256,25 +271,29 @@ en:
256
271
  describe: "Local folder where schema will be written"
257
272
  name:
258
273
  describe: "Name of the target schema"
274
+ selectSchema: "Which schema would you like to fetch?"
275
+ inputDest: "What would you like to name the destination file?"
259
276
  success:
260
277
  save: "The schema \"{{ name }}\" has been saved to \"{{ path }}\""
261
278
  savedToPath: "Saved schema to {{ path }}"
262
279
  list:
263
- describe: "List schemas available on your account"
280
+ describe: "List custom object schemas."
264
281
  errors:
265
282
  list: "Unable to list schemas"
266
283
  update:
267
- describe: "Update an existing custom object schema"
284
+ describe: "Update an existing custom object schema."
268
285
  errors:
269
286
  update: "Schema update from {{ definition }} failed"
270
- positionals:
271
- definition:
287
+ options:
288
+ path:
272
289
  describe: "Local path to the JSON file containing the schema definition"
290
+ positionals:
273
291
  name:
274
292
  describe: "Name of the target schema"
275
293
  success:
276
294
  update: "Your schema has been updated in account \"{{ accountId }}\""
277
295
  viewAtUrl: "Schema can be viewed at {{ url }}"
296
+ selectSchema: "Which schema would you like to update?"
278
297
  doctor:
279
298
  describe: "Retrieve diagnostic information about your local HubSpot configurations."
280
299
  options:
@@ -298,10 +317,10 @@ en:
298
317
  src:
299
318
  describe: "Path in HubSpot Design Tools"
300
319
  filemanager:
301
- describe: "Commands for working with the File Manager."
320
+ describe: "Commands for managing files in the File Manager."
302
321
  subcommands:
303
322
  fetch:
304
- describe: "Download a folder or file from the HubSpot File Manager to your computer"
323
+ describe: "Fetch a folder or file from the File Manager."
305
324
  errors:
306
325
  sourceRequired: "A source to fetch is required."
307
326
  options:
@@ -313,7 +332,7 @@ en:
313
332
  src:
314
333
  describe: "Path to the local directory you would like the files to be placed, relative to your current working directory. If omitted, this argument will default to your current working directory"
315
334
  upload:
316
- describe: "Upload a folder or file from your computer to the HubSpot File Manager"
335
+ describe: "Upload a folder or file to the File Manager."
317
336
  errors:
318
337
  destinationRequired: "A destination path needs to be passed"
319
338
  fileIgnored: "The file \"{{ path }}\" is being ignored via an .hsignore rule"
@@ -330,8 +349,8 @@ en:
330
349
  success:
331
350
  upload: "Uploaded file from \"{{ src }}\" to \"{{ dest }}\" in the File Manager of account {{ accountId }}"
332
351
  uploadComplete: "Uploading files to \"{{ dest }}\" in the File Manager is complete"
333
- functions:
334
- describe: "Commands for working with functions."
352
+ function:
353
+ describe: "Commands for managing CMS serverless functions."
335
354
  subcommands:
336
355
  deploy:
337
356
  debug:
@@ -346,13 +365,13 @@ en:
346
365
  loadingFailed: "Failed to build and deploy bundle for \"{{ functionPath }}\" on {{ account }}"
347
366
  positionals:
348
367
  path:
349
- describe: "Path to .functions folder"
368
+ describe: "Path to the \".functions\" folder"
350
369
  success:
351
370
  deployed: "Built and deployed bundle from package.json for {{ functionPath }} on account {{ accountId }} in {{ buildTimeSeconds }}s."
352
371
  list:
353
372
  debug:
354
373
  gettingFunctions: "Getting currently deployed functions"
355
- describe: "List currently deployed functions"
374
+ describe: "List the currently deployed CMS serverless functions."
356
375
  info:
357
376
  noFunctions: "No functions found"
358
377
  options:
@@ -376,10 +395,10 @@ en:
376
395
  path:
377
396
  describe: "Path to local .functions folder"
378
397
  hubdb:
379
- describe: "Manage HubDB tables."
398
+ describe: "Commands for managing HubDB tables."
380
399
  subcommands:
381
400
  clear:
382
- describe: "Clear all rows in a HubDB table"
401
+ describe: "Clear all rows in a HubDB table."
383
402
  logs:
384
403
  removedRows: "Removed {{ deletedRowCount }} rows from HubDB table {{ tableId }}"
385
404
  rowCount: "HubDB table {{ tableId }} now contains {{ rowCount }} rows"
@@ -388,25 +407,32 @@ en:
388
407
  tableId:
389
408
  describe: "HubDB Table ID"
390
409
  create:
391
- describe: "Create a HubDB table"
410
+ describe: "Create a HubDB table."
411
+ enterPath: "[--path] Enter the local path to the file used for import:"
392
412
  errors:
393
- create: "Creating the table at \"{{ src }}\" failed"
394
- positionals:
395
- src:
413
+ create: "Creating the table at \"{{ filePath }}\" failed"
414
+ pathRequired: "A path to a local file with a HubDB schema is required to create a HubDB table"
415
+ invalidCharacters: "The selected file path contains invalid characters. Please provide a new path and try again."
416
+ options:
417
+ path:
396
418
  describe: "Local path to file used for import"
397
419
  success:
398
420
  create: "The table {{ tableId }} was created in {{ accountId }} with {{ rowCount }} rows"
399
421
  delete:
400
- describe: "Delete a HubDB table"
422
+ describe: "Delete a HubDB table."
423
+ shouldDeleteTable: "Proceed with deleting HubDB table {{ tableId }}?"
401
424
  errors:
402
425
  delete: "Deleting the table {{ tableId }} failed"
403
426
  positionals:
404
427
  tableId:
405
428
  describe: "HubDB Table ID"
429
+ options:
430
+ force:
431
+ describe: "Skips confirmation prompt when deleting a HubDB table"
406
432
  success:
407
433
  delete: "The table {{ tableId }} was deleted from {{ accountId }}"
408
434
  fetch:
409
- describe: "Fetch a HubDB table"
435
+ describe: "Fetch the schema for a HubDB table."
410
436
  positionals:
411
437
  dest:
412
438
  describe: "Local destination folder to fetch table to"
@@ -417,11 +443,13 @@ en:
417
443
  init:
418
444
  describe: "Initialize {{ configName }} for a HubSpot account."
419
445
  options:
420
- auth:
421
- describe: "Specify auth method to use [\"personalaccesskey\", \"oauth2\"]"
422
- defaultDescription: "\"{{ defaultType }}\": \nAn access token tied to a specific user account. This is the recommended way of authenticating with local development tools."
446
+ authType:
447
+ describe: "Authentication mechanism"
448
+ defaultDescription: "\"{{ authMethod }}\": An access token tied to a specific user account. This is the recommended way of authenticating with local development tools."
423
449
  account:
424
450
  describe: "HubSpot account to authenticate"
451
+ useHiddenConfig:
452
+ describe: "Use the new HubSpot configuration file located in a hidden file in the user's home directory"
425
453
  success:
426
454
  configFileCreated: "Created config file \"{{ configPath }}\""
427
455
  configFileUpdated: "Connected account \"{{ account }}\" using \"{{ authType }}\" and set it as the default account"
@@ -429,6 +457,7 @@ en:
429
457
  updateConfig: "To update an existing config file, use the \"hs auth\" command."
430
458
  errors:
431
459
  configFileExists: "The config file {{ configPath }} already exists."
460
+ bothConfigFilesNotAllowed: "Unable to create config file, because there is an existing one at \"{{ path }}\". To create a new config file, delete the existing one and try again."
432
461
  lint:
433
462
  issuesFound: "{{ count }} issues found."
434
463
  groupName: "Linting {{ path }}"
@@ -443,13 +472,14 @@ en:
443
472
  path:
444
473
  describe: "Remote directory to list contents"
445
474
  logs:
446
- describe: "Get logs for a function."
475
+ describe: "View logs for a CMS serverless function."
447
476
  errors:
448
477
  noLogsFound: "No logs were found for the function path \"{{ functionPath }}\" in account \"{{ accountId }}\"."
449
478
  examples:
450
479
  default: "Get 5 most recent logs for function residing at /_hcms/api/my-endpoint"
451
480
  follow: "Poll for and output logs for function residing at /_hcms/api/my-endpoint immediately upon new execution"
452
481
  limit: "Get 10 most recent logs for function residing at /_hcms/api/my-endpoint"
482
+ endpointPrompt: "Enter a serverless function endpoint:"
453
483
  gettingLogs: "Getting {{#if latest}}latest {{/if}}logs for function with path: {{ functionPath }}."
454
484
  options:
455
485
  compact:
@@ -471,7 +501,7 @@ en:
471
501
  moveFailed: "Moving \"{{ srcPath }}\" to \"{{ destPath }}\" in account {{ accountId }} failed"
472
502
  move: "Moved \"{{ srcPath }}\" to \"{{ destPath }}\" in account {{ accountId }}"
473
503
  open:
474
- describe: "Open a HubSpot page in your browser. Run \"hs open list\" to see all available shortcuts."
504
+ describe: "Open a HubSpot page in your browser."
475
505
  options:
476
506
  list:
477
507
  describe: "List all supported shortcuts"
@@ -480,10 +510,10 @@ en:
480
510
  describe: "Shortcut of the link you'd like to open"
481
511
  selectLink: "Select a link to open"
482
512
  project:
483
- describe: "Commands for working with projects. For more information, visit our documentation: https://developers.hubspot.com/docs/platform/build-and-deploy-using-hubspot-projects"
513
+ describe: "Commands for managing projects. For more information, visit our documentation: https://developers.hubspot.com/docs/platform/build-and-deploy-using-hubspot-projects"
484
514
  subcommands:
485
515
  dev:
486
- describe: "Start local dev for the current project"
516
+ describe: "Start local dev for the current project."
487
517
  logs:
488
518
  betaMessage: "HubSpot projects local development"
489
519
  placeholderAccountSelection: "Using default account as target account (for now)"
@@ -495,14 +525,14 @@ en:
495
525
  examples:
496
526
  default: "Start local dev for the current project"
497
527
  create:
498
- describe: "Create a new project"
528
+ describe: "Create a new project."
499
529
  logs:
500
530
  welcomeMessage: "Welcome to HubSpot Developer Projects!"
501
531
  examples:
502
532
  default: "Create a new project"
503
533
  options:
504
- location:
505
- describe: "Directory where project should be created"
534
+ dest:
535
+ describe: "Directory where the project should be created"
506
536
  name:
507
537
  describe: "Project name (cannot be changed)"
508
538
  template:
@@ -510,14 +540,14 @@ en:
510
540
  templateSource:
511
541
  describe: "Path to custom GitHub repository from which to create project template"
512
542
  migrateApp:
513
- describe: "Migrate a public app to the projects framework"
543
+ describe: "Migrate a public app to the projects framework."
514
544
  examples:
515
545
  default: "Migrate a public app to the projects framework"
516
546
  options:
517
547
  appId:
518
548
  describe: "The ID for the public app being migrated to the projects framework"
519
- location:
520
- describe: "Directory where project should be created"
549
+ dest:
550
+ describe: "Directory where the project should be created"
521
551
  name:
522
552
  describe: "Project name (cannot be changed)"
523
553
  header:
@@ -544,25 +574,25 @@ en:
544
574
  projectAlreadyExists: "A project with name {{ projectName }} already exists. Please choose another name."
545
575
  invalidApp: "Could not migrate appId {{ appId }}. This app cannot be migrated at this time. Please choose another public app."
546
576
  cloneApp:
547
- describe: "Clone a public app using the projects framework"
577
+ describe: "Clone a public app using the projects framework."
548
578
  examples:
549
579
  default: "Clone a public app using the projects framework"
550
580
  options:
551
581
  appId:
552
582
  describe: "The ID for the public app being cloned"
553
- location:
554
- describe: "Directory where project should be created"
583
+ dest:
584
+ describe: "Directory where the project should be created"
555
585
  cloneStatus:
556
586
  inProgress: "Cloning app configuration to {{#bold}}public-app.json{{/bold}} component definition ..."
557
587
  done: "Cloning app configuration to public-app.json component definition ... DONE"
558
- success: "Your cloned project was created in {{ location }}"
588
+ success: "Your cloned project was created in {{ dest }}"
559
589
  failure: "Cloning app configuration to public-app.json component definition ... FAILED"
560
590
  errors:
561
591
  invalidAccountTypeTitle: "{{#bold}}Developer account not targeted{{/bold}}"
562
592
  invalidAccountTypeDescription: "Only public apps created in a developer account can be converted to a project component. Select a connected developer account with {{useCommand}} or {{authCommand}} and try again."
563
593
  couldNotWriteConfigPath: "Failed to write project config at {{ configPath }}"
564
594
  add:
565
- describe: "Create a new component within a project"
595
+ describe: "Create a new component within a project."
566
596
  options:
567
597
  name:
568
598
  describe: "The name for your newly created component"
@@ -578,7 +608,7 @@ en:
578
608
  default: "Create a component within your project"
579
609
  withFlags: "Use --name and --type flags to bypass the prompt."
580
610
  deploy:
581
- describe: "Deploy a project build"
611
+ describe: "Deploy a project build."
582
612
  deployBuildIdPrompt: "[--build] Deploy which build?"
583
613
  debug:
584
614
  deploying: "Deploying project at path: {{ path }}"
@@ -599,9 +629,23 @@ en:
599
629
  project:
600
630
  describe: "Project name"
601
631
  listBuilds:
602
- describe: "List the project's builds"
632
+ describe: "List the project's builds."
633
+ continueOrExitPrompt: "Press <enter> to load more, or ctrl+c to exit"
634
+ viewAllBuildsLink: "View all builds"
635
+ showingNextBuilds: "Showing the next {{ count }} builds for {{ projectName }}"
636
+ showingRecentBuilds: "Showing the most {{ count }} recent builds for {{ projectName }}. {{ viewAllBuildsLink }}."
637
+ errors:
638
+ noBuilds: "No builds for this project were found."
639
+ projectNotFound: "Project {{ projectName}} not found."
640
+ options:
641
+ project:
642
+ describe: "Project name"
643
+ limit:
644
+ describe: "Limit the number of builds to output"
645
+ examples:
646
+ default: "List the builds for the current project"
603
647
  logs:
604
- describe: "Get execution logs for a serverless function within a project"
648
+ describe: "Get execution logs for a serverless function within a project."
605
649
  errors:
606
650
  noProjectConfig: "No project detected. Run this command again from a project directory."
607
651
  failedToFetchProjectDetails: "There was an error fetching project details"
@@ -609,6 +653,8 @@ en:
609
653
  noFunctionsInProject: "There aren't any functions in this project\n\t- Run `{{#orange}}hs project logs --help{{/orange}}` to learn more about logs\n\t- {{link}} to learn more about serverless functions"
610
654
  noFunctionWithName: "No function with name \"{{ name }}\""
611
655
  functionNotDeployed: "The function with name \"{{ name }}\" is not deployed"
656
+ projectLogsManagerNotInitialized: "Function called on ProjectLogsManager before initialization"
657
+ generic: "Error fetching logs"
612
658
  logs:
613
659
  showingLogs: "Showing logs for:"
614
660
  hubspotLogsDirectLink: "View function logs in HubSpot"
@@ -634,9 +680,9 @@ en:
634
680
  function:
635
681
  describe: "App function name"
636
682
  upload:
637
- describe: "Upload your project files and create a new build"
683
+ describe: "Upload your project files and create a new build."
638
684
  examples:
639
- default: "Upload a project"
685
+ default: "Upload a project into your HubSpot account"
640
686
  logs:
641
687
  buildSucceeded: "Build #{{ buildId }} succeeded\n"
642
688
  readyToGoLive: "🚀 Ready to take your project live?"
@@ -649,13 +695,10 @@ en:
649
695
  describe: "Automatically create project if it does not exist"
650
696
  message:
651
697
  describe: "Add a message when you upload your project and create a build"
652
- positionals:
653
- path:
654
- describe: "Path to a project folder"
655
698
  watch:
656
- describe: "Watch your local project for changes and automatically upload changed files to a new build in HubSpot"
699
+ describe: "Watch your local project for changes and automatically upload changed files to a new build in HubSpot."
657
700
  examples:
658
- default: "Watch a project within the myProjectFolder folder"
701
+ default: "Start watching the current project"
659
702
  logs:
660
703
  processExited: "Stopping watcher..."
661
704
  watchCancelledFromUi: "The watch process has been cancelled from the UI. Any changes made since cancelling have not been uploaded. To resume watching, rerun {{#yellow}}`hs project watch`{{/yellow}}."
@@ -665,9 +708,6 @@ en:
665
708
  deleteFolderSucceeded: "Deleted folder \"{{ remotePath }}\""
666
709
  watching: "Watcher is ready and watching \"{{ projectDir }}\". Any changes detected will be automatically uploaded."
667
710
  previousStagingBuildCancelled: "Killed the previous watch process. Please try running `hs project watch` again"
668
- positionals:
669
- path:
670
- describe: "Path to a project folder"
671
711
  options:
672
712
  initialUpload:
673
713
  describe: "Upload directory before watching for updates"
@@ -684,7 +724,7 @@ en:
684
724
  deleteFileFailed: "Failed to delete file \"{{ remotePath }}\""
685
725
  deleteFolderFailed: "Failed to delete folder \"{{ remotePath }}\""
686
726
  download:
687
- describe: "Download your project files from HubSpot and write to a path on your computer"
727
+ describe: "Download your project files from HubSpot."
688
728
  examples:
689
729
  default: "Download the project myProject into myProjectFolder folder"
690
730
  logs:
@@ -696,14 +736,14 @@ en:
696
736
  warnings:
697
737
  cannotDownloadWithinProject: "Cancelling project download. Please run the command again outside the context of an existing project."
698
738
  options:
699
- buildNumber:
700
- describe: "The build number to download"
739
+ build:
740
+ describe: "The build to download"
701
741
  project:
702
742
  describe: "The name of the project to download"
703
743
  dest:
704
744
  describe: "Destination folder for the project"
705
745
  open:
706
- describe: "Open the specified project's details page in the browser"
746
+ describe: "Open the project's details page in the browser."
707
747
  options:
708
748
  project:
709
749
  describe: "Name of project to open"
@@ -711,7 +751,7 @@ en:
711
751
  default: "Opens the projects page for the specified account"
712
752
  success: "Successfully opened \"{{ projectName }}\""
713
753
  feedback:
714
- describe: "Leave feedback on HubSpot projects or file a bug report"
754
+ describe: "Leave feedback on HubSpot projects or file a bug report."
715
755
  feedbackType:
716
756
  prompt: "What type of feedback would you like to leave?"
717
757
  bug: "[--bug] Report a bug"
@@ -725,7 +765,7 @@ en:
725
765
  describe: "Open Github issues in your browser to give feedback."
726
766
  installDeps:
727
767
  help:
728
- describe: "Install the dependencies for your project, or add a dependency to a subcomponent of a project"
768
+ describe: "Install the dependencies for your project, or add a dependency to a subcomponent of a project."
729
769
  installAppDepsExample: "Install the dependencies for the project"
730
770
  addDepToSubComponentExample: "Install the dependencies to one or more project subcomponents"
731
771
  installLocationPrompt: "Choose the project components to install the dependencies:"
@@ -746,18 +786,19 @@ en:
746
786
  path:
747
787
  describe: "Remote hubspot path"
748
788
  sandbox:
749
- describe: "Commands for working with sandboxes."
789
+ describe: "Commands for managing sandboxes."
750
790
  subcommands:
751
791
  create:
752
- describe: "Create a sandbox account"
792
+ describe: "Create a sandbox account."
753
793
  examples:
754
794
  default: "Creates a standard sandbox account named MySandboxAccount."
755
- force: "Skips all confirmation prompts when creating a sandbox account."
756
795
  debug:
757
796
  error: "Error creating sandbox:"
758
797
  info:
759
798
  auth: "Run `hs auth` to authenticate with the new sandbox account."
760
799
  options:
800
+ force:
801
+ describe: "Skips all confirmation prompts when creating a sandbox account."
761
802
  name:
762
803
  describe: "Name to use for created sandbox"
763
804
  type:
@@ -770,13 +811,12 @@ en:
770
811
  \n- Run {{#bold}}hs accounts use{{/bold}} to switch to your default account to your production account.
771
812
  \n- Run {{#bold}}hs auth{{/bold}} to connect a production account to the HubSpot CLI.\n"
772
813
  delete:
773
- describe: "Delete a sandbox account"
814
+ describe: "Delete a sandbox account."
774
815
  debug:
775
816
  deleting: "Deleting sandbox account \"{{ account }}\""
776
817
  error: "Error deleting sandbox account:"
777
818
  examples:
778
819
  default: "Deletes the sandbox account named MySandboxAccount."
779
- force: "Skips all confirmation prompts when deleting a sandbox account."
780
820
  confirm: "Delete sandbox {{#bold}}{{ account }}{{/bold}}? All data for this sandbox will be permanently deleted."
781
821
  defaultAccountWarning: "The sandbox {{#bold}}{{ account }}{{/bold}} is currently set as the default account."
782
822
  success:
@@ -792,38 +832,47 @@ en:
792
832
  noParentPortalAvailable: "This sandbox can't be deleted from the CLI because you haven't given the CLI access to its parent account. To do this, run {{#bold}}{{ command }}{{/bold}}. You can also delete the sandbox from the HubSpot management tool: {{#bold}}{{ url }}{{/bold}}."
793
833
  invalidKey: "Your personal access key for account {{#bold}}{{ account }}{{/bold}} is inactive. To re-authenticate, please run {{#bold}}hs auth personalaccesskey{{/bold}}."
794
834
  options:
835
+ force:
836
+ describe: "Skips all confirmation prompts when deleting a sandbox account."
795
837
  account:
796
838
  describe: "Account name or id to delete"
797
- secrets:
798
- describe: "Manage HubSpot secrets."
839
+ secret:
840
+ describe: "Commands for managing secrets."
799
841
  subcommands:
800
842
  add:
801
- describe: "Add a HubSpot secret"
843
+ describe: "Create a new secret."
802
844
  errors:
803
845
  add: "The secret \"{{ secretName }}\" was not added"
846
+ alreadyExists: "The secret \"{{ secretName }}\" already exists, it's value can be modified with {{ command }}"
804
847
  positionals:
805
848
  name:
806
849
  describe: "Name of the secret"
807
850
  success:
808
851
  add: "The secret \"{{ secretName }}\" was added to the HubSpot account: {{ accountIdentifier }}"
809
852
  delete:
810
- describe: "Delete a HubSpot secret"
853
+ describe: "Delete a secret."
854
+ selectSecret: "Select the secret you want to delete"
855
+ deleteCanceled: "Delete canceled"
856
+ confirmDelete: "Are you sure you want to delete the secret \"{{ secretName }}\"?"
811
857
  errors:
812
858
  delete: "The secret \"{{ secretName }}\" was not deleted"
859
+ noSecret: "Unable to delete secret with name \"{{ secretName }}\", it does not exist"
813
860
  positionals:
814
861
  name:
815
862
  describe: "Name of the secret"
816
863
  success:
817
864
  delete: "The secret \"{{ secretName }}\" was deleted from the HubSpot account: {{ accountIdentifier }}"
818
865
  list:
819
- describe: "List all HubSpot secrets"
866
+ describe: "List all secrets."
820
867
  errors:
821
868
  list: "The secrets could not be listed"
822
869
  groupLabel: "Secrets for account {{ accountIdentifier }}:"
823
870
  update:
824
- describe: "Update an existing HubSpot secret"
871
+ describe: "Update an existing secret."
872
+ selectSecret: "Select the secret you want to update"
825
873
  errors:
826
874
  update: "The secret \"{{ secretName }}\" was not updated"
875
+ noSecret: "Unable to update secret with name \"{{ secretName }}\", it does not exist"
827
876
  positionals:
828
877
  name:
829
878
  describe: "Name of the secret to be updated"
@@ -831,7 +880,7 @@ en:
831
880
  update: "The secret \"{{ secretName }}\" was updated in the HubSpot account: {{ accountIdentifier }}"
832
881
  updateExplanation: "Existing serverless functions will start using this new value within 10 seconds."
833
882
  theme:
834
- describe: "Commands for working with themes, including marketplace validation with the marketplace-validate subcommand."
883
+ describe: "Commands for managing themes."
835
884
  subcommands:
836
885
  generateSelectors:
837
886
  describe: "Automatically generates an editor-preview.json file for the given theme. The selectors this command generates are not perfect, so please edit editor-preview.json after running."
@@ -841,10 +890,10 @@ en:
841
890
  noSelectorsFound: "No selectors found."
842
891
  success: "Selectors generated for {{ themePath }}, please double check the selectors generated at {{ selectorsPath }} before uploading the theme."
843
892
  positionals:
844
- themePath:
893
+ path:
845
894
  describe: "The path of the theme you'd like to generate an editor-preview.json for."
846
895
  marketplaceValidate:
847
- describe: "Validate a theme for the marketplace"
896
+ describe: "Validate a theme for the marketplace."
848
897
  errors:
849
898
  invalidPath: "The path \"{{ path }}\" is not a path to a folder in the Design Manager"
850
899
  logs:
@@ -857,18 +906,19 @@ en:
857
906
  lineNumber: "Line number: {{ line }}"
858
907
  noErrors: "No errors"
859
908
  positionals:
860
- src:
909
+ path:
861
910
  describe: "Path to the theme within the Design Manager."
862
911
  preview:
863
- describe: "Upload and watch a theme directory on your computer for changes and start a local development server to preview theme changes on a site"
912
+ describe: "Upload and watch a theme directory on your computer for changes and start a local development server to preview theme changes on a site."
864
913
  errors:
865
914
  invalidPath: "The path \"{{ path }}\" is not a path to a directory"
866
915
  noThemeComponents: "Your project has no theme components available to preview."
867
- options:
916
+ positionals:
868
917
  src:
869
918
  describe: "Path to the local directory your theme is in, relative to your current working directory"
870
919
  dest:
871
920
  describe: "Path in HubSpot Design Tools. Can be a net new path. If you wish to preview a site page using your theme changes it must match the path of the theme used by the site."
921
+ options:
872
922
  notify:
873
923
  describe: "Log to specified file when a watch task is triggered and after workers have gone idle. Ex. --notify path/to/file"
874
924
  noSsl:
@@ -935,6 +985,7 @@ en:
935
985
  uploading: "Uploading files from \"{{ src }}\" to \"{{ dest }}\" in the Design Manager of account {{ accountId }}"
936
986
  notUploaded: "There was an error processing \"{{ src }}\". The file has not been uploaded."
937
987
  cleaning: "Removing \"{{ filePath }}\" from account {{ accountId }} and uploading local..."
988
+ confirmCleanUpload: "You are about to remove any remote files in \"{{ filePath }}\" on HubSpot account {{ accountId }} that don't exist locally. Are you sure you want to do this?"
938
989
  watch:
939
990
  describe: "Watch a directory on your computer for changes and upload the changed files to the HubSpot CMS."
940
991
  errors:
@@ -967,7 +1018,7 @@ en:
967
1018
  initialUpload: "To upload the directory run \"hs upload\" beforehand or add the \"--initial-upload\" option when running \"hs watch\"."
968
1019
  notUploaded: "The \"hs watch\" command no longer uploads the watched directory when started. The directory \"{{ path }}\" was not uploaded."
969
1020
  convertFields:
970
- describe: "Converts a specific JavaScript fields file of a module or theme to JSON"
1021
+ describe: "Converts a specific JavaScript fields file of a module or theme to JSON."
971
1022
  positionals:
972
1023
  src:
973
1024
  describe: Path to JS Fields file or directory containing javascript fields files.
@@ -1045,18 +1096,11 @@ en:
1045
1096
  checkIfParentAccountIsAuthed:
1046
1097
  notAuthedError: "To develop this project locally, run {{ authCommand }} to authenticate the App Developer Account {{ accountId }} associated with {{ accountIdentifier }}."
1047
1098
  projects:
1048
- config:
1099
+ validateProjectConfig:
1100
+ configNotFound: "Unable to locate a project configuration file. Try running again from a project directory, or run {{ createCommand }} to create a new project."
1101
+ configMissingFields: "The project configuruation file is missing required fields."
1102
+ srcDirNotFound: "Project source directory {{#bold}}{{ srcDir }}{{/bold}} could not be found in {{#bold}}{{ projectDir }}{{/bold}}."
1049
1103
  srcOutsideProjectDir: "Invalid value for 'srcDir' in {{ projectConfig }}: {{#bold}}srcDir: \"{{ srcDir }}\"{{/bold}}\n\t'srcDir' must be a relative path to a folder under the project root, such as \".\" or \"./src\""
1050
- uploadProjectFiles:
1051
- add: "Uploading {{#bold}}{{ projectName }}{{/bold}} project files to {{ accountIdentifier }}"
1052
- fail: "Failed to upload {{#bold}}{{ projectName }}{{/bold}} project files to {{ accountIdentifier }}"
1053
- succeed: "Uploaded {{#bold}}{{ projectName }}{{/bold}} project files to {{ accountIdentifier }}"
1054
- buildCreated: "Project \"{{ projectName }}\" uploaded and build #{{ buildId }} created"
1055
- handleProjectUpload:
1056
- emptySource: "Source directory \"{{ srcDir }}\" is empty. Add files to your project and rerun `{{#yellow}}hs project upload{{/yellow}}` to upload them to HubSpot."
1057
- compressed: "Project files compressed: {{ byteCount }} bytes"
1058
- compressing: "Compressing build files to \"{{ path }}\""
1059
- fileFiltered: "Ignore rule triggered for \"{{ filename }}\""
1060
1104
  ensureProjectExists:
1061
1105
  createPrompt: "The project {{ projectName }} does not exist in {{ accountIdentifier }}. Would you like to create it?"
1062
1106
  createPromptUpload: "[--forceCreate] The project {{ projectName }} does not exist in {{ accountIdentifier }}. Would you like to create it?"
@@ -1064,6 +1108,11 @@ en:
1064
1108
  notFound: "Your project {{#bold}}{{ projectName }}{{/bold}} could not be found in {{#bold}}{{ accountIdentifier }}{{/bold}}."
1065
1109
  pollFetchProject:
1066
1110
  checkingProject: "Checking if project exists in {{ accountIdentifier }}"
1111
+ unableToFindAutodeployStatus: "Unable to find the auto deploy for build #{{ buildId }}. This deploy may have been skipped. {{ viewDeploysLink }}."
1112
+ logFeedbackMessage:
1113
+ feedbackHeader: "We'd love to hear your feedback!"
1114
+ feedbackMessage: "How are you liking the new projects and developer tools? \n > Run `{{#yellow}}hs feedback{{/yellow}}` to let us know what you think!\n"
1115
+ projectBuildAndDeploy:
1067
1116
  makePollTaskStatusFunc:
1068
1117
  componentCountSingular: "Found 1 component in this project"
1069
1118
  componentCount: "Found {{ numComponents }} components in this project"
@@ -1075,10 +1124,17 @@ en:
1075
1124
  buildSucceededAutomaticallyDeploying: "Build #{{ buildId }} succeeded. {{#bold}}Automatically deploying{{/bold}} to {{ accountIdentifier }}\n"
1076
1125
  cleanedUpTempFile: "Cleaned up temporary file {{ path }}"
1077
1126
  viewDeploys: "View all deploys for this project in HubSpot"
1078
- unableToFindAutodeployStatus: "Unable to find the auto deploy for build #{{ buildId }}. This deploy may have been skipped. {{ viewDeploysLink }}."
1079
- logFeedbackMessage:
1080
- feedbackHeader: "We'd love to hear your feedback!"
1081
- feedbackMessage: "How are you liking the new projects and developer tools? \n > Run `{{#yellow}}hs feedback{{/yellow}}` to let us know what you think!\n"
1127
+ projectUpload:
1128
+ uploadProjectFiles:
1129
+ add: "Uploading {{#bold}}{{ projectName }}{{/bold}} project files to {{ accountIdentifier }}"
1130
+ fail: "Failed to upload {{#bold}}{{ projectName }}{{/bold}} project files to {{ accountIdentifier }}"
1131
+ succeed: "Uploaded {{#bold}}{{ projectName }}{{/bold}} project files to {{ accountIdentifier }}"
1132
+ buildCreated: "Project \"{{ projectName }}\" uploaded and build #{{ buildId }} created"
1133
+ handleProjectUpload:
1134
+ emptySource: "Source directory \"{{ srcDir }}\" is empty. Add files to your project and rerun `{{#yellow}}hs project upload{{/yellow}}` to upload them to HubSpot."
1135
+ compressed: "Project files compressed: {{ byteCount }} bytes"
1136
+ compressing: "Compressing build files to \"{{ path }}\""
1137
+ fileFiltered: "Ignore rule triggered for \"{{ filename }}\""
1082
1138
  ui:
1083
1139
  betaTag: "{{#bold}}[BETA]{{/bold}}"
1084
1140
  betaWarning:
@@ -1146,8 +1202,8 @@ en:
1146
1202
  noLogsFound: "No logs found."
1147
1203
  commonOpts:
1148
1204
  options:
1149
- portal:
1150
- describe: "HubSpot portal id or name from config"
1205
+ account:
1206
+ describe: "HubSpot account id or name from config"
1151
1207
  config:
1152
1208
  describe: "Path to a config file"
1153
1209
  overwrite:
@@ -1161,6 +1217,8 @@ en:
1161
1217
  describe: "Run command in QA mode"
1162
1218
  useEnv:
1163
1219
  describe: "Use environment variable config"
1220
+ debug:
1221
+ describe: "Set log level to debug"
1164
1222
  prompts:
1165
1223
  projectDevTargetAccountPrompt:
1166
1224
  createNewSandboxOption: "<Test on a new development sandbox>"
@@ -1172,6 +1230,7 @@ en:
1172
1230
  developerTestAccountLimit: "Your account reached the limit of {{ limit }} developer test accounts."
1173
1231
  confirmDefaultAccount: "Continue testing on {{#bold}}{{ accountName }} ({{ accountType }}){{/bold}}? (Y/n)"
1174
1232
  confirmUseExistingDeveloperTestAccount: "Continue with {{ accountName }}? This account isn't currently connected to the HubSpot CLI. By continuing, you'll be prompted to generate a personal access key and connect it."
1233
+ noAccountId: "No account ID found for the selected account. Please try again."
1175
1234
  projectLogsPrompt:
1176
1235
  functionName: "[--function] Select function in {{#bold}}{{projectName}}{{/bold}} project"
1177
1236
  setAsDefaultAccountPrompt:
@@ -1217,6 +1276,7 @@ en:
1217
1276
  selectReactType: "Is this a React module?"
1218
1277
  selectContentType: "What types of content will this module be used in?"
1219
1278
  confirmGlobal: "Is this a global module?"
1279
+ availableForNewContent: "Make this module available for new content?"
1220
1280
  errors:
1221
1281
  invalidLabel: "You entered an invalid name. Please try again."
1222
1282
  labelRequired: "The name may not be blank. Please try again."
@@ -1238,12 +1298,12 @@ en:
1238
1298
  languageRequired: "Please select API sample app's language"
1239
1299
  createProjectPrompt:
1240
1300
  enterName: "[--name] Give your project a name: "
1241
- enterLocation: "[--location] Enter the folder to create the project in:"
1301
+ enterDest: "[--dest] Enter the folder to create the project in:"
1242
1302
  selectTemplate: "[--template] Choose a project template: "
1243
1303
  errors:
1244
1304
  nameRequired: "A project name is required"
1245
- locationRequired: "A project location is required"
1246
- invalidLocation: "The selected destination already exists. Please provide a new path for this project."
1305
+ destRequired: "A project dest is required"
1306
+ invalidDest: "The selected destination already exists. Please provide a new path for this project."
1247
1307
  invalidCharacters: "The selected destination contains invalid characters. Please provide a new path and try again."
1248
1308
  invalidTemplate: "[--template] Could not find template {{ template }}. Please choose an available template."
1249
1309
  noProjectsInConfig: "Please ensure that there is a config.json file that contains a \"projects\" field."
@@ -1252,6 +1312,7 @@ en:
1252
1312
  selectAppIdMigrate: "[--appId] Choose an app under {{ accountName }} to migrate:"
1253
1313
  selectAppIdClone: "[--appId] Choose an app under {{ accountName }} to clone:"
1254
1314
  errors:
1315
+ noAccountId: "An account ID is required to select an app."
1255
1316
  noAppsMigration: "{{#bold}}No apps to migrate{{/bold}}"
1256
1317
  noAppsClone: "{{#bold}}No apps to clone{{/bold}}"
1257
1318
  noAppsMigrationMessage: "The selected developer account {{#bold}}{{ accountName }}{{/bold}} doesn't have any apps that can be migrated to the projects framework."
@@ -1262,6 +1323,7 @@ en:
1262
1323
  selectProject: "Select a project to download:"
1263
1324
  errors:
1264
1325
  projectNotFound: "Your project {{ projectName }} could not be found in {{ accountId }}. Please select a valid project:"
1326
+ accountIdRequired: "An account ID is required to download a project."
1265
1327
  projectAddPrompt:
1266
1328
  selectType: "[--type] Select your component type:"
1267
1329
  enterName: "[--name] Give your component a name: "
@@ -1270,6 +1332,9 @@ en:
1270
1332
  invalidType: "[--type] Could not find type {{ type }}. Please choose an available type."
1271
1333
  secretPrompt:
1272
1334
  enterValue: "Enter a value for your secret: "
1335
+ enterName: "Enter a name for your secret: "
1336
+ selectSecretUpdate: "Select the secret you want to update"
1337
+ selectSecretDelete: "Select the secret you want to delete"
1273
1338
  errors:
1274
1339
  invalidValue: "You entered an invalid value. Please try again."
1275
1340
  sandboxesPrompt:
@@ -1280,8 +1345,8 @@ en:
1280
1345
  developer: "Development sandbox (Includes production's object definitions)"
1281
1346
  standard: "Standard sandbox (Includes partial copy of production's assets)"
1282
1347
  uploadPrompt:
1283
- enterDest: "[--dest] Enter the destination path: "
1284
- enterSrc: "[--src] Enter the source path: "
1348
+ enterDest: "Enter the destination path: "
1349
+ enterSrc: "Enter the source path: "
1285
1350
  errors:
1286
1351
  srcRequired: "You must specify a source directory."
1287
1352
  destRequired: "You must specify a destination directory."
@@ -1298,14 +1363,21 @@ en:
1298
1363
  errors:
1299
1364
  srcRequired: "You must specify a source directory."
1300
1365
  destRequired: "You must specify a destination directory."
1301
- cleanUploadPrompt:
1302
- message: "You are about to remove any remote files in \"{{ filePath }}\" on HubSpot account {{ accountId }} that don't exist locally. Are you sure you want to do this?"
1303
1366
  installPublicAppPrompt:
1304
1367
  explanation: "Local development requires this app to be installed in the target test account"
1305
1368
  reinstallExplanation: "This app's required scopes have been updated since it was last installed on the target test account. To avoid issues with local development, we recommend reinstalling the app with the updated scopes."
1306
1369
  prompt: "Open hubspot.com to install this app?"
1307
1370
  reinstallPrompt: "Open hubspot.com to reinstall this app?"
1308
1371
  decline: "To continue local development of this app, install it in your target test account and re-run {{#bold}}`hs project dev`{{/bold}}"
1372
+ selectHubDBTablePrompt:
1373
+ selectTable: "Select a HubDB table:"
1374
+ enterDest: "Enter the destination path:"
1375
+ errors:
1376
+ noTables: "No HubDB tables found in account {{ accountId }}"
1377
+ errorFetchingTables: "Unable to fetch HubDB tables in account {{ accountId }}"
1378
+ destRequired: "A destination is required"
1379
+ invalidDest: "The selected destination already exists. Please provide a new path."
1380
+ invalidCharacters: "The selected destination contains invalid characters. Please provide a new path and try again."
1309
1381
  convertFields:
1310
1382
  positionals:
1311
1383
  src:
@@ -1483,6 +1555,8 @@ en:
1483
1555
  counts:
1484
1556
  errors: '{{#bold}}Errors:{{/bold}} {{ count }}'
1485
1557
  warnings: "{{#bold}}Warning:{{/bold}} {{ count }}"
1558
+ oauth:
1559
+ missingClientId: "Error building oauth URL: missing client ID."
1486
1560
 
1487
1561
 
1488
1562