@hubspot/cli 6.4.0 → 7.0.0-experimental.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 (123) hide show
  1. package/bin/cli.js +36 -15
  2. package/commands/{accounts → account}/clean.js +10 -9
  3. package/commands/{accounts → account}/info.js +10 -14
  4. package/commands/{accounts → account}/list.js +16 -13
  5. package/commands/{accounts → account}/remove.js +8 -8
  6. package/commands/{accounts → account}/rename.js +4 -5
  7. package/commands/{accounts → account}/use.js +5 -8
  8. package/commands/account.js +26 -0
  9. package/commands/auth.js +30 -23
  10. package/commands/cms/getReactModule.js +70 -0
  11. package/commands/cms/lighthouseScore.js +19 -19
  12. package/commands/cms.js +4 -3
  13. package/commands/completion.js +22 -0
  14. package/commands/config/set.js +22 -22
  15. package/commands/config.js +2 -2
  16. package/commands/create.js +5 -3
  17. package/commands/customObject/create.js +18 -13
  18. package/commands/customObject/schema/create.js +14 -14
  19. package/commands/customObject/schema/delete.js +29 -9
  20. package/commands/customObject/schema/fetch-all.js +14 -9
  21. package/commands/customObject/schema/fetch.js +22 -12
  22. package/commands/customObject/schema/list.js +3 -4
  23. package/commands/customObject/schema/update.js +27 -16
  24. package/commands/customObject/schema.js +1 -1
  25. package/commands/customObject.js +3 -4
  26. package/commands/doctor.js +2 -0
  27. package/commands/feedback.js +2 -0
  28. package/commands/fetch.js +13 -12
  29. package/commands/filemanager/fetch.js +6 -5
  30. package/commands/filemanager/upload.js +10 -10
  31. package/commands/filemanager.js +0 -4
  32. package/commands/{functions → function}/deploy.js +13 -11
  33. package/commands/{functions → function}/list.js +7 -7
  34. package/commands/{functions → function}/server.js +5 -6
  35. package/commands/function.js +20 -0
  36. package/commands/hubdb/clear.js +14 -8
  37. package/commands/hubdb/create.js +36 -11
  38. package/commands/hubdb/delete.js +31 -8
  39. package/commands/hubdb/fetch.js +14 -7
  40. package/commands/hubdb.js +2 -3
  41. package/commands/init.js +37 -14
  42. package/commands/lint.js +6 -5
  43. package/commands/list.js +5 -5
  44. package/commands/logs.js +24 -13
  45. package/commands/module/marketplace-validate.js +6 -7
  46. package/commands/module.js +2 -1
  47. package/commands/mv.js +11 -11
  48. package/commands/open.js +11 -10
  49. package/commands/project/add.js +2 -3
  50. package/commands/project/cloneApp.js +28 -30
  51. package/commands/project/create.js +8 -8
  52. package/commands/project/deploy.js +16 -13
  53. package/commands/project/dev.js +14 -14
  54. package/commands/project/download.js +18 -13
  55. package/commands/project/listBuilds.js +34 -29
  56. package/commands/project/logs.js +5 -5
  57. package/commands/project/migrateApp.js +27 -25
  58. package/commands/project/open.js +7 -8
  59. package/commands/project/upload.js +27 -29
  60. package/commands/project/watch.js +12 -19
  61. package/commands/project.js +3 -4
  62. package/commands/remove.js +14 -11
  63. package/commands/sandbox/create.js +12 -13
  64. package/commands/sandbox/delete.js +15 -13
  65. package/commands/sandbox.js +3 -4
  66. package/commands/{secrets → secret}/addSecret.js +24 -9
  67. package/commands/secret/deleteSecret.js +71 -0
  68. package/commands/{secrets → secret}/listSecrets.js +6 -6
  69. package/commands/secret/updateSecret.d.ts +1 -0
  70. package/commands/{secrets → secret}/updateSecret.js +20 -10
  71. package/commands/secret.js +22 -0
  72. package/commands/theme/generate-selectors.js +8 -8
  73. package/commands/theme/marketplace-validate.js +10 -11
  74. package/commands/theme/preview.js +6 -7
  75. package/commands/theme.js +3 -1
  76. package/commands/upload.js +28 -24
  77. package/commands/watch.js +19 -19
  78. package/lang/en.lyaml +177 -111
  79. package/lib/buildAccount.js +3 -1
  80. package/lib/commonOpts.d.ts +15 -6
  81. package/lib/commonOpts.js +53 -38
  82. package/lib/configOptions.js +19 -18
  83. package/lib/developerTestAccounts.js +8 -5
  84. package/lib/oauth.js +3 -1
  85. package/lib/projects.js +10 -5
  86. package/lib/prompts/accountsPrompt.js +9 -5
  87. package/lib/prompts/createModulePrompt.js +17 -2
  88. package/lib/prompts/createProjectPrompt.js +5 -5
  89. package/lib/prompts/projectDevTargetAccountPrompt.js +3 -2
  90. package/lib/prompts/promptUtils.d.ts +3 -0
  91. package/lib/prompts/promptUtils.js +14 -2
  92. package/lib/prompts/sandboxesPrompt.js +10 -7
  93. package/lib/prompts/secretPrompt.d.ts +3 -1
  94. package/lib/prompts/secretPrompt.js +32 -19
  95. package/lib/prompts/selectHubDBTablePrompt.d.ts +8 -0
  96. package/lib/prompts/selectHubDBTablePrompt.js +69 -0
  97. package/lib/prompts/setAsDefaultAccountPrompt.js +4 -2
  98. package/lib/sandboxSync.js +5 -2
  99. package/lib/sandboxes.js +12 -7
  100. package/lib/validation.js +14 -13
  101. package/package.json +5 -4
  102. package/commands/accounts.js +0 -30
  103. package/commands/cms/reactModules.js +0 -60
  104. package/commands/functions.js +0 -24
  105. package/commands/secrets/deleteSecret.js +0 -46
  106. package/commands/secrets.js +0 -23
  107. /package/commands/{accounts → account}/clean.d.ts +0 -0
  108. /package/commands/{accounts → account}/info.d.ts +0 -0
  109. /package/commands/{accounts → account}/list.d.ts +0 -0
  110. /package/commands/{accounts → account}/remove.d.ts +0 -0
  111. /package/commands/{accounts → account}/rename.d.ts +0 -0
  112. /package/commands/{accounts → account}/use.d.ts +0 -0
  113. /package/commands/{accounts.d.ts → account.d.ts} +0 -0
  114. /package/commands/cms/{reactModules.d.ts → getReactModule.d.ts} +0 -0
  115. /package/commands/{functions.d.ts → completion.d.ts} +0 -0
  116. /package/commands/{functions/list.d.ts → function/deploy.d.ts} +0 -0
  117. /package/commands/{functions/server.d.ts → function/list.d.ts} +0 -0
  118. /package/commands/{secrets.d.ts → function/server.d.ts} +0 -0
  119. /package/commands/{functions/deploy.d.ts → function.d.ts} +0 -0
  120. /package/commands/{secrets/deleteSecret.d.ts → secret/addSecret.d.ts} +0 -0
  121. /package/commands/{secrets/listSecrets.d.ts → secret/deleteSecret.d.ts} +0 -0
  122. /package/commands/{secrets/updateSecret.d.ts → secret/listSecrets.d.ts} +0 -0
  123. /package/commands/{secrets/addSecret.d.ts → secret.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 CMS publish mode \"{{ 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"
@@ -634,9 +678,9 @@ en:
634
678
  function:
635
679
  describe: "App function name"
636
680
  upload:
637
- describe: "Upload your project files and create a new build"
681
+ describe: "Upload your project files and create a new build."
638
682
  examples:
639
- default: "Upload a project"
683
+ default: "Upload a project into your HubSpot account"
640
684
  logs:
641
685
  buildSucceeded: "Build #{{ buildId }} succeeded\n"
642
686
  readyToGoLive: "🚀 Ready to take your project live?"
@@ -649,13 +693,10 @@ en:
649
693
  describe: "Automatically create project if it does not exist"
650
694
  message:
651
695
  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
696
  watch:
656
- describe: "Watch your local project for changes and automatically upload changed files to a new build in HubSpot"
697
+ describe: "Watch your local project for changes and automatically upload changed files to a new build in HubSpot."
657
698
  examples:
658
- default: "Watch a project within the myProjectFolder folder"
699
+ default: "Start watching the current project"
659
700
  logs:
660
701
  processExited: "Stopping watcher..."
661
702
  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 +706,6 @@ en:
665
706
  deleteFolderSucceeded: "Deleted folder \"{{ remotePath }}\""
666
707
  watching: "Watcher is ready and watching \"{{ projectDir }}\". Any changes detected will be automatically uploaded."
667
708
  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
709
  options:
672
710
  initialUpload:
673
711
  describe: "Upload directory before watching for updates"
@@ -684,7 +722,7 @@ en:
684
722
  deleteFileFailed: "Failed to delete file \"{{ remotePath }}\""
685
723
  deleteFolderFailed: "Failed to delete folder \"{{ remotePath }}\""
686
724
  download:
687
- describe: "Download your project files from HubSpot and write to a path on your computer"
725
+ describe: "Download your project files from HubSpot."
688
726
  examples:
689
727
  default: "Download the project myProject into myProjectFolder folder"
690
728
  logs:
@@ -696,14 +734,14 @@ en:
696
734
  warnings:
697
735
  cannotDownloadWithinProject: "Cancelling project download. Please run the command again outside the context of an existing project."
698
736
  options:
699
- buildNumber:
700
- describe: "The build number to download"
737
+ build:
738
+ describe: "The build to download"
701
739
  project:
702
740
  describe: "The name of the project to download"
703
741
  dest:
704
742
  describe: "Destination folder for the project"
705
743
  open:
706
- describe: "Open the specified project's details page in the browser"
744
+ describe: "Open the project's details page in the browser."
707
745
  options:
708
746
  project:
709
747
  describe: "Name of project to open"
@@ -711,7 +749,7 @@ en:
711
749
  default: "Opens the projects page for the specified account"
712
750
  success: "Successfully opened \"{{ projectName }}\""
713
751
  feedback:
714
- describe: "Leave feedback on HubSpot projects or file a bug report"
752
+ describe: "Leave feedback on HubSpot projects or file a bug report."
715
753
  feedbackType:
716
754
  prompt: "What type of feedback would you like to leave?"
717
755
  bug: "[--bug] Report a bug"
@@ -725,7 +763,7 @@ en:
725
763
  describe: "Open Github issues in your browser to give feedback."
726
764
  installDeps:
727
765
  help:
728
- describe: "Install the dependencies for your project, or add a dependency to a subcomponent of a project"
766
+ describe: "Install the dependencies for your project, or add a dependency to a subcomponent of a project."
729
767
  installAppDepsExample: "Install the dependencies for the project"
730
768
  addDepToSubComponentExample: "Install the dependencies to one or more project subcomponents"
731
769
  installLocationPrompt: "Choose the project components to install the dependencies:"
@@ -746,18 +784,19 @@ en:
746
784
  path:
747
785
  describe: "Remote hubspot path"
748
786
  sandbox:
749
- describe: "Commands for working with sandboxes."
787
+ describe: "Commands for managing sandboxes."
750
788
  subcommands:
751
789
  create:
752
- describe: "Create a sandbox account"
790
+ describe: "Create a sandbox account."
753
791
  examples:
754
792
  default: "Creates a standard sandbox account named MySandboxAccount."
755
- force: "Skips all confirmation prompts when creating a sandbox account."
756
793
  debug:
757
794
  error: "Error creating sandbox:"
758
795
  info:
759
796
  auth: "Run `hs auth` to authenticate with the new sandbox account."
760
797
  options:
798
+ force:
799
+ describe: "Skips all confirmation prompts when creating a sandbox account."
761
800
  name:
762
801
  describe: "Name to use for created sandbox"
763
802
  type:
@@ -770,13 +809,12 @@ en:
770
809
  \n- Run {{#bold}}hs accounts use{{/bold}} to switch to your default account to your production account.
771
810
  \n- Run {{#bold}}hs auth{{/bold}} to connect a production account to the HubSpot CLI.\n"
772
811
  delete:
773
- describe: "Delete a sandbox account"
812
+ describe: "Delete a sandbox account."
774
813
  debug:
775
814
  deleting: "Deleting sandbox account \"{{ account }}\""
776
815
  error: "Error deleting sandbox account:"
777
816
  examples:
778
817
  default: "Deletes the sandbox account named MySandboxAccount."
779
- force: "Skips all confirmation prompts when deleting a sandbox account."
780
818
  confirm: "Delete sandbox {{#bold}}{{ account }}{{/bold}}? All data for this sandbox will be permanently deleted."
781
819
  defaultAccountWarning: "The sandbox {{#bold}}{{ account }}{{/bold}} is currently set as the default account."
782
820
  success:
@@ -792,38 +830,47 @@ en:
792
830
  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
831
  invalidKey: "Your personal access key for account {{#bold}}{{ account }}{{/bold}} is inactive. To re-authenticate, please run {{#bold}}hs auth personalaccesskey{{/bold}}."
794
832
  options:
833
+ force:
834
+ describe: "Skips all confirmation prompts when deleting a sandbox account."
795
835
  account:
796
836
  describe: "Account name or id to delete"
797
- secrets:
798
- describe: "Manage HubSpot secrets."
837
+ secret:
838
+ describe: "Commands for managing secrets."
799
839
  subcommands:
800
840
  add:
801
- describe: "Add a HubSpot secret"
841
+ describe: "Create a new secret."
802
842
  errors:
803
843
  add: "The secret \"{{ secretName }}\" was not added"
844
+ alreadyExists: "The secret \"{{ secretName }}\" already exists, it's value can be modified with {{ command }}"
804
845
  positionals:
805
846
  name:
806
847
  describe: "Name of the secret"
807
848
  success:
808
849
  add: "The secret \"{{ secretName }}\" was added to the HubSpot account: {{ accountIdentifier }}"
809
850
  delete:
810
- describe: "Delete a HubSpot secret"
851
+ describe: "Delete a secret."
852
+ selectSecret: "Select the secret you want to delete"
853
+ deleteCanceled: "Delete canceled"
854
+ confirmDelete: "Are you sure you want to delete the secret \"{{ secretName }}\"?"
811
855
  errors:
812
856
  delete: "The secret \"{{ secretName }}\" was not deleted"
857
+ noSecret: "Unable to delete secret with name \"{{ secretName }}\", it does not exist"
813
858
  positionals:
814
859
  name:
815
860
  describe: "Name of the secret"
816
861
  success:
817
862
  delete: "The secret \"{{ secretName }}\" was deleted from the HubSpot account: {{ accountIdentifier }}"
818
863
  list:
819
- describe: "List all HubSpot secrets"
864
+ describe: "List all secrets."
820
865
  errors:
821
866
  list: "The secrets could not be listed"
822
867
  groupLabel: "Secrets for account {{ accountIdentifier }}:"
823
868
  update:
824
- describe: "Update an existing HubSpot secret"
869
+ describe: "Update an existing secret."
870
+ selectSecret: "Select the secret you want to update"
825
871
  errors:
826
872
  update: "The secret \"{{ secretName }}\" was not updated"
873
+ noSecret: "Unable to update secret with name \"{{ secretName }}\", it does not exist"
827
874
  positionals:
828
875
  name:
829
876
  describe: "Name of the secret to be updated"
@@ -831,7 +878,7 @@ en:
831
878
  update: "The secret \"{{ secretName }}\" was updated in the HubSpot account: {{ accountIdentifier }}"
832
879
  updateExplanation: "Existing serverless functions will start using this new value within 10 seconds."
833
880
  theme:
834
- describe: "Commands for working with themes, including marketplace validation with the marketplace-validate subcommand."
881
+ describe: "Commands for managing themes."
835
882
  subcommands:
836
883
  generateSelectors:
837
884
  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 +888,10 @@ en:
841
888
  noSelectorsFound: "No selectors found."
842
889
  success: "Selectors generated for {{ themePath }}, please double check the selectors generated at {{ selectorsPath }} before uploading the theme."
843
890
  positionals:
844
- themePath:
891
+ path:
845
892
  describe: "The path of the theme you'd like to generate an editor-preview.json for."
846
893
  marketplaceValidate:
847
- describe: "Validate a theme for the marketplace"
894
+ describe: "Validate a theme for the marketplace."
848
895
  errors:
849
896
  invalidPath: "The path \"{{ path }}\" is not a path to a folder in the Design Manager"
850
897
  logs:
@@ -857,18 +904,19 @@ en:
857
904
  lineNumber: "Line number: {{ line }}"
858
905
  noErrors: "No errors"
859
906
  positionals:
860
- src:
907
+ path:
861
908
  describe: "Path to the theme within the Design Manager."
862
909
  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"
910
+ 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
911
  errors:
865
912
  invalidPath: "The path \"{{ path }}\" is not a path to a directory"
866
913
  noThemeComponents: "Your project has no theme components available to preview."
867
- options:
914
+ positionals:
868
915
  src:
869
916
  describe: "Path to the local directory your theme is in, relative to your current working directory"
870
917
  dest:
871
918
  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."
919
+ options:
872
920
  notify:
873
921
  describe: "Log to specified file when a watch task is triggered and after workers have gone idle. Ex. --notify path/to/file"
874
922
  noSsl:
@@ -967,7 +1015,7 @@ en:
967
1015
  initialUpload: "To upload the directory run \"hs upload\" beforehand or add the \"--initial-upload\" option when running \"hs watch\"."
968
1016
  notUploaded: "The \"hs watch\" command no longer uploads the watched directory when started. The directory \"{{ path }}\" was not uploaded."
969
1017
  convertFields:
970
- describe: "Converts a specific JavaScript fields file of a module or theme to JSON"
1018
+ describe: "Converts a specific JavaScript fields file of a module or theme to JSON."
971
1019
  positionals:
972
1020
  src:
973
1021
  describe: Path to JS Fields file or directory containing javascript fields files.
@@ -1045,8 +1093,6 @@ en:
1045
1093
  checkIfParentAccountIsAuthed:
1046
1094
  notAuthedError: "To develop this project locally, run {{ authCommand }} to authenticate the App Developer Account {{ accountId }} associated with {{ accountIdentifier }}."
1047
1095
  projects:
1048
- config:
1049
- 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
1096
  uploadProjectFiles:
1051
1097
  add: "Uploading {{#bold}}{{ projectName }}{{/bold}} project files to {{ accountIdentifier }}"
1052
1098
  fail: "Failed to upload {{#bold}}{{ projectName }}{{/bold}} project files to {{ accountIdentifier }}"
@@ -1057,6 +1103,11 @@ en:
1057
1103
  compressed: "Project files compressed: {{ byteCount }} bytes"
1058
1104
  compressing: "Compressing build files to \"{{ path }}\""
1059
1105
  fileFiltered: "Ignore rule triggered for \"{{ filename }}\""
1106
+ validateProjectConfig:
1107
+ configNotFound: "Unable to locate a project configuration file. Try running again from a project directory, or run {{ createCommand }} to create a new project."
1108
+ configMissingFields: "The project configuruation file is missing required fields."
1109
+ srcDirNotFound: "Project source directory {{#bold}}{{ srcDir }}{{/bold}} could not be found in {{#bold}}{{ projectDir }}{{/bold}}."
1110
+ 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\""
1060
1111
  ensureProjectExists:
1061
1112
  createPrompt: "The project {{ projectName }} does not exist in {{ accountIdentifier }}. Would you like to create it?"
1062
1113
  createPromptUpload: "[--forceCreate] The project {{ projectName }} does not exist in {{ accountIdentifier }}. Would you like to create it?"
@@ -1146,8 +1197,8 @@ en:
1146
1197
  noLogsFound: "No logs found."
1147
1198
  commonOpts:
1148
1199
  options:
1149
- portal:
1150
- describe: "HubSpot portal id or name from config"
1200
+ account:
1201
+ describe: "HubSpot account id or name from config"
1151
1202
  config:
1152
1203
  describe: "Path to a config file"
1153
1204
  overwrite:
@@ -1161,6 +1212,8 @@ en:
1161
1212
  describe: "Run command in QA mode"
1162
1213
  useEnv:
1163
1214
  describe: "Use environment variable config"
1215
+ debug:
1216
+ describe: "Set log level to debug"
1164
1217
  prompts:
1165
1218
  projectDevTargetAccountPrompt:
1166
1219
  createNewSandboxOption: "<Test on a new development sandbox>"
@@ -1217,6 +1270,7 @@ en:
1217
1270
  selectReactType: "Is this a React module?"
1218
1271
  selectContentType: "What types of content will this module be used in?"
1219
1272
  confirmGlobal: "Is this a global module?"
1273
+ availableForNewContent: "Make this module available for new content?"
1220
1274
  errors:
1221
1275
  invalidLabel: "You entered an invalid name. Please try again."
1222
1276
  labelRequired: "The name may not be blank. Please try again."
@@ -1238,12 +1292,12 @@ en:
1238
1292
  languageRequired: "Please select API sample app's language"
1239
1293
  createProjectPrompt:
1240
1294
  enterName: "[--name] Give your project a name: "
1241
- enterLocation: "[--location] Enter the folder to create the project in:"
1295
+ enterDest: "[--dest] Enter the folder to create the project in:"
1242
1296
  selectTemplate: "[--template] Choose a project template: "
1243
1297
  errors:
1244
1298
  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."
1299
+ destRequired: "A project dest is required"
1300
+ invalidDest: "The selected destination already exists. Please provide a new path for this project."
1247
1301
  invalidCharacters: "The selected destination contains invalid characters. Please provide a new path and try again."
1248
1302
  invalidTemplate: "[--template] Could not find template {{ template }}. Please choose an available template."
1249
1303
  noProjectsInConfig: "Please ensure that there is a config.json file that contains a \"projects\" field."
@@ -1270,6 +1324,9 @@ en:
1270
1324
  invalidType: "[--type] Could not find type {{ type }}. Please choose an available type."
1271
1325
  secretPrompt:
1272
1326
  enterValue: "Enter a value for your secret: "
1327
+ enterName: "Enter a name for your secret: "
1328
+ selectSecretUpdate: "Select the secret you want to update"
1329
+ selectSecretDelete: "Select the secret you want to delete"
1273
1330
  errors:
1274
1331
  invalidValue: "You entered an invalid value. Please try again."
1275
1332
  sandboxesPrompt:
@@ -1280,8 +1337,8 @@ en:
1280
1337
  developer: "Development sandbox (Includes production's object definitions)"
1281
1338
  standard: "Standard sandbox (Includes partial copy of production's assets)"
1282
1339
  uploadPrompt:
1283
- enterDest: "[--dest] Enter the destination path: "
1284
- enterSrc: "[--src] Enter the source path: "
1340
+ enterDest: "Enter the destination path: "
1341
+ enterSrc: "Enter the source path: "
1285
1342
  errors:
1286
1343
  srcRequired: "You must specify a source directory."
1287
1344
  destRequired: "You must specify a destination directory."
@@ -1306,6 +1363,15 @@ en:
1306
1363
  prompt: "Open hubspot.com to install this app?"
1307
1364
  reinstallPrompt: "Open hubspot.com to reinstall this app?"
1308
1365
  decline: "To continue local development of this app, install it in your target test account and re-run {{#bold}}`hs project dev`{{/bold}}"
1366
+ selectHubDBTablePrompt:
1367
+ selectTable: "Select a HubDB table:"
1368
+ enterDest: "Enter the destination path:"
1369
+ errors:
1370
+ noTables: "No HubDB tables found in account {{ accountId }}"
1371
+ errorFetchingTables: "Unable to fetch HubDB tables in account {{ accountId }}"
1372
+ destRequired: "A destination is required"
1373
+ invalidDest: "The selected destination already exists. Please provide a new path."
1374
+ invalidCharacters: "The selected destination contains invalid characters. Please provide a new path and try again."
1309
1375
  convertFields:
1310
1376
  positionals:
1311
1377
  src: