@hubspot/cli 7.4.7-experimental.0 → 7.4.7

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 (225) hide show
  1. package/api/migrate.d.ts +14 -4
  2. package/api/migrate.js +16 -2
  3. package/bin/cli.js +8 -183
  4. package/commands/account/auth.d.ts +10 -0
  5. package/commands/account/auth.js +188 -0
  6. package/commands/account/clean.js +38 -5
  7. package/commands/account/createOverride.d.ts +10 -0
  8. package/commands/account/createOverride.js +104 -0
  9. package/commands/account/info.js +38 -4
  10. package/commands/account/list.js +23 -5
  11. package/commands/account/remove.js +36 -2
  12. package/commands/account/removeOverride.d.ts +10 -0
  13. package/commands/account/removeOverride.js +76 -0
  14. package/commands/account/use.js +25 -3
  15. package/commands/account.js +7 -2
  16. package/commands/app/migrate.d.ts +6 -6
  17. package/commands/app/migrate.js +62 -45
  18. package/commands/app.js +0 -2
  19. package/commands/auth.js +14 -11
  20. package/commands/cms/lighthouseScore.js +7 -3
  21. package/commands/cms.js +1 -2
  22. package/commands/completion.js +2 -3
  23. package/commands/config/migrate.d.ts +10 -0
  24. package/commands/config/migrate.js +84 -0
  25. package/commands/config/set.d.ts +10 -0
  26. package/commands/config/set.js +34 -29
  27. package/commands/config.d.ts +4 -1
  28. package/commands/config.js +45 -11
  29. package/commands/create/api-sample.js +3 -1
  30. package/commands/create/website-theme.js +1 -1
  31. package/commands/create.js +7 -8
  32. package/commands/customObject/schema/delete.js +4 -1
  33. package/commands/customObject/schema/fetch-all.js +2 -1
  34. package/commands/customObject/schema/fetch.js +2 -1
  35. package/commands/customObject.js +3 -4
  36. package/commands/doctor.js +5 -6
  37. package/commands/feedback.js +7 -8
  38. package/commands/fetch.js +6 -7
  39. package/commands/filemanager.js +1 -2
  40. package/commands/function.js +1 -2
  41. package/commands/hubdb/clear.js +5 -6
  42. package/commands/hubdb/create.js +7 -8
  43. package/commands/hubdb/delete.js +8 -7
  44. package/commands/hubdb/fetch.js +4 -5
  45. package/commands/hubdb.js +1 -2
  46. package/commands/init.js +18 -20
  47. package/commands/lint.js +3 -4
  48. package/commands/list.js +5 -6
  49. package/commands/logs.js +12 -13
  50. package/commands/module/marketplace-validate.js +5 -6
  51. package/commands/module.js +1 -3
  52. package/commands/mv.js +4 -5
  53. package/commands/open.js +4 -5
  54. package/commands/project/add.d.ts +3 -7
  55. package/commands/project/add.js +28 -23
  56. package/commands/project/cloneApp.d.ts +6 -8
  57. package/commands/project/cloneApp.js +49 -45
  58. package/commands/project/create.d.ts +10 -1
  59. package/commands/project/create.js +85 -63
  60. package/commands/project/deploy.d.ts +3 -6
  61. package/commands/project/deploy.js +27 -25
  62. package/commands/project/dev/deprecatedFlow.js +32 -25
  63. package/commands/project/dev/index.d.ts +4 -2
  64. package/commands/project/dev/index.js +31 -18
  65. package/commands/project/dev/unifiedFlow.js +10 -11
  66. package/commands/project/download.d.ts +3 -7
  67. package/commands/project/download.js +18 -19
  68. package/commands/project/installDeps.d.ts +6 -1
  69. package/commands/project/installDeps.js +48 -32
  70. package/commands/project/listBuilds.d.ts +3 -7
  71. package/commands/project/listBuilds.js +32 -27
  72. package/commands/project/logs.d.ts +10 -1
  73. package/commands/project/logs.js +73 -65
  74. package/commands/project/migrate.d.ts +6 -0
  75. package/commands/project/migrate.js +71 -0
  76. package/commands/project/migrateApp.d.ts +3 -8
  77. package/commands/project/migrateApp.js +23 -20
  78. package/commands/project/open.d.ts +3 -7
  79. package/commands/project/open.js +29 -21
  80. package/commands/project/upload.d.ts +9 -1
  81. package/commands/project/upload.js +78 -54
  82. package/commands/project/watch.d.ts +6 -1
  83. package/commands/project/watch.js +95 -61
  84. package/commands/project.d.ts +3 -1
  85. package/commands/project.js +47 -35
  86. package/commands/remove.js +7 -5
  87. package/commands/sandbox/create.js +10 -11
  88. package/commands/sandbox/delete.js +18 -19
  89. package/commands/sandbox.js +1 -2
  90. package/commands/secret/addSecret.js +5 -6
  91. package/commands/secret/deleteSecret.js +12 -9
  92. package/commands/secret/listSecret.js +3 -4
  93. package/commands/secret/updateSecret.js +9 -8
  94. package/commands/secret.js +1 -2
  95. package/commands/theme/generate-selectors.js +5 -6
  96. package/commands/theme/marketplace-validate.js +5 -6
  97. package/commands/theme/preview.js +16 -16
  98. package/commands/theme.js +1 -2
  99. package/commands/upload.js +23 -24
  100. package/commands/watch.js +18 -19
  101. package/lang/en.d.ts +2806 -0
  102. package/lang/en.js +2659 -3300
  103. package/lang/en.lyaml +98 -41
  104. package/lib/accountTypes.d.ts +1 -0
  105. package/lib/accountTypes.js +12 -0
  106. package/lib/app/migrate.d.ts +10 -4
  107. package/lib/app/migrate.js +208 -94
  108. package/lib/app/migrate_legacy.d.ts +2 -2
  109. package/lib/app/migrate_legacy.js +10 -7
  110. package/lib/buildAccount.d.ts +1 -2
  111. package/lib/buildAccount.js +11 -10
  112. package/lib/commonOpts.d.ts +3 -4
  113. package/lib/commonOpts.js +46 -18
  114. package/lib/configMigrate.d.ts +2 -0
  115. package/lib/configMigrate.js +104 -0
  116. package/lib/configOptions.js +11 -10
  117. package/lib/constants.d.ts +4 -0
  118. package/lib/constants.js +5 -1
  119. package/lib/dependencyManagement.js +2 -2
  120. package/lib/doctor/Diagnosis.d.ts +1 -2
  121. package/lib/doctor/Diagnosis.js +19 -16
  122. package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -1
  123. package/lib/doctor/DiagnosticInfoBuilder.js +10 -9
  124. package/lib/doctor/Doctor.d.ts +1 -0
  125. package/lib/doctor/Doctor.js +57 -44
  126. package/lib/errorHandlers/index.js +6 -7
  127. package/lib/errorHandlers/suppressError.js +6 -7
  128. package/lib/generateSelectors.js +1 -2
  129. package/lib/hasFeature.d.ts +3 -1
  130. package/lib/middleware/__test__/configMiddleware.test.d.ts +1 -0
  131. package/lib/middleware/__test__/configMiddleware.test.js +194 -0
  132. package/lib/middleware/__test__/gitMiddleware.test.d.ts +1 -0
  133. package/lib/middleware/__test__/gitMiddleware.test.js +76 -0
  134. package/lib/middleware/__test__/notificationsMiddleware.test.d.ts +1 -0
  135. package/lib/middleware/__test__/notificationsMiddleware.test.js +10 -0
  136. package/lib/middleware/__test__/requestMiddleware.test.d.ts +1 -0
  137. package/lib/middleware/__test__/requestMiddleware.test.js +20 -0
  138. package/lib/middleware/__test__/utils.test.d.ts +1 -0
  139. package/lib/middleware/__test__/utils.test.js +53 -0
  140. package/lib/middleware/__test__/yargsChecksMiddleware.test.d.ts +1 -0
  141. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +81 -0
  142. package/lib/middleware/configMiddleware.d.ts +13 -0
  143. package/lib/middleware/configMiddleware.js +116 -0
  144. package/lib/middleware/fireAlarmMiddleware.d.ts +4 -0
  145. package/lib/middleware/fireAlarmMiddleware.js +123 -0
  146. package/lib/middleware/gitMiddleware.d.ts +2 -0
  147. package/lib/middleware/gitMiddleware.js +14 -0
  148. package/lib/middleware/notificationsMiddleware.d.ts +1 -0
  149. package/lib/middleware/notificationsMiddleware.js +38 -0
  150. package/lib/middleware/requestMiddleware.d.ts +1 -0
  151. package/lib/middleware/requestMiddleware.js +11 -0
  152. package/lib/middleware/utils.d.ts +8 -0
  153. package/lib/middleware/utils.js +17 -0
  154. package/lib/middleware/yargsChecksMiddleware.d.ts +4 -0
  155. package/lib/middleware/yargsChecksMiddleware.js +24 -0
  156. package/lib/oauth.js +1 -2
  157. package/lib/process.js +1 -2
  158. package/lib/projects/ProjectLogsManager.d.ts +1 -1
  159. package/lib/projects/ProjectLogsManager.js +16 -21
  160. package/lib/projects/buildAndDeploy.js +28 -39
  161. package/lib/projects/config.d.ts +9 -0
  162. package/lib/projects/config.js +79 -0
  163. package/lib/projects/create.js +5 -6
  164. package/lib/projects/ensureProjectExists.d.ts +11 -0
  165. package/lib/projects/ensureProjectExists.js +97 -0
  166. package/lib/{DevServerManager.d.ts → projects/localDev/DevServerManager.d.ts} +1 -1
  167. package/lib/{DevServerManager.js → projects/localDev/DevServerManager.js} +6 -6
  168. package/lib/{DevServerManagerV2.d.ts → projects/localDev/DevServerManagerV2.d.ts} +1 -1
  169. package/lib/{DevServerManagerV2.js → projects/localDev/DevServerManagerV2.js} +3 -4
  170. package/lib/{LocalDevManager.d.ts → projects/localDev/LocalDevManager.d.ts} +1 -1
  171. package/lib/{LocalDevManager.js → projects/localDev/LocalDevManager.js} +49 -82
  172. package/lib/{LocalDevManagerV2.d.ts → projects/localDev/LocalDevManagerV2.d.ts} +2 -2
  173. package/lib/{LocalDevManagerV2.js → projects/localDev/LocalDevManagerV2.js} +43 -75
  174. package/lib/{localDev.d.ts → projects/localDev/helpers.d.ts} +5 -4
  175. package/lib/{localDev.js → projects/localDev/helpers.js} +97 -114
  176. package/lib/projects/ui.d.ts +1 -0
  177. package/lib/projects/ui.js +15 -0
  178. package/lib/projects/upload.d.ts +13 -2
  179. package/lib/projects/upload.js +18 -34
  180. package/lib/projects/urls.d.ts +1 -0
  181. package/lib/projects/urls.js +6 -0
  182. package/lib/projects/watch.d.ts +1 -1
  183. package/lib/projects/watch.js +21 -18
  184. package/lib/prompts/accountNamePrompt.js +16 -13
  185. package/lib/prompts/accountsPrompt.js +1 -2
  186. package/lib/prompts/cmsFieldPrompt.js +1 -2
  187. package/lib/prompts/createApiSamplePrompt.js +4 -5
  188. package/lib/prompts/createFunctionPrompt.js +13 -14
  189. package/lib/prompts/createModulePrompt.js +8 -9
  190. package/lib/prompts/createProjectPrompt.d.ts +11 -4
  191. package/lib/prompts/createProjectPrompt.js +14 -9
  192. package/lib/prompts/createTemplatePrompt.js +1 -2
  193. package/lib/prompts/downloadProjectPrompt.js +3 -4
  194. package/lib/prompts/installPublicAppPrompt.js +6 -5
  195. package/lib/prompts/personalAccessKeyPrompt.js +17 -18
  196. package/lib/prompts/previewPrompt.js +5 -6
  197. package/lib/prompts/projectAddPrompt.js +4 -5
  198. package/lib/prompts/projectDevTargetAccountPrompt.js +11 -12
  199. package/lib/prompts/projectNamePrompt.js +5 -6
  200. package/lib/prompts/projectsLogsPrompt.js +3 -2
  201. package/lib/prompts/promptUtils.d.ts +1 -1
  202. package/lib/prompts/sandboxesPrompt.js +5 -6
  203. package/lib/prompts/secretPrompt.js +2 -3
  204. package/lib/prompts/selectHubDBTablePrompt.js +11 -8
  205. package/lib/prompts/selectPublicAppPrompt.js +6 -7
  206. package/lib/prompts/setAsDefaultAccountPrompt.js +1 -2
  207. package/lib/prompts/uploadPrompt.js +4 -5
  208. package/lib/sandboxSync.js +15 -14
  209. package/lib/sandboxes.js +12 -13
  210. package/lib/serverlessLogs.js +4 -6
  211. package/lib/ui/SpinniesManager.d.ts +1 -1
  212. package/lib/ui/boxen.d.ts +5 -0
  213. package/lib/ui/boxen.js +30 -0
  214. package/lib/ui/git.js +8 -9
  215. package/lib/ui/index.d.ts +4 -2
  216. package/lib/ui/index.js +16 -16
  217. package/lib/ui/logger.d.ts +10 -0
  218. package/lib/ui/logger.js +15 -0
  219. package/lib/ui/serverlessFunctionLogs.js +2 -3
  220. package/lib/ui/spinniesUtils.d.ts +5 -5
  221. package/lib/yargsUtils.d.ts +1 -1
  222. package/package.json +7 -6
  223. package/types/Yargs.d.ts +5 -11
  224. package/lib/projects/index.d.ts +0 -20
  225. package/lib/projects/index.js +0 -195
package/lang/en.d.ts ADDED
@@ -0,0 +1,2806 @@
1
+ export declare const commands: {
2
+ readonly generalErrors: {
3
+ readonly updateNotify: {
4
+ readonly notifyTitle: "Update available";
5
+ readonly cmsUpdateNotification: (packageName: string | number, updateCommand: string | number) => string;
6
+ readonly cliUpdateNotification: (currentVersion: string | number, latestVersion: string | number, updateCommand: string | number) => string;
7
+ };
8
+ readonly srcIsProject: (src: string | number, command: string | number) => string;
9
+ readonly handleDeprecatedEnvVariables: {
10
+ readonly portalEnvVarDeprecated: "The HUBSPOT_PORTAL_ID environment variable is deprecated. Please use HUBSPOT_ACCOUNT_ID instead.";
11
+ };
12
+ readonly loadConfigMiddleware: {
13
+ readonly configFileExists: (configPath: string | number) => string;
14
+ };
15
+ };
16
+ readonly completion: {
17
+ readonly describe: "Enable bash completion shortcuts for commands. Concat the generated script to your .bashrc, .bash_profile, or .zshrc file.";
18
+ readonly examples: {
19
+ readonly default: "Generate shell completion scripts for the zsh shell";
20
+ };
21
+ };
22
+ readonly account: {
23
+ readonly describe: "Commands for managing configured accounts.";
24
+ readonly subcommands: {
25
+ readonly list: {
26
+ readonly accounts: `${string}:`;
27
+ readonly defaultAccount: (account: string | number) => string;
28
+ readonly describe: "List names of accounts defined in config.";
29
+ readonly configPath: (configPath: string | number) => string;
30
+ readonly labels: {
31
+ readonly accountId: "Account ID";
32
+ readonly authType: "Auth Type";
33
+ readonly name: "Name";
34
+ };
35
+ };
36
+ readonly rename: {
37
+ readonly describe: "Rename an account in the config.";
38
+ readonly positionals: {
39
+ readonly accountName: {
40
+ readonly describe: "Name of account to be renamed.";
41
+ };
42
+ readonly newName: {
43
+ readonly describe: "New name for account.";
44
+ };
45
+ };
46
+ readonly success: {
47
+ readonly renamed: (name: string | number, newName: string | number) => string;
48
+ };
49
+ };
50
+ readonly use: {
51
+ readonly describe: "Set the Hubspot account to use as the default account. The default account can be overridden with the \"--account\" option.";
52
+ readonly errors: {
53
+ readonly accountNotFound: (specifiedAccount: string | number, configPath: string | number) => string;
54
+ };
55
+ readonly examples: {
56
+ readonly default: "Select a HubSpot account to use as the default account";
57
+ readonly idBased: "Set the default account to the account in the config with accountId equal to \"1234567\"";
58
+ readonly nameBased: "Set the default account to the account in the config with name equal to \"MyAccount\"";
59
+ };
60
+ readonly options: {
61
+ readonly account: {
62
+ readonly describe: "Account name or id to use as the default";
63
+ };
64
+ };
65
+ readonly promptMessage: "Select an account to use as the default";
66
+ readonly success: {
67
+ readonly defaultAccountUpdated: (accountName: string | number) => string;
68
+ };
69
+ };
70
+ readonly remove: {
71
+ readonly describe: "Remove an account from the config.";
72
+ readonly logs: {
73
+ readonly replaceDefaultAccount: "The removed account was the default account.";
74
+ };
75
+ readonly prompts: {
76
+ readonly selectAccountToRemove: "Select an account to remove from the config";
77
+ };
78
+ readonly errors: {
79
+ readonly accountNotFound: (specifiedAccount: string | number, configPath: string | number) => string;
80
+ };
81
+ readonly examples: {
82
+ readonly default: "Select a HubSpot account to remove from the config";
83
+ readonly byName: "Remove the account \"MyAccount\" from the config";
84
+ };
85
+ readonly options: {
86
+ readonly account: {
87
+ readonly describe: "Account name or id to remove";
88
+ };
89
+ };
90
+ readonly promptMessage: "Select an account to remove";
91
+ readonly success: {
92
+ readonly accountRemoved: (accountName: string | number) => string;
93
+ };
94
+ };
95
+ readonly info: {
96
+ readonly accountId: (accountId: string | number) => string;
97
+ readonly describe: "Print information about the default account, or about the account specified with the \"account\" option.";
98
+ readonly errors: {
99
+ readonly notUsingPersonalAccessKey: "This command currently only supports fetching scopes for the personal access key auth type.";
100
+ };
101
+ readonly examples: {
102
+ readonly default: "Print information for the default account";
103
+ readonly idBased: "Print information for the account with accountId equal to \"1234567\"";
104
+ readonly nameBased: "Print information for the account in the config with name equal to \"MyAccount\"";
105
+ };
106
+ readonly name: (name: string | number) => string;
107
+ readonly scopeGroups: `${string}:`;
108
+ };
109
+ readonly clean: {
110
+ readonly describe: "Check for inactive accounts and removes them from the CLI config.";
111
+ readonly noResults: "No inactive accounts found to remove.";
112
+ readonly loading: {
113
+ readonly add: "Looking for inactive accounts…";
114
+ };
115
+ readonly inactiveAccountsFound: {
116
+ readonly one: "1 inactive account found:";
117
+ readonly other: (count: string | number) => string;
118
+ };
119
+ readonly confirm: {
120
+ readonly one: "Remove 1 inactive account from the CLI config?";
121
+ readonly other: (count: string | number) => string;
122
+ };
123
+ readonly removeSuccess: (accountName: string | number) => string;
124
+ };
125
+ };
126
+ };
127
+ readonly auth: {
128
+ readonly describe: (configName: string | number) => string;
129
+ readonly errors: {
130
+ readonly noConfigFileFound: "No config file was found. To create a new config file, use the \"hs init\" command.";
131
+ readonly unsupportedAuthType: (type: string | number, supportedProtocols: string | number) => string;
132
+ };
133
+ readonly options: {
134
+ readonly authType: {
135
+ readonly describe: "Authentication mechanism";
136
+ readonly defaultDescription: (authMethod: string | number) => string;
137
+ };
138
+ readonly account: {
139
+ readonly describe: "HubSpot account to authenticate";
140
+ };
141
+ };
142
+ readonly success: {
143
+ readonly configFileUpdated: (accountName: string | number, configFilename: string | number, authType: string | number) => string;
144
+ };
145
+ };
146
+ readonly config: {
147
+ readonly describe: "Commands for managing the CLI config file.";
148
+ readonly subcommands: {
149
+ readonly set: {
150
+ readonly describe: "Set various configuration options within the hubspot.config.yml file.";
151
+ readonly promptMessage: "Select a config option to update";
152
+ readonly examples: {
153
+ readonly default: "Opens a prompt to select a config item to modify";
154
+ };
155
+ readonly options: {
156
+ readonly defaultMode: {
157
+ readonly describe: "Set the default CMS publish mode";
158
+ readonly promptMessage: "Select CMS publish mode to be used as the default";
159
+ readonly error: (validModes: string | number) => string;
160
+ readonly success: (mode: string | number) => string;
161
+ };
162
+ readonly allowUsageTracking: {
163
+ readonly describe: "Enable or disable usage tracking";
164
+ readonly promptMessage: "Choose to enable or disable usage tracking";
165
+ readonly success: (isEnabled: string | number) => string;
166
+ readonly labels: {
167
+ readonly enabled: "Enabled";
168
+ readonly disabled: "Disabled";
169
+ };
170
+ };
171
+ readonly httpTimeout: {
172
+ readonly describe: "Set the http timeout duration";
173
+ readonly promptMessage: "Enter http timeout duration";
174
+ readonly success: (timeout: string | number) => string;
175
+ };
176
+ };
177
+ };
178
+ };
179
+ };
180
+ readonly cms: {
181
+ readonly describe: "Commands for working with the CMS.";
182
+ readonly subcommands: {
183
+ readonly lighthouseScore: {
184
+ readonly describe: "Score a theme using Google lighthouse.";
185
+ readonly examples: {
186
+ readonly default: "Get the lighthouse score for the my-theme theme";
187
+ };
188
+ readonly info: {
189
+ readonly promptMessage: "Select a theme to score";
190
+ readonly fetchingThemes: "Fetching available themes";
191
+ readonly generatingScore: (theme: string | number) => string;
192
+ readonly targetDeviceNote: (target: string | number) => string;
193
+ readonly verboseOptionNote: "Theme scores are averages of all theme templates. Use the [--verbose] option to include individual template scores.";
194
+ readonly pageTemplateScoreTitle: "Page template scores";
195
+ readonly lighthouseLinksTitle: "Lighthouse links";
196
+ readonly failedTemplatePathsTitle: "The following templates could not be scored";
197
+ };
198
+ readonly errors: {
199
+ readonly targetOptionRequired: "[--target] is required for detailed view";
200
+ readonly invalidTargetOption: "[--target] can only be used for detailed view";
201
+ readonly themeNotFound: (theme: string | number) => string;
202
+ readonly failedToFetchThemes: "Failed to fetch available themes. Try running again with the [--theme] option";
203
+ readonly failedToGetLighthouseScore: "Failed to generate a Google Lighthouse score";
204
+ };
205
+ readonly options: {
206
+ readonly theme: {
207
+ readonly describe: "Path to the theme in the Design Manager";
208
+ };
209
+ readonly target: {
210
+ readonly describe: "Medium to test against";
211
+ };
212
+ readonly verbose: {
213
+ readonly describe: "View a detailed output of the lighthouse scores";
214
+ };
215
+ };
216
+ };
217
+ readonly getReactModule: {
218
+ readonly describe: "Get a specified default React module.";
219
+ readonly selectModulePrompt: "Select a React module to download";
220
+ readonly positionals: {
221
+ readonly name: {
222
+ readonly describe: "Name of the react modules to be fetched";
223
+ };
224
+ readonly dest: {
225
+ readonly describe: "Destination to download the react module to";
226
+ };
227
+ };
228
+ readonly success: {
229
+ readonly moduleDownloaded: (moduleName: string | number, path: string | number) => string;
230
+ };
231
+ readonly errors: {
232
+ readonly pathExists: (path: string | number) => string;
233
+ readonly invalidName: "Module not found with that name, please check the spelling of the module you are trying to download.";
234
+ };
235
+ };
236
+ };
237
+ };
238
+ readonly create: {
239
+ readonly describe: (supportedAssetTypes: string | number) => string;
240
+ readonly errors: {
241
+ readonly deprecatedAssetType: (assetType: string | number, newCommand: string | number, type: string | number) => string;
242
+ readonly unsupportedAssetType: (assetType: string | number, supportedAssetTypes: string | number) => string;
243
+ readonly unusablePath: (path: string | number) => string;
244
+ };
245
+ readonly positionals: {
246
+ readonly dest: {
247
+ readonly describe: "Destination folder for the new asset, relative to your current working directory. If omitted, this argument will default to your current working directory";
248
+ };
249
+ readonly name: {
250
+ readonly describe: "Name of new asset";
251
+ };
252
+ readonly type: {
253
+ readonly describe: "Type of asset";
254
+ };
255
+ };
256
+ readonly subcommands: {
257
+ readonly apiSample: {
258
+ readonly folderOverwritePrompt: (folderName: string | number) => string;
259
+ readonly errors: {
260
+ readonly nameRequired: "The \"name\" argument is required when creating an API Sample.";
261
+ readonly noSamples: "Currently there are no samples available. Please try again later.";
262
+ };
263
+ readonly info: {
264
+ readonly sampleChosen: (sampleType: string | number, sampleLanguage: string | number) => string;
265
+ };
266
+ readonly success: {
267
+ readonly sampleCreated: (filePath: string | number) => string;
268
+ };
269
+ };
270
+ readonly module: {
271
+ readonly errors: {
272
+ readonly nameRequired: "The \"name\" argument is required when creating a Custom Module.";
273
+ };
274
+ };
275
+ readonly template: {
276
+ readonly errors: {
277
+ readonly nameRequired: "The \"name\" argument is required when creating a Template.";
278
+ };
279
+ };
280
+ };
281
+ };
282
+ readonly customObject: {
283
+ readonly betaMessage: `${string} The Custom Object CLI is currently in beta and is subject to change.`;
284
+ readonly describe: "Commands for managing custom objects.";
285
+ readonly seeMoreLink: "View our docs to find out more.";
286
+ readonly subcommands: {
287
+ readonly create: {
288
+ readonly describe: "Create custom object instances.";
289
+ readonly errors: {
290
+ readonly invalidObjectDefinition: "The object definition is invalid. Please check the schema and try again.";
291
+ readonly creationFailed: (definition: string | number) => string;
292
+ };
293
+ readonly options: {
294
+ readonly path: {
295
+ readonly describe: "Local path to the JSON file containing an array of object definitions";
296
+ };
297
+ };
298
+ readonly positionals: {
299
+ readonly name: {
300
+ readonly describe: "Schema name to add the object instance to";
301
+ };
302
+ };
303
+ readonly success: {
304
+ readonly objectsCreated: "Objects created";
305
+ };
306
+ readonly inputName: "[--name] Enter the name of the schema for the custom object(s) you'd like to create:";
307
+ readonly inputPath: "[--path] Enter the path to the JSON file containing the object definitions:";
308
+ };
309
+ readonly schema: {
310
+ readonly describe: "Commands for managing custom object schemas.";
311
+ readonly subcommands: {
312
+ readonly create: {
313
+ readonly describe: "Create a custom object schema.";
314
+ readonly errors: {
315
+ readonly invalidSchema: "The schema definition is invalid. Please check the schema and try again.";
316
+ readonly creationFailed: (definition: string | number) => string;
317
+ };
318
+ readonly options: {
319
+ readonly definition: {
320
+ readonly describe: "Local path to the JSON file containing the schema definition";
321
+ };
322
+ };
323
+ readonly success: {
324
+ readonly schemaCreated: (accountId: string | number) => string;
325
+ readonly schemaViewable: (url: string | number) => string;
326
+ };
327
+ };
328
+ readonly delete: {
329
+ readonly describe: "Delete a custom object schema.";
330
+ readonly errors: {
331
+ readonly delete: (name: string | number) => string;
332
+ };
333
+ readonly examples: {
334
+ readonly default: "Delete \"schemaName\" schema";
335
+ };
336
+ readonly positionals: {
337
+ readonly name: {
338
+ readonly describe: "Name of the target schema";
339
+ };
340
+ };
341
+ readonly options: {
342
+ readonly force: {
343
+ readonly describe: "Force the deletion of the schema.";
344
+ };
345
+ };
346
+ readonly success: {
347
+ readonly delete: (name: string | number) => string;
348
+ };
349
+ readonly confirmDelete: (name: string | number) => string;
350
+ readonly deleteCancelled: (name: string | number) => string;
351
+ readonly selectSchema: "Which schema would you like to delete?";
352
+ };
353
+ readonly fetchAll: {
354
+ readonly describe: "Fetch all custom object schemas for an account.";
355
+ readonly errors: {
356
+ readonly fetch: "Unable to fetch schemas";
357
+ };
358
+ readonly examples: {
359
+ readonly default: "Fetch all schemas for an account and put them in the current working directory";
360
+ readonly specifyPath: "Fetch all schemas for an account and put them in a directory named my/folder";
361
+ };
362
+ readonly positionals: {
363
+ readonly dest: {
364
+ readonly describe: "Local folder where schemas will be written";
365
+ };
366
+ };
367
+ readonly success: {
368
+ readonly fetch: (path: string | number) => string;
369
+ };
370
+ readonly inputDest: "Where would you like to save the schemas?";
371
+ };
372
+ readonly fetch: {
373
+ readonly describe: "Fetch a custom object schema.";
374
+ readonly errors: {
375
+ readonly fetch: (name: string | number) => string;
376
+ };
377
+ readonly examples: {
378
+ readonly default: "Fetch \"schemaId\" schema and put it in the current working directory";
379
+ readonly specifyPath: "Fetch \"schemaId\" schema and put it in a directory named my/folder";
380
+ };
381
+ readonly positionals: {
382
+ readonly dest: {
383
+ readonly describe: "Local folder where schema will be written";
384
+ };
385
+ readonly name: {
386
+ readonly describe: "Name of the target schema";
387
+ };
388
+ };
389
+ readonly selectSchema: "Which schema would you like to fetch?";
390
+ readonly inputDest: "What would you like to name the destination file?";
391
+ readonly success: {
392
+ readonly save: (name: string | number, path: string | number) => string;
393
+ readonly savedToPath: (path: string | number) => string;
394
+ };
395
+ };
396
+ readonly list: {
397
+ readonly describe: "List custom object schemas.";
398
+ readonly errors: {
399
+ readonly list: "Unable to list schemas";
400
+ };
401
+ };
402
+ readonly update: {
403
+ readonly describe: "Update an existing custom object schema.";
404
+ readonly errors: {
405
+ readonly invalidSchema: "The schema definition is invalid. Please check the schema and try again.";
406
+ readonly update: (definition: string | number) => string;
407
+ };
408
+ readonly options: {
409
+ readonly path: {
410
+ readonly describe: "Local path to the JSON file containing the schema definition";
411
+ };
412
+ };
413
+ readonly positionals: {
414
+ readonly name: {
415
+ readonly describe: "Name of the target schema";
416
+ };
417
+ };
418
+ readonly success: {
419
+ readonly update: (accountId: string | number) => string;
420
+ readonly viewAtUrl: (url: string | number) => string;
421
+ };
422
+ readonly selectSchema: "Which schema would you like to update?";
423
+ };
424
+ };
425
+ };
426
+ };
427
+ };
428
+ readonly doctor: {
429
+ readonly describe: "Retrieve diagnostic information about your local HubSpot configurations.";
430
+ readonly options: {
431
+ readonly outputDir: "Directory to save a detailed diagnosis JSON file in";
432
+ };
433
+ readonly errors: {
434
+ readonly generatingDiagnosis: "Error generating diagnosis";
435
+ readonly unableToWriteOutputFile: (file: string | number, errorMessage: string | number) => string;
436
+ };
437
+ readonly outputWritten: (filename: string | number) => string;
438
+ };
439
+ readonly fetch: {
440
+ readonly describe: "Fetch a file, directory or module from HubSpot and write to a path on your computer.";
441
+ readonly errors: {
442
+ readonly sourceRequired: "A source to fetch is required.";
443
+ };
444
+ readonly options: {
445
+ readonly staging: {
446
+ readonly describe: "Retrieve staged changes for project";
447
+ };
448
+ readonly assetVersion: {
449
+ readonly describe: "Specify what version of a default asset to fetch";
450
+ };
451
+ };
452
+ readonly positionals: {
453
+ readonly dest: {
454
+ readonly describe: "Local directory you would like the files to be placed in, relative to your current working directory";
455
+ };
456
+ readonly src: {
457
+ readonly describe: "Path in HubSpot Design Tools";
458
+ };
459
+ };
460
+ };
461
+ readonly filemanager: {
462
+ readonly describe: "Commands for managing files in the File Manager.";
463
+ readonly subcommands: {
464
+ readonly fetch: {
465
+ readonly describe: "Fetch a folder or file from the File Manager.";
466
+ readonly errors: {
467
+ readonly sourceRequired: "A source to fetch is required.";
468
+ };
469
+ readonly options: {
470
+ readonly includeArchived: {
471
+ readonly describe: "Include files that have been marked as \"archived\"";
472
+ };
473
+ };
474
+ readonly positionals: {
475
+ readonly dest: {
476
+ readonly describe: "Path in HubSpot Design Tools";
477
+ };
478
+ readonly src: {
479
+ readonly 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";
480
+ };
481
+ };
482
+ };
483
+ readonly upload: {
484
+ readonly describe: "Upload a folder or file to the File Manager.";
485
+ readonly errors: {
486
+ readonly destinationRequired: "A destination path needs to be passed";
487
+ readonly fileIgnored: (path: string | number) => string;
488
+ readonly invalidPath: (path: string | number) => string;
489
+ readonly upload: (src: string | number, dest: string | number) => string;
490
+ readonly uploadingFailed: "Uploading failed";
491
+ };
492
+ readonly logs: {
493
+ readonly uploading: (src: string | number, dest: string | number, accountId: string | number) => string;
494
+ };
495
+ readonly positionals: {
496
+ readonly dest: {
497
+ readonly describe: "Path in HubSpot Design Tools, can be a net new path";
498
+ };
499
+ readonly src: {
500
+ readonly describe: "Path to the local file, relative to your current working directory";
501
+ };
502
+ };
503
+ readonly success: {
504
+ readonly upload: (src: string | number, dest: string | number, accountId: string | number) => string;
505
+ readonly uploadComplete: (dest: string | number) => string;
506
+ };
507
+ };
508
+ };
509
+ };
510
+ readonly function: {
511
+ readonly describe: "Commands for managing CMS serverless functions.";
512
+ readonly subcommands: {
513
+ readonly deploy: {
514
+ readonly debug: {
515
+ readonly startingBuildAndDeploy: (functionPath: string | number) => string;
516
+ };
517
+ readonly errors: {
518
+ readonly buildError: (details: string | number) => string;
519
+ readonly noPackageJson: (functionPath: string | number) => string;
520
+ readonly notFunctionsFolder: (functionPath: string | number) => string;
521
+ };
522
+ readonly examples: {
523
+ readonly default: "Build and deploy a new bundle for all functions within the myFunctionFolder.functions folder";
524
+ };
525
+ readonly loading: (functionPath: string | number, account: string | number) => string;
526
+ readonly loadingFailed: (functionPath: string | number, account: string | number) => string;
527
+ readonly positionals: {
528
+ readonly path: {
529
+ readonly describe: "Path to the \".functions\" folder";
530
+ };
531
+ };
532
+ readonly success: {
533
+ readonly deployed: (functionPath: string | number, accountId: string | number, buildTimeSeconds: string | number) => string;
534
+ };
535
+ };
536
+ readonly list: {
537
+ readonly debug: {
538
+ readonly gettingFunctions: "Getting currently deployed functions";
539
+ };
540
+ readonly describe: "List the currently deployed CMS serverless functions.";
541
+ readonly info: {
542
+ readonly noFunctions: "No functions found";
543
+ };
544
+ readonly options: {
545
+ readonly json: {
546
+ readonly describe: "output raw json data";
547
+ };
548
+ };
549
+ };
550
+ readonly server: {
551
+ readonly debug: {
552
+ readonly startingServer: (functionPath: string | number) => string;
553
+ };
554
+ readonly examples: {
555
+ readonly default: "Run a local function test server.";
556
+ };
557
+ readonly options: {
558
+ readonly contact: {
559
+ readonly describe: "Pass contact data to the test function";
560
+ };
561
+ readonly logOutput: {
562
+ readonly describe: "Output the response body from the serverless function execution (It is suggested not to use this in production environments as it can reveal any secure data returned by the function in logs)";
563
+ };
564
+ readonly port: {
565
+ readonly describe: "Port to run the test server on";
566
+ };
567
+ readonly watch: {
568
+ readonly describe: "Watch the specified .functions folder for changes and restart the server";
569
+ };
570
+ };
571
+ readonly positionals: {
572
+ readonly path: {
573
+ readonly describe: "Path to local .functions folder";
574
+ };
575
+ };
576
+ };
577
+ };
578
+ };
579
+ readonly hubdb: {
580
+ readonly describe: "Commands for managing HubDB tables.";
581
+ readonly subcommands: {
582
+ readonly clear: {
583
+ readonly describe: "Clear all rows in a HubDB table.";
584
+ readonly logs: {
585
+ readonly removedRows: (deletedRowCount: string | number, tableId: string | number) => string;
586
+ readonly rowCount: (tableId: string | number, rowCount: string | number) => string;
587
+ readonly tableEmpty: (tableId: string | number) => string;
588
+ };
589
+ readonly positionals: {
590
+ readonly tableId: {
591
+ readonly describe: "HubDB Table ID";
592
+ };
593
+ };
594
+ };
595
+ readonly create: {
596
+ readonly describe: "Create a HubDB table.";
597
+ readonly enterPath: "[--path] Enter the local path to the file used for import:";
598
+ readonly errors: {
599
+ readonly create: (filePath: string | number) => string;
600
+ readonly pathRequired: "A path to a local file with a HubDB schema is required to create a HubDB table";
601
+ readonly invalidCharacters: "The selected file path contains invalid characters. Please provide a new path and try again.";
602
+ };
603
+ readonly options: {
604
+ readonly path: {
605
+ readonly describe: "Local path to file used for import";
606
+ };
607
+ };
608
+ readonly success: {
609
+ readonly create: (tableId: string | number, accountId: string | number, rowCount: string | number) => string;
610
+ };
611
+ };
612
+ readonly delete: {
613
+ readonly describe: "Delete a HubDB table.";
614
+ readonly shouldDeleteTable: (tableId: string | number) => string;
615
+ readonly errors: {
616
+ readonly delete: (tableId: string | number) => string;
617
+ };
618
+ readonly positionals: {
619
+ readonly tableId: {
620
+ readonly describe: "HubDB Table ID";
621
+ };
622
+ };
623
+ readonly options: {
624
+ readonly force: {
625
+ readonly describe: "Skips confirmation prompt when deleting a HubDB table";
626
+ };
627
+ };
628
+ readonly success: {
629
+ readonly delete: (tableId: string | number, accountId: string | number) => string;
630
+ };
631
+ };
632
+ readonly fetch: {
633
+ readonly describe: "Fetch the schema for a HubDB table.";
634
+ readonly positionals: {
635
+ readonly dest: {
636
+ readonly describe: "Local destination folder to fetch table to";
637
+ };
638
+ readonly tableId: {
639
+ readonly describe: "HubDB Table ID";
640
+ };
641
+ };
642
+ readonly success: {
643
+ readonly fetch: (tableId: string | number, path: string | number) => string;
644
+ };
645
+ };
646
+ };
647
+ };
648
+ readonly init: {
649
+ readonly describe: (configName: string | number) => string;
650
+ readonly options: {
651
+ readonly authType: {
652
+ readonly describe: "Authentication mechanism";
653
+ readonly defaultDescription: (authMethod: string | number) => string;
654
+ };
655
+ readonly account: {
656
+ readonly describe: "HubSpot account to authenticate";
657
+ };
658
+ readonly useHiddenConfig: {
659
+ readonly describe: "Use the new HubSpot configuration file located in a hidden file in the user's home directory";
660
+ };
661
+ };
662
+ readonly success: {
663
+ readonly configFileCreated: (configPath: string | number) => string;
664
+ readonly configFileUpdated: (account: string | number, authType: string | number) => string;
665
+ };
666
+ readonly logs: {
667
+ readonly updateConfig: "To update an existing config file, use the \"hs auth\" command.";
668
+ };
669
+ readonly errors: {
670
+ readonly configFileExists: (configPath: string | number) => string;
671
+ readonly bothConfigFilesNotAllowed: (path: string | number) => string;
672
+ };
673
+ };
674
+ readonly lint: {
675
+ readonly issuesFound: (count: string | number) => string;
676
+ readonly groupName: (path: string | number) => string;
677
+ readonly positionals: {
678
+ readonly path: {
679
+ readonly describe: "Local folder to lint";
680
+ };
681
+ };
682
+ };
683
+ readonly list: {
684
+ readonly describe: "List remote contents of a directory.";
685
+ readonly gettingPathContents: (path: string | number) => string;
686
+ readonly noFilesFoundAtPath: (path: string | number) => string;
687
+ readonly positionals: {
688
+ readonly path: {
689
+ readonly describe: "Remote directory to list contents";
690
+ };
691
+ };
692
+ };
693
+ readonly logs: {
694
+ readonly describe: "View logs for a CMS serverless function.";
695
+ readonly errors: {
696
+ readonly noLogsFound: (functionPath: string | number, accountId: string | number) => string;
697
+ };
698
+ readonly examples: {
699
+ readonly default: "Get 5 most recent logs for function residing at /_hcms/api/my-endpoint";
700
+ readonly follow: "Poll for and output logs for function residing at /_hcms/api/my-endpoint immediately upon new execution";
701
+ readonly limit: "Get 10 most recent logs for function residing at /_hcms/api/my-endpoint";
702
+ };
703
+ readonly endpointPrompt: "Enter a serverless function endpoint:";
704
+ readonly gettingLogs: (latest: string | number, functionPath: string | number) => string;
705
+ readonly options: {
706
+ readonly compact: {
707
+ readonly describe: "output compact logs";
708
+ };
709
+ readonly follow: {
710
+ readonly describe: "follow logs";
711
+ };
712
+ readonly latest: {
713
+ readonly describe: "retrieve most recent log only";
714
+ };
715
+ readonly limit: {
716
+ readonly describe: "limit the number of logs to output";
717
+ };
718
+ };
719
+ readonly positionals: {
720
+ readonly endpoint: {
721
+ readonly describe: "Serverless function endpoint";
722
+ };
723
+ };
724
+ readonly tailLogs: (functionPath: string | number, accountId: string | number) => string;
725
+ };
726
+ readonly mv: {
727
+ readonly describe: "Move a remote file or folder in HubSpot. This feature is currently in beta and the CLI contract is subject to change.";
728
+ readonly errors: {
729
+ readonly sourcePathExists: (srcPath: string | number, destPath: string | number) => string;
730
+ readonly moveFailed: (srcPath: string | number, destPath: string | number, accountId: string | number) => string;
731
+ };
732
+ readonly move: (srcPath: string | number, destPath: string | number, accountId: string | number) => string;
733
+ };
734
+ readonly open: {
735
+ readonly describe: "Open a HubSpot page in your browser.";
736
+ readonly options: {
737
+ readonly list: {
738
+ readonly describe: "List all supported shortcuts";
739
+ };
740
+ };
741
+ readonly positionals: {
742
+ readonly shortcut: {
743
+ readonly describe: "Shortcut of the link you'd like to open";
744
+ };
745
+ };
746
+ readonly selectLink: "Select a link to open";
747
+ };
748
+ readonly project: {
749
+ readonly dev: {
750
+ readonly describe: "Start local dev for the current project.";
751
+ readonly logs: {
752
+ readonly betaMessage: "HubSpot projects local development";
753
+ readonly placeholderAccountSelection: "Using default account as target account (for now)";
754
+ readonly learnMoreLocalDevServer: "Learn more about the projects local dev server";
755
+ };
756
+ readonly errors: {
757
+ readonly noProjectConfig: "No project detected. Please run this command again from a project directory.";
758
+ readonly noAccount: (accountId: string | number, authCommand: string | number) => string;
759
+ readonly noAccountsInConfig: (authCommand: string | number) => string;
760
+ readonly invalidProjectComponents: "Projects cannot contain both private and public apps. Move your apps to separate projects before attempting local development.";
761
+ readonly noRunnableComponents: (command: string | number) => string;
762
+ };
763
+ readonly examples: {
764
+ readonly default: "Start local dev for the current project";
765
+ };
766
+ };
767
+ readonly create: {
768
+ readonly describe: "Create a new project.";
769
+ readonly errors: {
770
+ readonly failedToDownloadProject: "Failed to download project. Please try again later.";
771
+ readonly invalidTemplateSource: "Invalid template source provided. Use the format <Owner>/<Repo> and try again.";
772
+ readonly failedToFetchProjectList: "Failed to fetch the list of available project templates. Please try again later.";
773
+ readonly cannotNestProjects: (projectDir: string | number) => string;
774
+ };
775
+ readonly logs: {
776
+ readonly success: (projectName: string | number, projectDest: string | number) => string;
777
+ readonly welcomeMessage: "Welcome to HubSpot Developer Projects!";
778
+ };
779
+ readonly examples: {
780
+ readonly default: "Create a new project";
781
+ readonly templateSource: "Create a new project from a custom GitHub repository. The repository must contain a valid project template and a config.json file defining the available templates";
782
+ };
783
+ readonly options: {
784
+ readonly dest: {
785
+ readonly describe: "Directory where the project should be created";
786
+ };
787
+ readonly name: {
788
+ readonly describe: "Project name (cannot be changed)";
789
+ };
790
+ readonly template: {
791
+ readonly describe: "The starting template";
792
+ };
793
+ readonly templateSource: {
794
+ readonly describe: "Path to custom GitHub repository from which to create project template";
795
+ };
796
+ };
797
+ };
798
+ readonly migrateApp: {
799
+ readonly describe: "Migrate a public app to the projects framework.";
800
+ readonly examples: {
801
+ readonly default: "Migrate a public app to the projects framework";
802
+ };
803
+ readonly options: {
804
+ readonly appId: {
805
+ readonly describe: "The ID for the public app being migrated to the projects framework";
806
+ };
807
+ readonly dest: {
808
+ readonly describe: "Directory where the project should be created";
809
+ };
810
+ readonly name: {
811
+ readonly describe: "Project name (cannot be changed)";
812
+ };
813
+ };
814
+ readonly header: {
815
+ readonly text: "This command will migrate an app to the projects framework. It will walk you through the fields required to complete the migration and download the project source code into a directory of your choosing.";
816
+ readonly link: "Learn more about migrating apps to the projects framework";
817
+ };
818
+ readonly deprecationWarning: (oldCommand: string | number, newCommand: string | number) => string;
819
+ readonly migrationStatus: {
820
+ readonly inProgress: () => string;
821
+ readonly success: () => string;
822
+ readonly done: () => string;
823
+ readonly failure: () => string;
824
+ };
825
+ readonly warning: {
826
+ readonly title: () => string;
827
+ readonly projectConversion: () => string;
828
+ readonly appConfig: () => string;
829
+ readonly buildAndDeploy: "This will create a new project with a single app component and immediately build and deploy it to your developer account (build #1).";
830
+ readonly existingApps: () => string;
831
+ readonly copyApp: "We strongly recommend making a copy of your app to test this process in a development app before replacing production.";
832
+ };
833
+ readonly migrationInterrupted: "\nThe command is terminated, but app migration is still in progress. Please check your account to ensure that the project and associated app have been created successfully.";
834
+ readonly createAppPrompt: "Proceed with migrating this app to a project component (this process can't be aborted)?";
835
+ readonly projectDetailsLink: "View project details in your developer account";
836
+ };
837
+ readonly migrate: {
838
+ readonly preamble: (platformVersion: string) => string;
839
+ readonly describe: "Migrate an existing project to the new version of the projects framework.";
840
+ readonly errors: {
841
+ readonly noProjectConfig: (command: string | number) => string;
842
+ };
843
+ readonly examples: {
844
+ readonly default: "Migrate an existing project to the new version of the projects framework.";
845
+ };
846
+ };
847
+ readonly cloneApp: {
848
+ readonly describe: "Clone a public app using the projects framework.";
849
+ readonly examples: {
850
+ readonly default: "Clone a public app using the projects framework";
851
+ };
852
+ readonly options: {
853
+ readonly appId: {
854
+ readonly describe: "The ID for the public app being cloned";
855
+ };
856
+ readonly dest: {
857
+ readonly describe: "Directory where the project should be created";
858
+ };
859
+ };
860
+ readonly cloneStatus: {
861
+ readonly inProgress: () => string;
862
+ readonly done: "Cloning app configuration to public-app.json component definition ... DONE";
863
+ readonly success: (dest: string | number) => string;
864
+ readonly failure: "Cloning app configuration to public-app.json component definition ... FAILED";
865
+ };
866
+ readonly errors: {
867
+ readonly invalidAccountTypeTitle: () => string;
868
+ readonly invalidAccountTypeDescription: (useCommand: string | number, authCommand: string | number) => string;
869
+ readonly couldNotWriteConfigPath: (configPath: string | number) => string;
870
+ };
871
+ };
872
+ readonly add: {
873
+ readonly describe: "Create a new component within a project.";
874
+ readonly options: {
875
+ readonly name: {
876
+ readonly describe: "The name for your newly created component";
877
+ };
878
+ readonly type: {
879
+ readonly describe: "The path to the component type's location within the hubspot-project-components Github repo: https://github.com/HubSpot/hubspot-project-components";
880
+ };
881
+ };
882
+ readonly creatingComponent: (projectName: string | number) => string;
883
+ readonly success: (componentName: string | number) => string;
884
+ readonly error: {
885
+ readonly failedToDownloadComponent: "Failed to download project component. Please try again later.";
886
+ readonly locationInProject: "This command must be run from within a project directory.";
887
+ readonly failedToFetchComponentList: "Failed to fetch the list of available components. Please try again later.";
888
+ readonly projectContainsPublicApp: "This project contains a public app. This command is currently only compatible with projects that contain private apps.";
889
+ };
890
+ readonly examples: {
891
+ readonly default: "Create a component within your project";
892
+ readonly withFlags: "Use --name and --type flags to bypass the prompt.";
893
+ };
894
+ };
895
+ readonly deploy: {
896
+ readonly describe: "Deploy a project build.";
897
+ readonly deployBuildIdPrompt: "[--build] Deploy which build?";
898
+ readonly debug: {
899
+ readonly deploying: (path: string | number) => string;
900
+ };
901
+ readonly errors: {
902
+ readonly deploy: (details: string | number) => string;
903
+ readonly noBuilds: "Deploy error: no builds for this project were found.";
904
+ readonly noBuildId: "You must specify a build to deploy";
905
+ readonly projectNotFound: (projectName: string | number, accountIdentifier: string | number, command: string | number) => string;
906
+ readonly buildIdDoesNotExist: (buildId: string | number, projectName: string | number, linkToProject: string | number) => string;
907
+ readonly buildAlreadyDeployed: (buildId: string | number, linkToProject: string | number) => string;
908
+ readonly viewProjectsBuilds: "View project builds in HubSpot";
909
+ };
910
+ readonly examples: {
911
+ readonly default: "Deploy the latest build of the current project";
912
+ readonly withOptions: "Deploy build 5 of the project my-project";
913
+ };
914
+ readonly options: {
915
+ readonly build: {
916
+ readonly describe: "Project build ID to be deployed";
917
+ };
918
+ readonly project: {
919
+ readonly describe: "Project name";
920
+ };
921
+ };
922
+ };
923
+ readonly listBuilds: {
924
+ readonly describe: "List the project's builds.";
925
+ readonly continueOrExitPrompt: "Press <enter> to load more, or ctrl+c to exit";
926
+ readonly viewAllBuildsLink: "View all builds";
927
+ readonly showingNextBuilds: (count: string | number, projectName: string | number) => string;
928
+ readonly showingRecentBuilds: (count: string | number, projectName: string | number, viewAllBuildsLink: string | number) => string;
929
+ readonly errors: {
930
+ readonly noBuilds: "No builds for this project were found.";
931
+ readonly projectNotFound: (projectName: string | number) => string;
932
+ };
933
+ readonly options: {
934
+ readonly project: {
935
+ readonly describe: "Project name";
936
+ };
937
+ readonly limit: {
938
+ readonly describe: "Limit the number of builds to output";
939
+ };
940
+ };
941
+ readonly examples: {
942
+ readonly default: "List the builds for the current project";
943
+ };
944
+ };
945
+ readonly logs: {
946
+ readonly describe: "Get execution logs for a serverless function within a project.";
947
+ readonly errors: {
948
+ readonly noProjectConfig: "No project detected. Run this command again from a project directory.";
949
+ readonly failedToFetchProjectDetails: "There was an error fetching project details";
950
+ readonly noFunctionsLinkText: "Visit developer docs";
951
+ readonly noFunctionsInProject: `There aren't any functions in this project
952
+ \t- Run ${string} to learn more about logs
953
+ \t- ${string} to learn more about serverless functions`;
954
+ readonly noFunctionWithName: (name: string | number) => string;
955
+ readonly functionNotDeployed: (name: string | number) => string;
956
+ readonly projectLogsManagerNotInitialized: "Function called on ProjectLogsManager before initialization";
957
+ readonly generic: "Error fetching logs";
958
+ };
959
+ readonly logs: {
960
+ readonly showingLogs: "Showing logs for:";
961
+ readonly hubspotLogsDirectLink: "View function logs in HubSpot";
962
+ readonly noLogsFound: (name: string | number) => string;
963
+ };
964
+ readonly table: {
965
+ readonly accountHeader: "Account";
966
+ readonly functionHeader: "Function";
967
+ readonly endpointHeader: "Endpoint";
968
+ };
969
+ readonly examples: {
970
+ readonly default: "Open the project logs prompt to get logs for a serverless function";
971
+ readonly withOptions: "Get logs for function named \"my-function\" within the app named \"app\" within the project named \"my-project\"";
972
+ };
973
+ readonly options: {
974
+ readonly app: {
975
+ readonly describe: "App name";
976
+ };
977
+ readonly compact: {
978
+ readonly describe: "Output compact logs";
979
+ };
980
+ readonly tail: {
981
+ readonly describe: "Tail logs";
982
+ };
983
+ readonly latest: {
984
+ readonly describe: "Retrieve most recent log only";
985
+ };
986
+ readonly limit: {
987
+ readonly describe: "Limit the number of logs to output";
988
+ };
989
+ readonly function: {
990
+ readonly describe: "App function name";
991
+ };
992
+ };
993
+ };
994
+ readonly upload: {
995
+ readonly describe: "Upload your project files and create a new build.";
996
+ readonly examples: {
997
+ readonly default: "Upload a project into your HubSpot account";
998
+ };
999
+ readonly logs: {
1000
+ readonly buildSucceeded: (buildId: string | number) => string;
1001
+ readonly readyToGoLive: "🚀 Ready to take your project live?";
1002
+ readonly runCommand: (command: string | number) => string;
1003
+ readonly autoDeployDisabled: (deployCommand: string | number) => string;
1004
+ };
1005
+ readonly errors: {
1006
+ readonly projectLockedError: () => string;
1007
+ };
1008
+ readonly options: {
1009
+ readonly forceCreate: {
1010
+ readonly describe: "Automatically create project if it does not exist";
1011
+ };
1012
+ readonly message: {
1013
+ readonly describe: "Add a message when you upload your project and create a build";
1014
+ };
1015
+ };
1016
+ };
1017
+ readonly watch: {
1018
+ readonly describe: "Watch your local project for changes and automatically upload changed files to a new build in HubSpot.";
1019
+ readonly examples: {
1020
+ readonly default: "Start watching the current project";
1021
+ };
1022
+ readonly logs: {
1023
+ readonly processExited: "Stopping watcher...";
1024
+ readonly watchCancelledFromUi: `The watch process has been cancelled from the UI. Any changes made since cancelling have not been uploaded. To resume watching, rerun ${string}.`;
1025
+ readonly resuming: "Resuming watcher...";
1026
+ readonly uploadSucceeded: (remotePath: string | number, filePath: string | number) => string;
1027
+ readonly deleteFileSucceeded: (remotePath: string | number) => string;
1028
+ readonly deleteFolderSucceeded: (remotePath: string | number) => string;
1029
+ readonly watching: (projectDir: string | number) => string;
1030
+ readonly previousStagingBuildCancelled: "Killed the previous watch process. Please try running `hs project watch` again";
1031
+ };
1032
+ readonly options: {
1033
+ readonly initialUpload: {
1034
+ readonly describe: "Upload directory before watching for updates";
1035
+ };
1036
+ };
1037
+ readonly debug: {
1038
+ readonly pause: "Pausing watcher, attempting to queue build";
1039
+ readonly buildStarted: "Build queued.";
1040
+ readonly extensionNotAllowed: (filePath: string | number) => string;
1041
+ readonly ignored: (filePath: string | number) => string;
1042
+ readonly uploading: (filePath: string | number, remotePath: string | number) => string;
1043
+ readonly attemptNewBuild: "Attempting to create a new build";
1044
+ readonly fileAlreadyQueued: (filePath: string | number) => string;
1045
+ };
1046
+ readonly errors: {
1047
+ readonly projectConfigNotFound: "No project config found. Please ensure that you are in a project directory.";
1048
+ readonly projectLockedError: `Your project is locked. This may mean that another user is running the ${string} command for this project. If this is you, unlock the project in Projects UI.`;
1049
+ readonly uploadFailed: (remotePath: string | number, filePath: string | number) => string;
1050
+ readonly deleteFileFailed: (remotePath: string | number) => string;
1051
+ readonly deleteFolderFailed: (remotePath: string | number) => string;
1052
+ };
1053
+ };
1054
+ readonly download: {
1055
+ readonly describe: "Download your project files from HubSpot.";
1056
+ readonly examples: {
1057
+ readonly default: "Download the project myProject into myProjectFolder folder";
1058
+ };
1059
+ readonly logs: {
1060
+ readonly downloadCancelled: "Cancelling project download";
1061
+ readonly downloadSucceeded: (buildId: string | number, projectName: string | number) => string;
1062
+ };
1063
+ readonly errors: {
1064
+ readonly downloadFailed: "Something went wrong downloading the project";
1065
+ readonly projectNotFound: (projectName: string | number, accountId: string | number) => string;
1066
+ };
1067
+ readonly warnings: {
1068
+ readonly cannotDownloadWithinProject: "Cancelling project download. Please run the command again outside the context of an existing project.";
1069
+ };
1070
+ readonly options: {
1071
+ readonly build: {
1072
+ readonly describe: "The build to download";
1073
+ };
1074
+ readonly project: {
1075
+ readonly describe: "The name of the project to download";
1076
+ };
1077
+ readonly dest: {
1078
+ readonly describe: "Destination folder for the project";
1079
+ };
1080
+ };
1081
+ };
1082
+ readonly open: {
1083
+ readonly describe: "Open the project's details page in the browser.";
1084
+ readonly options: {
1085
+ readonly project: {
1086
+ readonly describe: "Name of project to open";
1087
+ };
1088
+ };
1089
+ readonly examples: {
1090
+ readonly default: "Opens the projects page for the specified account";
1091
+ };
1092
+ readonly success: (projectName: string | number) => string;
1093
+ };
1094
+ readonly feedback: {
1095
+ readonly describe: "Leave feedback on HubSpot projects or file a bug report.";
1096
+ readonly feedbackType: {
1097
+ readonly prompt: "What type of feedback would you like to leave?";
1098
+ readonly bug: "[--bug] Report a bug";
1099
+ readonly general: "[--general] Tell us about your experience with HubSpot's developer tools";
1100
+ };
1101
+ readonly openPrompt: "Create a Github issue in your browser?";
1102
+ readonly success: (url: string | number) => string;
1103
+ readonly options: {
1104
+ readonly bug: {
1105
+ readonly describe: "Open Github issues in your browser to report a bug.";
1106
+ };
1107
+ readonly general: {
1108
+ readonly describe: "Open Github issues in your browser to give feedback.";
1109
+ };
1110
+ };
1111
+ };
1112
+ readonly installDeps: {
1113
+ readonly help: {
1114
+ readonly describe: "Install the dependencies for your project, or add a dependency to a subcomponent of a project.";
1115
+ readonly installAppDepsExample: "Install the dependencies for the project";
1116
+ readonly addDepToSubComponentExample: "Install the dependencies to one or more project subcomponents";
1117
+ };
1118
+ readonly installLocationPrompt: "Choose the project components to install the dependencies:";
1119
+ readonly installLocationPromptRequired: "You must choose at least one subcomponent";
1120
+ readonly installingDependencies: (directory: string | number) => string;
1121
+ readonly installationSuccessful: (directory: string | number) => string;
1122
+ readonly addingDependenciesToLocation: (dependencies: string | number, directory: string | number) => string;
1123
+ readonly installingDependenciesFailed: (directory: string | number) => string;
1124
+ readonly noProjectConfig: "No project detected. Run this command from a project directory.";
1125
+ readonly noPackageJsonInProject: (projectName: string | number, link: string | number) => string;
1126
+ readonly packageManagerNotInstalled: (packageManager: string | number, link: string | number) => string;
1127
+ };
1128
+ };
1129
+ readonly remove: {
1130
+ readonly describe: "Delete a file or folder from HubSpot.";
1131
+ readonly deleted: (path: string | number, accountId: string | number) => string;
1132
+ readonly errors: {
1133
+ readonly deleteFailed: (path: string | number, accountId: string | number) => string;
1134
+ };
1135
+ readonly positionals: {
1136
+ readonly path: {
1137
+ readonly describe: "Remote hubspot path";
1138
+ };
1139
+ };
1140
+ };
1141
+ readonly sandbox: {
1142
+ readonly describe: "Commands for managing sandboxes.";
1143
+ readonly subcommands: {
1144
+ readonly create: {
1145
+ readonly developer: {
1146
+ readonly loading: {
1147
+ readonly add: (accountName: string | number) => string;
1148
+ readonly fail: (accountName: string | number) => string;
1149
+ readonly succeed: (accountName: string | number, accountId: string | number) => string;
1150
+ };
1151
+ readonly success: {
1152
+ readonly configFileUpdated: (accountName: string | number, authType: string | number) => string;
1153
+ };
1154
+ readonly failure: {
1155
+ readonly invalidUser: (accountName: string | number, parentAccountName: string | number) => string;
1156
+ readonly limit: (accountName: string | number, limit: string | number) => string;
1157
+ readonly alreadyInConfig: (accountName: string | number, limit: string | number) => string;
1158
+ readonly scopes: {
1159
+ readonly message: "The personal access key you provided doesn't include developer sandbox permissions.";
1160
+ readonly instructions: (accountName: string | number, url: string | number) => string;
1161
+ };
1162
+ };
1163
+ };
1164
+ readonly standard: {
1165
+ readonly loading: {
1166
+ readonly add: (accountName: string | number) => string;
1167
+ readonly fail: (accountName: string | number) => string;
1168
+ readonly succeed: (accountName: string | number, accountId: string | number) => string;
1169
+ };
1170
+ readonly success: {
1171
+ readonly configFileUpdated: (accountName: string | number, authType: string | number) => string;
1172
+ };
1173
+ readonly failure: {
1174
+ readonly invalidUser: (accountName: string | number, parentAccountName: string | number) => string;
1175
+ readonly limit: (accountName: string | number, limit: string | number) => string;
1176
+ readonly alreadyInConfig: (accountName: string | number, limit: string | number) => string;
1177
+ readonly scopes: {
1178
+ readonly message: "The personal access key you provided doesn't include standard sandbox permissions.";
1179
+ readonly instructions: (accountName: string | number, url: string | number) => string;
1180
+ };
1181
+ };
1182
+ };
1183
+ };
1184
+ readonly delete: {
1185
+ readonly describe: "Delete a sandbox account.";
1186
+ readonly debug: {
1187
+ readonly deleting: (account: string | number) => string;
1188
+ readonly error: "Error deleting sandbox account:";
1189
+ };
1190
+ readonly examples: {
1191
+ readonly default: "Deletes the sandbox account named MySandboxAccount.";
1192
+ };
1193
+ readonly confirm: (account: string | number) => string;
1194
+ readonly defaultAccountWarning: (account: string | number) => string;
1195
+ readonly success: {
1196
+ readonly delete: (account: string | number, sandboxHubId: string | number) => string;
1197
+ readonly deleteDefault: (account: string | number, sandboxHubId: string | number) => string;
1198
+ readonly configFileUpdated: (account: string | number, configFilename: string | number) => string;
1199
+ };
1200
+ readonly failure: {
1201
+ readonly invalidUser: (accountName: string | number, parentAccountName: string | number) => string;
1202
+ readonly noAccount: "No account specified. Specify an account by using the --account flag.";
1203
+ readonly noSandboxAccounts: (authCommand: string | number) => string;
1204
+ readonly noSandboxAccountId: "This sandbox can't be deleted from the CLI because we could not find the associated sandbox account.";
1205
+ readonly noParentAccount: (authCommand: string | number) => string;
1206
+ readonly objectNotFound: (account: string | number) => string;
1207
+ readonly noParentPortalAvailable: (command: string | number, url: string | number) => string;
1208
+ readonly invalidKey: (account: string | number, authCommand: string | number) => string;
1209
+ };
1210
+ readonly options: {
1211
+ readonly force: {
1212
+ readonly describe: "Skips all confirmation prompts when deleting a sandbox account.";
1213
+ };
1214
+ readonly account: {
1215
+ readonly describe: "Account name or id to delete";
1216
+ };
1217
+ };
1218
+ };
1219
+ };
1220
+ readonly sync: {
1221
+ readonly loading: {
1222
+ readonly add: (accountName: string | number) => string;
1223
+ readonly fail: (accountName: string | number) => string;
1224
+ readonly succeed: (accountName: string | number) => string;
1225
+ };
1226
+ readonly success: {
1227
+ readonly configFileUpdated: (accountName: string | number, authType: string | number) => string;
1228
+ };
1229
+ readonly failure: {
1230
+ readonly invalidUser: (accountName: string | number, parentAccountName: string | number) => string;
1231
+ readonly scopes: {
1232
+ readonly message: "The personal access key you provided doesn't include sandbox sync permissions.";
1233
+ readonly instructions: (accountName: string | number, url: string | number) => string;
1234
+ };
1235
+ };
1236
+ };
1237
+ };
1238
+ readonly secret: {
1239
+ readonly describe: "Commands for managing secrets.";
1240
+ readonly subcommands: {
1241
+ readonly add: {
1242
+ readonly describe: "Create a new secret.";
1243
+ readonly errors: {
1244
+ readonly add: (secretName: string | number) => string;
1245
+ readonly alreadyExists: (secretName: string | number, command: string | number) => string;
1246
+ };
1247
+ readonly positionals: {
1248
+ readonly name: {
1249
+ readonly describe: "Name of the secret";
1250
+ };
1251
+ };
1252
+ readonly success: {
1253
+ readonly add: (secretName: string | number, accountIdentifier: string | number) => string;
1254
+ };
1255
+ };
1256
+ readonly delete: {
1257
+ readonly describe: "Delete a secret.";
1258
+ readonly selectSecret: "Select the secret you want to delete";
1259
+ readonly deleteCanceled: "Delete canceled";
1260
+ readonly confirmDelete: (secretName: string | number) => string;
1261
+ readonly errors: {
1262
+ readonly delete: (secretName: string | number) => string;
1263
+ readonly noSecret: (secretName: string | number) => string;
1264
+ };
1265
+ readonly positionals: {
1266
+ readonly name: {
1267
+ readonly describe: "Name of the secret";
1268
+ };
1269
+ };
1270
+ readonly success: {
1271
+ readonly delete: (secretName: string | number, accountIdentifier: string | number) => string;
1272
+ };
1273
+ };
1274
+ readonly list: {
1275
+ readonly describe: "List all secrets.";
1276
+ readonly errors: {
1277
+ readonly list: "The secrets could not be listed";
1278
+ };
1279
+ readonly groupLabel: (accountIdentifier: string | number) => string;
1280
+ };
1281
+ readonly update: {
1282
+ readonly describe: "Update an existing secret.";
1283
+ readonly selectSecret: "Select the secret you want to update";
1284
+ readonly errors: {
1285
+ readonly update: (secretName: string | number) => string;
1286
+ readonly noSecret: (secretName: string | number) => string;
1287
+ };
1288
+ readonly positionals: {
1289
+ readonly name: {
1290
+ readonly describe: "Name of the secret to be updated";
1291
+ };
1292
+ };
1293
+ readonly success: {
1294
+ readonly update: (secretName: string | number, accountIdentifier: string | number) => string;
1295
+ readonly updateExplanation: "Existing serverless functions will start using this new value within 10 seconds.";
1296
+ };
1297
+ };
1298
+ };
1299
+ };
1300
+ readonly theme: {
1301
+ readonly describe: "Commands for managing themes.";
1302
+ readonly subcommands: {
1303
+ readonly generateSelectors: {
1304
+ readonly 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.";
1305
+ readonly errors: {
1306
+ readonly invalidPath: (themePath: string | number) => string;
1307
+ readonly fieldsNotFound: "Unable to find theme's fields.json.";
1308
+ readonly noSelectorsFound: "No selectors found.";
1309
+ };
1310
+ readonly success: (themePath: string | number, selectorsPath: string | number) => string;
1311
+ readonly positionals: {
1312
+ readonly path: {
1313
+ readonly describe: "The path of the theme you'd like to generate an editor-preview.json for.";
1314
+ };
1315
+ };
1316
+ };
1317
+ readonly marketplaceValidate: {
1318
+ readonly describe: "Validate a theme for the marketplace.";
1319
+ readonly errors: {
1320
+ readonly invalidPath: (path: string | number) => string;
1321
+ };
1322
+ readonly logs: {
1323
+ readonly validatingTheme: (path: string | number) => string;
1324
+ };
1325
+ readonly results: {
1326
+ readonly required: "Required validation results:";
1327
+ readonly recommended: "Recommended validation results:";
1328
+ readonly warnings: {
1329
+ readonly file: (file: string | number) => string;
1330
+ readonly lineNumber: (line: string | number) => string;
1331
+ };
1332
+ readonly noErrors: "No errors";
1333
+ };
1334
+ readonly positionals: {
1335
+ readonly path: {
1336
+ readonly describe: "Path to the theme within the Design Manager.";
1337
+ };
1338
+ };
1339
+ };
1340
+ readonly preview: {
1341
+ readonly 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.";
1342
+ readonly errors: {
1343
+ readonly invalidPath: (path: string | number) => string;
1344
+ readonly noThemeComponents: "Your project has no theme components available to preview.";
1345
+ };
1346
+ readonly positionals: {
1347
+ readonly src: {
1348
+ readonly describe: "Path to the local directory your theme is in, relative to your current working directory";
1349
+ };
1350
+ readonly dest: {
1351
+ readonly 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.";
1352
+ };
1353
+ };
1354
+ readonly options: {
1355
+ readonly notify: {
1356
+ readonly describe: "Log to specified file when a watch task is triggered and after workers have gone idle. Ex. --notify path/to/file";
1357
+ };
1358
+ readonly noSsl: {
1359
+ readonly describe: "Disable HTTPS";
1360
+ };
1361
+ readonly port: {
1362
+ readonly describe: "The port on which to start the local server";
1363
+ };
1364
+ };
1365
+ readonly initialUploadProgressBar: {
1366
+ readonly start: "Starting...";
1367
+ readonly uploading: "Uploading...";
1368
+ readonly finish: "Complete!";
1369
+ };
1370
+ readonly logs: {
1371
+ readonly processExited: "Stopping dev server...";
1372
+ };
1373
+ };
1374
+ };
1375
+ };
1376
+ readonly module: {
1377
+ readonly describe: "Commands for working with modules, including marketplace validation with the marketplace-validate subcommand.";
1378
+ readonly subcommands: {
1379
+ readonly marketplaceValidate: {
1380
+ readonly describe: "Validate a module for the marketplace. Make sure to include the suffix .module in the path to the module within the Design Manager.";
1381
+ readonly errors: {
1382
+ readonly invalidPath: (path: string | number) => string;
1383
+ };
1384
+ readonly logs: {
1385
+ readonly validatingModule: (path: string | number) => string;
1386
+ };
1387
+ readonly options: {
1388
+ readonly json: {
1389
+ readonly describe: "Output raw json data";
1390
+ };
1391
+ };
1392
+ readonly results: {
1393
+ readonly required: "Required validation results:";
1394
+ readonly recommended: "Recommended validation results:";
1395
+ readonly warnings: {
1396
+ readonly file: (file: string | number) => string;
1397
+ readonly lineNumber: (line: string | number) => string;
1398
+ };
1399
+ readonly noErrors: "No errors";
1400
+ };
1401
+ readonly positionals: {
1402
+ readonly src: {
1403
+ readonly describe: "Path to the module within the Design Manager.";
1404
+ };
1405
+ };
1406
+ };
1407
+ };
1408
+ };
1409
+ readonly upload: {
1410
+ readonly describe: "Upload a folder or file from your computer to the HubSpot CMS.";
1411
+ readonly errors: {
1412
+ readonly destinationRequired: "A destination path needs to be passed";
1413
+ readonly fileIgnored: (path: string | number) => string;
1414
+ readonly invalidPath: (path: string | number) => string;
1415
+ readonly uploadFailed: (src: string | number, dest: string | number) => string;
1416
+ readonly someFilesFailed: (dest: string | number) => string;
1417
+ readonly deleteFailed: (path: string | number, accountId: string | number) => string;
1418
+ };
1419
+ readonly options: {
1420
+ readonly options: {
1421
+ readonly describe: "Options to pass to javascript fields files";
1422
+ };
1423
+ readonly saveOutput: {
1424
+ readonly describe: "If true, saves all output from javascript fields files as 'fields.output.json'.";
1425
+ };
1426
+ readonly convertFields: {
1427
+ readonly describe: "If true, converts any javascript fields files contained in module folder or project root.";
1428
+ };
1429
+ readonly clean: {
1430
+ readonly describe: "Will delete the destination directory and its contents before uploading. This will also clear the global content associated with any global partial templates and modules.";
1431
+ };
1432
+ readonly force: {
1433
+ readonly describe: "Skips confirmation prompts when doing a clean upload.";
1434
+ };
1435
+ };
1436
+ readonly previewUrl: (previewUrl: string | number) => string;
1437
+ readonly positionals: {
1438
+ readonly src: {
1439
+ readonly describe: "Path to the local file, relative to your current working directory.";
1440
+ };
1441
+ readonly dest: {
1442
+ readonly describe: "Path in HubSpot Design Tools, can be a net new path.";
1443
+ };
1444
+ };
1445
+ readonly success: {
1446
+ readonly fileUploaded: (src: string | number, dest: string | number, accountId: string | number) => string;
1447
+ readonly uploadComplete: (dest: string | number) => string;
1448
+ };
1449
+ readonly uploading: (src: string | number, dest: string | number, accountId: string | number) => string;
1450
+ readonly notUploaded: (src: string | number) => string;
1451
+ readonly cleaning: (filePath: string | number, accountId: string | number) => string;
1452
+ readonly confirmCleanUpload: (filePath: string | number, accountId: string | number) => string;
1453
+ };
1454
+ readonly watch: {
1455
+ readonly describe: "Watch a directory on your computer for changes and upload the changed files to the HubSpot CMS.";
1456
+ readonly errors: {
1457
+ readonly folderFailed: (src: string | number, dest: string | number, accountId: string | number) => string;
1458
+ readonly fileFailed: (file: string | number, dest: string | number, accountId: string | number) => string;
1459
+ readonly destinationRequired: "A destination directory needs to be passed";
1460
+ readonly invalidPath: (path: string | number) => string;
1461
+ };
1462
+ readonly options: {
1463
+ readonly disableInitial: {
1464
+ readonly describe: "Disable the initial upload when watching a directory (default)";
1465
+ };
1466
+ readonly initialUpload: {
1467
+ readonly describe: "Upload directory before watching for updates";
1468
+ };
1469
+ readonly notify: {
1470
+ readonly describe: "Log to specified file when a watch task is triggered and after workers have gone idle. Ex. --notify path/to/file";
1471
+ };
1472
+ readonly remove: {
1473
+ readonly describe: "Will cause watch to delete files in your HubSpot account that are not found locally.";
1474
+ };
1475
+ readonly convertFields: {
1476
+ readonly describe: "If true, converts any javascript fields files contained in module folder or project root.";
1477
+ };
1478
+ readonly saveOutput: {
1479
+ readonly describe: "If true, saves all output from javascript fields files as 'fields.output.json'.";
1480
+ };
1481
+ readonly options: {
1482
+ readonly describe: "Options to pass to javascript fields files";
1483
+ };
1484
+ };
1485
+ readonly positionals: {
1486
+ readonly src: {
1487
+ readonly describe: "Path to the local directory your files are in, relative to your current working directory";
1488
+ };
1489
+ readonly dest: {
1490
+ readonly describe: "Path in HubSpot Design Tools. Can be a net new path";
1491
+ };
1492
+ };
1493
+ readonly warnings: {
1494
+ readonly disableInitial: () => string;
1495
+ readonly initialUpload: () => string;
1496
+ readonly notUploaded: (path: string | number) => string;
1497
+ };
1498
+ };
1499
+ readonly convertFields: {
1500
+ readonly describe: "Converts a specific JavaScript fields file of a module or theme to JSON.";
1501
+ readonly positionals: {
1502
+ readonly src: {
1503
+ readonly describe: "Path to JS Fields file or directory containing javascript fields files.";
1504
+ };
1505
+ };
1506
+ readonly options: {
1507
+ readonly options: {
1508
+ readonly describe: "Options to pass to javascript fields files";
1509
+ };
1510
+ };
1511
+ readonly errors: {
1512
+ readonly invalidPath: (path: string | number) => string;
1513
+ readonly missingSrc: "Please specify the path to your javascript fields file or directory with the --src flag.";
1514
+ };
1515
+ };
1516
+ readonly secrets: {
1517
+ readonly add: {
1518
+ readonly loading: {
1519
+ readonly add: (secretName: string | number) => string;
1520
+ readonly fail: (secretName: string | number) => string;
1521
+ readonly succeed: (secretName: string | number) => string;
1522
+ };
1523
+ readonly success: {
1524
+ readonly configFileUpdated: (secretName: string | number, authType: string | number) => string;
1525
+ };
1526
+ readonly failure: {
1527
+ readonly invalidUser: (secretName: string | number, parentAccountName: string | number) => string;
1528
+ readonly scopes: {
1529
+ readonly message: "The personal access key you provided doesn't include secrets permissions.";
1530
+ readonly instructions: (secretName: string | number, url: string | number) => string;
1531
+ };
1532
+ };
1533
+ };
1534
+ readonly delete: {
1535
+ readonly loading: {
1536
+ readonly add: (secretName: string | number) => string;
1537
+ readonly fail: (secretName: string | number) => string;
1538
+ readonly succeed: (secretName: string | number) => string;
1539
+ };
1540
+ readonly success: {
1541
+ readonly configFileUpdated: (secretName: string | number, authType: string | number) => string;
1542
+ };
1543
+ readonly failure: {
1544
+ readonly invalidUser: (secretName: string | number, parentAccountName: string | number) => string;
1545
+ readonly scopes: {
1546
+ readonly message: "The personal access key you provided doesn't include secrets permissions.";
1547
+ readonly instructions: (secretName: string | number, url: string | number) => string;
1548
+ };
1549
+ };
1550
+ };
1551
+ readonly list: {
1552
+ readonly loading: {
1553
+ readonly add: () => string;
1554
+ readonly fail: () => string;
1555
+ readonly succeed: () => string;
1556
+ };
1557
+ readonly success: {
1558
+ readonly configFileUpdated: (authType: string | number) => string;
1559
+ };
1560
+ readonly failure: {
1561
+ readonly invalidUser: (parentAccountName: string | number) => string;
1562
+ readonly scopes: {
1563
+ readonly message: "The personal access key you provided doesn't include secrets permissions.";
1564
+ readonly instructions: (url: string | number) => string;
1565
+ };
1566
+ };
1567
+ };
1568
+ };
1569
+ readonly serverless: {
1570
+ readonly add: {
1571
+ readonly loading: {
1572
+ readonly add: (functionName: string | number) => string;
1573
+ readonly fail: (functionName: string | number) => string;
1574
+ readonly succeed: (functionName: string | number) => string;
1575
+ };
1576
+ readonly success: {
1577
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1578
+ };
1579
+ readonly failure: {
1580
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1581
+ readonly scopes: {
1582
+ readonly message: "The personal access key you provided doesn't include serverless function permissions.";
1583
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1584
+ };
1585
+ };
1586
+ };
1587
+ readonly delete: {
1588
+ readonly loading: {
1589
+ readonly add: (functionName: string | number) => string;
1590
+ readonly fail: (functionName: string | number) => string;
1591
+ readonly succeed: (functionName: string | number) => string;
1592
+ };
1593
+ readonly success: {
1594
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1595
+ };
1596
+ readonly failure: {
1597
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1598
+ readonly scopes: {
1599
+ readonly message: "The personal access key you provided doesn't include serverless function permissions.";
1600
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1601
+ };
1602
+ };
1603
+ };
1604
+ readonly list: {
1605
+ readonly loading: {
1606
+ readonly add: () => string;
1607
+ readonly fail: () => string;
1608
+ readonly succeed: () => string;
1609
+ };
1610
+ readonly success: {
1611
+ readonly configFileUpdated: (authType: string | number) => string;
1612
+ };
1613
+ readonly failure: {
1614
+ readonly invalidUser: (parentAccountName: string | number) => string;
1615
+ readonly scopes: {
1616
+ readonly message: "The personal access key you provided doesn't include serverless function permissions.";
1617
+ readonly instructions: (url: string | number) => string;
1618
+ };
1619
+ };
1620
+ };
1621
+ };
1622
+ readonly serverlessFunctionLogs: {
1623
+ readonly add: {
1624
+ readonly loading: {
1625
+ readonly add: (functionName: string | number) => string;
1626
+ readonly fail: (functionName: string | number) => string;
1627
+ readonly succeed: (functionName: string | number) => string;
1628
+ };
1629
+ readonly success: {
1630
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1631
+ };
1632
+ readonly failure: {
1633
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1634
+ readonly scopes: {
1635
+ readonly message: "The personal access key you provided doesn't include serverless function log permissions.";
1636
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1637
+ };
1638
+ };
1639
+ };
1640
+ readonly delete: {
1641
+ readonly loading: {
1642
+ readonly add: (functionName: string | number) => string;
1643
+ readonly fail: (functionName: string | number) => string;
1644
+ readonly succeed: (functionName: string | number) => string;
1645
+ };
1646
+ readonly success: {
1647
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1648
+ };
1649
+ readonly failure: {
1650
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1651
+ readonly scopes: {
1652
+ readonly message: "The personal access key you provided doesn't include serverless function log permissions.";
1653
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1654
+ };
1655
+ };
1656
+ };
1657
+ readonly list: {
1658
+ readonly loading: {
1659
+ readonly add: () => string;
1660
+ readonly fail: () => string;
1661
+ readonly succeed: () => string;
1662
+ };
1663
+ readonly success: {
1664
+ readonly configFileUpdated: (authType: string | number) => string;
1665
+ };
1666
+ readonly failure: {
1667
+ readonly invalidUser: (parentAccountName: string | number) => string;
1668
+ readonly scopes: {
1669
+ readonly message: "The personal access key you provided doesn't include serverless function log permissions.";
1670
+ readonly instructions: (url: string | number) => string;
1671
+ };
1672
+ };
1673
+ };
1674
+ };
1675
+ readonly serverlessFunctionMetrics: {
1676
+ readonly add: {
1677
+ readonly loading: {
1678
+ readonly add: (functionName: string | number) => string;
1679
+ readonly fail: (functionName: string | number) => string;
1680
+ readonly succeed: (functionName: string | number) => string;
1681
+ };
1682
+ readonly success: {
1683
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1684
+ };
1685
+ readonly failure: {
1686
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1687
+ readonly scopes: {
1688
+ readonly message: "The personal access key you provided doesn't include serverless function metric permissions.";
1689
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1690
+ };
1691
+ };
1692
+ };
1693
+ readonly delete: {
1694
+ readonly loading: {
1695
+ readonly add: (functionName: string | number) => string;
1696
+ readonly fail: (functionName: string | number) => string;
1697
+ readonly succeed: (functionName: string | number) => string;
1698
+ };
1699
+ readonly success: {
1700
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1701
+ };
1702
+ readonly failure: {
1703
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1704
+ readonly scopes: {
1705
+ readonly message: "The personal access key you provided doesn't include serverless function metric permissions.";
1706
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1707
+ };
1708
+ };
1709
+ };
1710
+ readonly list: {
1711
+ readonly loading: {
1712
+ readonly add: () => string;
1713
+ readonly fail: () => string;
1714
+ readonly succeed: () => string;
1715
+ };
1716
+ readonly success: {
1717
+ readonly configFileUpdated: (authType: string | number) => string;
1718
+ };
1719
+ readonly failure: {
1720
+ readonly invalidUser: (parentAccountName: string | number) => string;
1721
+ readonly scopes: {
1722
+ readonly message: "The personal access key you provided doesn't include serverless function metric permissions.";
1723
+ readonly instructions: (url: string | number) => string;
1724
+ };
1725
+ };
1726
+ };
1727
+ };
1728
+ readonly serverlessFunctionSettings: {
1729
+ readonly add: {
1730
+ readonly loading: {
1731
+ readonly add: (functionName: string | number) => string;
1732
+ readonly fail: (functionName: string | number) => string;
1733
+ readonly succeed: (functionName: string | number) => string;
1734
+ };
1735
+ readonly success: {
1736
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1737
+ };
1738
+ readonly failure: {
1739
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1740
+ readonly scopes: {
1741
+ readonly message: "The personal access key you provided doesn't include serverless function setting permissions.";
1742
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1743
+ };
1744
+ };
1745
+ };
1746
+ readonly delete: {
1747
+ readonly loading: {
1748
+ readonly add: (functionName: string | number) => string;
1749
+ readonly fail: (functionName: string | number) => string;
1750
+ readonly succeed: (functionName: string | number) => string;
1751
+ };
1752
+ readonly success: {
1753
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1754
+ };
1755
+ readonly failure: {
1756
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1757
+ readonly scopes: {
1758
+ readonly message: "The personal access key you provided doesn't include serverless function setting permissions.";
1759
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1760
+ };
1761
+ };
1762
+ };
1763
+ readonly list: {
1764
+ readonly loading: {
1765
+ readonly add: () => string;
1766
+ readonly fail: () => string;
1767
+ readonly succeed: () => string;
1768
+ };
1769
+ readonly success: {
1770
+ readonly configFileUpdated: (authType: string | number) => string;
1771
+ };
1772
+ readonly failure: {
1773
+ readonly invalidUser: (parentAccountName: string | number) => string;
1774
+ readonly scopes: {
1775
+ readonly message: "The personal access key you provided doesn't include serverless function setting permissions.";
1776
+ readonly instructions: (url: string | number) => string;
1777
+ };
1778
+ };
1779
+ };
1780
+ };
1781
+ readonly serverlessFunctionVersions: {
1782
+ readonly add: {
1783
+ readonly loading: {
1784
+ readonly add: (functionName: string | number) => string;
1785
+ readonly fail: (functionName: string | number) => string;
1786
+ readonly succeed: (functionName: string | number) => string;
1787
+ };
1788
+ readonly success: {
1789
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1790
+ };
1791
+ readonly failure: {
1792
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1793
+ readonly scopes: {
1794
+ readonly message: "The personal access key you provided doesn't include serverless function version permissions.";
1795
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1796
+ };
1797
+ };
1798
+ };
1799
+ readonly delete: {
1800
+ readonly loading: {
1801
+ readonly add: (functionName: string | number) => string;
1802
+ readonly fail: (functionName: string | number) => string;
1803
+ readonly succeed: (functionName: string | number) => string;
1804
+ };
1805
+ readonly success: {
1806
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1807
+ };
1808
+ readonly failure: {
1809
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1810
+ readonly scopes: {
1811
+ readonly message: "The personal access key you provided doesn't include serverless function version permissions.";
1812
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1813
+ };
1814
+ };
1815
+ };
1816
+ readonly list: {
1817
+ readonly loading: {
1818
+ readonly add: () => string;
1819
+ readonly fail: () => string;
1820
+ readonly succeed: () => string;
1821
+ };
1822
+ readonly success: {
1823
+ readonly configFileUpdated: (authType: string | number) => string;
1824
+ };
1825
+ readonly failure: {
1826
+ readonly invalidUser: (parentAccountName: string | number) => string;
1827
+ readonly scopes: {
1828
+ readonly message: "The personal access key you provided doesn't include serverless function version permissions.";
1829
+ readonly instructions: (url: string | number) => string;
1830
+ };
1831
+ };
1832
+ };
1833
+ };
1834
+ readonly serverlessFunctionWebhooks: {
1835
+ readonly add: {
1836
+ readonly loading: {
1837
+ readonly add: (functionName: string | number) => string;
1838
+ readonly fail: (functionName: string | number) => string;
1839
+ readonly succeed: (functionName: string | number) => string;
1840
+ };
1841
+ readonly success: {
1842
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1843
+ };
1844
+ readonly failure: {
1845
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1846
+ readonly scopes: {
1847
+ readonly message: "The personal access key you provided doesn't include serverless function webhook permissions.";
1848
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1849
+ };
1850
+ };
1851
+ };
1852
+ readonly delete: {
1853
+ readonly loading: {
1854
+ readonly add: (functionName: string | number) => string;
1855
+ readonly fail: (functionName: string | number) => string;
1856
+ readonly succeed: (functionName: string | number) => string;
1857
+ };
1858
+ readonly success: {
1859
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1860
+ };
1861
+ readonly failure: {
1862
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1863
+ readonly scopes: {
1864
+ readonly message: "The personal access key you provided doesn't include serverless function webhook permissions.";
1865
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1866
+ };
1867
+ };
1868
+ };
1869
+ readonly list: {
1870
+ readonly loading: {
1871
+ readonly add: () => string;
1872
+ readonly fail: () => string;
1873
+ readonly succeed: () => string;
1874
+ };
1875
+ readonly success: {
1876
+ readonly configFileUpdated: (authType: string | number) => string;
1877
+ };
1878
+ readonly failure: {
1879
+ readonly invalidUser: (parentAccountName: string | number) => string;
1880
+ readonly scopes: {
1881
+ readonly message: "The personal access key you provided doesn't include serverless function webhook permissions.";
1882
+ readonly instructions: (url: string | number) => string;
1883
+ };
1884
+ };
1885
+ };
1886
+ };
1887
+ readonly serverlessFunctionWebhookSubscriptions: {
1888
+ readonly add: {
1889
+ readonly loading: {
1890
+ readonly add: (functionName: string | number) => string;
1891
+ readonly fail: (functionName: string | number) => string;
1892
+ readonly succeed: (functionName: string | number) => string;
1893
+ };
1894
+ readonly success: {
1895
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1896
+ };
1897
+ readonly failure: {
1898
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1899
+ readonly scopes: {
1900
+ readonly message: "The personal access key you provided doesn't include serverless function webhook subscription permissions.";
1901
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1902
+ };
1903
+ };
1904
+ };
1905
+ readonly delete: {
1906
+ readonly loading: {
1907
+ readonly add: (functionName: string | number) => string;
1908
+ readonly fail: (functionName: string | number) => string;
1909
+ readonly succeed: (functionName: string | number) => string;
1910
+ };
1911
+ readonly success: {
1912
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1913
+ };
1914
+ readonly failure: {
1915
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1916
+ readonly scopes: {
1917
+ readonly message: "The personal access key you provided doesn't include serverless function webhook subscription permissions.";
1918
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1919
+ };
1920
+ };
1921
+ };
1922
+ readonly list: {
1923
+ readonly loading: {
1924
+ readonly add: () => string;
1925
+ readonly fail: () => string;
1926
+ readonly succeed: () => string;
1927
+ };
1928
+ readonly success: {
1929
+ readonly configFileUpdated: (authType: string | number) => string;
1930
+ };
1931
+ readonly failure: {
1932
+ readonly invalidUser: (parentAccountName: string | number) => string;
1933
+ readonly scopes: {
1934
+ readonly message: "The personal access key you provided doesn't include serverless function webhook subscription permissions.";
1935
+ readonly instructions: (url: string | number) => string;
1936
+ };
1937
+ };
1938
+ };
1939
+ };
1940
+ readonly serverlessFunctionWebhookSubscriptionEvents: {
1941
+ readonly add: {
1942
+ readonly loading: {
1943
+ readonly add: (functionName: string | number) => string;
1944
+ readonly fail: (functionName: string | number) => string;
1945
+ readonly succeed: (functionName: string | number) => string;
1946
+ };
1947
+ readonly success: {
1948
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1949
+ };
1950
+ readonly failure: {
1951
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1952
+ readonly scopes: {
1953
+ readonly message: "The personal access key you provided doesn't include serverless function webhook subscription event permissions.";
1954
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1955
+ };
1956
+ };
1957
+ };
1958
+ readonly delete: {
1959
+ readonly loading: {
1960
+ readonly add: (functionName: string | number) => string;
1961
+ readonly fail: (functionName: string | number) => string;
1962
+ readonly succeed: (functionName: string | number) => string;
1963
+ };
1964
+ readonly success: {
1965
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
1966
+ };
1967
+ readonly failure: {
1968
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
1969
+ readonly scopes: {
1970
+ readonly message: "The personal access key you provided doesn't include serverless function webhook subscription event permissions.";
1971
+ readonly instructions: (functionName: string | number, url: string | number) => string;
1972
+ };
1973
+ };
1974
+ };
1975
+ readonly list: {
1976
+ readonly loading: {
1977
+ readonly add: () => string;
1978
+ readonly fail: () => string;
1979
+ readonly succeed: () => string;
1980
+ };
1981
+ readonly success: {
1982
+ readonly configFileUpdated: (authType: string | number) => string;
1983
+ };
1984
+ readonly failure: {
1985
+ readonly invalidUser: (parentAccountName: string | number) => string;
1986
+ readonly scopes: {
1987
+ readonly message: "The personal access key you provided doesn't include serverless function webhook subscription event permissions.";
1988
+ readonly instructions: (url: string | number) => string;
1989
+ };
1990
+ };
1991
+ };
1992
+ };
1993
+ readonly serverlessFunctionWebhookSubscriptionEventTypes: {
1994
+ readonly add: {
1995
+ readonly loading: {
1996
+ readonly add: (functionName: string | number) => string;
1997
+ readonly fail: (functionName: string | number) => string;
1998
+ readonly succeed: (functionName: string | number) => string;
1999
+ };
2000
+ readonly success: {
2001
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
2002
+ };
2003
+ readonly failure: {
2004
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
2005
+ readonly scopes: {
2006
+ readonly message: "The personal access key you provided doesn't include serverless function webhook subscription event type permissions.";
2007
+ readonly instructions: (functionName: string | number, url: string | number) => string;
2008
+ };
2009
+ };
2010
+ };
2011
+ readonly delete: {
2012
+ readonly loading: {
2013
+ readonly add: (functionName: string | number) => string;
2014
+ readonly fail: (functionName: string | number) => string;
2015
+ readonly succeed: (functionName: string | number) => string;
2016
+ };
2017
+ readonly success: {
2018
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
2019
+ };
2020
+ readonly failure: {
2021
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
2022
+ readonly scopes: {
2023
+ readonly message: "The personal access key you provided doesn't include serverless function webhook subscription event type permissions.";
2024
+ readonly instructions: (functionName: string | number, url: string | number) => string;
2025
+ };
2026
+ };
2027
+ };
2028
+ readonly list: {
2029
+ readonly loading: {
2030
+ readonly add: () => string;
2031
+ readonly fail: () => string;
2032
+ readonly succeed: () => string;
2033
+ };
2034
+ readonly success: {
2035
+ readonly configFileUpdated: (authType: string | number) => string;
2036
+ };
2037
+ readonly failure: {
2038
+ readonly invalidUser: (parentAccountName: string | number) => string;
2039
+ readonly scopes: {
2040
+ readonly message: "The personal access key you provided doesn't include serverless function webhook subscription event type permissions.";
2041
+ readonly instructions: (url: string | number) => string;
2042
+ };
2043
+ };
2044
+ };
2045
+ };
2046
+ readonly serverlessFunctionWebhookSubscriptionEventTypeOptions: {
2047
+ readonly add: {
2048
+ readonly loading: {
2049
+ readonly add: (functionName: string | number) => string;
2050
+ readonly fail: (functionName: string | number) => string;
2051
+ readonly succeed: (functionName: string | number) => string;
2052
+ };
2053
+ readonly success: {
2054
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
2055
+ };
2056
+ readonly failure: {
2057
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
2058
+ readonly scopes: {
2059
+ readonly message: "The personal access key you provided doesn't include serverless function webhook subscription event type option permissions.";
2060
+ readonly instructions: (functionName: string | number, url: string | number) => string;
2061
+ };
2062
+ };
2063
+ };
2064
+ readonly delete: {
2065
+ readonly loading: {
2066
+ readonly add: (functionName: string | number) => string;
2067
+ readonly fail: (functionName: string | number) => string;
2068
+ readonly succeed: (functionName: string | number) => string;
2069
+ };
2070
+ readonly success: {
2071
+ readonly configFileUpdated: (functionName: string | number, authType: string | number) => string;
2072
+ };
2073
+ readonly failure: {
2074
+ readonly invalidUser: (functionName: string | number, parentAccountName: string | number) => string;
2075
+ readonly scopes: {
2076
+ readonly message: "The personal access key you provided doesn't include serverless function webhook subscription event type option permissions.";
2077
+ readonly instructions: (functionName: string | number, url: string | number) => string;
2078
+ };
2079
+ };
2080
+ };
2081
+ readonly list: {
2082
+ readonly loading: {
2083
+ readonly add: () => string;
2084
+ readonly fail: () => string;
2085
+ readonly succeed: () => string;
2086
+ };
2087
+ readonly success: {
2088
+ readonly configFileUpdated: (authType: string | number) => string;
2089
+ };
2090
+ readonly failure: {
2091
+ readonly invalidUser: (parentAccountName: string | number) => string;
2092
+ readonly scopes: {
2093
+ readonly message: "The personal access key you provided doesn't include serverless function webhook subscription event type option permissions.";
2094
+ readonly instructions: (url: string | number) => string;
2095
+ };
2096
+ };
2097
+ };
2098
+ };
2099
+ };
2100
+ export declare const lib: {
2101
+ readonly process: {
2102
+ readonly exitDebug: (signal: string | number) => string;
2103
+ };
2104
+ readonly DevServerManager: {
2105
+ readonly portConflict: (port: string | number) => string;
2106
+ readonly notInitialized: "The Dev Server Manager must be initialized before it is started.";
2107
+ readonly noCompatibleComponents: (serverKey: string | number) => string;
2108
+ };
2109
+ readonly LocalDevManager: {
2110
+ readonly failedToInitialize: "Missing required arguments to initialize Local Dev";
2111
+ readonly noDeployedBuild: (projectName: string | number, accountIdentifier: string | number, uploadCommand: string | number) => string;
2112
+ readonly noComponents: "There are no components in this project.";
2113
+ readonly betaMessage: "HubSpot projects local development";
2114
+ readonly learnMoreLocalDevServer: "Learn more about the projects local dev server";
2115
+ readonly running: (projectName: string | number, accountIdentifier: string | number) => string;
2116
+ readonly quitHelper: `Press ${string} to stop the local dev server`;
2117
+ readonly viewProjectLink: "View project in HubSpot";
2118
+ readonly viewTestAccountLink: "View developer test account in HubSpot";
2119
+ readonly exitingStart: "Stopping local dev server ...";
2120
+ readonly exitingSucceed: "Successfully exited";
2121
+ readonly exitingFail: "Failed to cleanup before exiting";
2122
+ readonly missingUid: `Could not find a uid for the selected app. Confirm that the app config file contains the uid field and re-run ${string}.`;
2123
+ readonly uploadWarning: {
2124
+ readonly appLabel: "[App]";
2125
+ readonly uiExtensionLabel: "[UI Extension]";
2126
+ readonly missingComponents: (missingComponents: string | number) => string;
2127
+ readonly defaultWarning: string;
2128
+ readonly defaultPublicAppWarning: (installCount: string | number, installText: string | number) => string;
2129
+ readonly header: (warning: string | number) => string;
2130
+ readonly stopDev: ` * Stop ${string}`;
2131
+ readonly runUpload: (command: string | number) => string;
2132
+ readonly restartDev: ` * Re-run ${string}`;
2133
+ readonly pushToGithub: " * Commit and push your changes to GitHub";
2134
+ readonly defaultMarketplaceAppWarning: (installCount: string | number, accountText: string | number) => string;
2135
+ };
2136
+ readonly activeInstallWarning: {
2137
+ readonly installCount: (appName: string | number, installCount: string | number, installText: string | number) => string;
2138
+ readonly explanation: "Some changes made during local development may need to be synced to HubSpot, which will impact those existing installs. We strongly recommend creating a copy of this app to use instead.";
2139
+ readonly confirmation: "You will always be asked to confirm any permanent changes to your app's configuration before uploading them.";
2140
+ readonly confirmationPrompt: `Proceed with local development of this ${string} app?`;
2141
+ };
2142
+ readonly devServer: {
2143
+ readonly cleanupError: (message: string | number) => string;
2144
+ readonly setupError: (message: string | number) => string;
2145
+ readonly startError: (message: string | number) => string;
2146
+ readonly fileChangeError: (message: string | number) => string;
2147
+ };
2148
+ };
2149
+ readonly localDevHelpers: {
2150
+ readonly confirmDefaultAccountIsTarget: {
2151
+ readonly configError: `An error occurred while reading the default account from your config. Run ${string} to re-auth this account`;
2152
+ readonly declineDefaultAccountExplanation: `To develop on a different account, run ${string} to change your default account, then re-run ${string}.`;
2153
+ };
2154
+ readonly checkIfDefaultAccountIsSupported: {
2155
+ readonly publicApp: `This project contains a public app. Local development of public apps is only supported on developer accounts and developer test accounts. Change your default account using ${string}, or link a new account with ${string}.`;
2156
+ readonly privateApp: `This project contains a private app. Local development of private apps is not supported in developer accounts. Change your default account using ${string}, or link a new account with ${string}.`;
2157
+ };
2158
+ readonly validateAccountOption: {
2159
+ readonly invalidPublicAppAccount: `This project contains a public app. The "--account" flag must point to a developer test account to develop this project locally. Alternatively, change your default account to an App Developer Account using ${string} and run ${string} to set up a new Developer Test Account.`;
2160
+ readonly invalidPrivateAppAccount: `This project contains a private app. The account specified with the "--account" flag points to a developer account, which do not support the local development of private apps. Update the "--account" flag to point to a standard, sandbox, or developer test account, or change your default account by running ${string}.`;
2161
+ readonly nonSandboxWarning: `Testing in a sandbox is strongly recommended. To switch the target account, select an option below or run ${string} before running the command again.`;
2162
+ readonly publicAppNonDeveloperTestAccountWarning: `Local development of public apps is only supported in ${string}.`;
2163
+ };
2164
+ readonly createNewProjectForLocalDev: {
2165
+ readonly projectMustExistExplanation: (projectName: string | number, accountIdentifier: string | number) => string;
2166
+ readonly publicAppProjectMustExistExplanation: (projectName: string | number, accountIdentifier: string | number) => string;
2167
+ readonly createProject: (projectName: string | number, accountIdentifier: string | number) => string;
2168
+ readonly choseNotToCreateProject: "Exiting because this command requires the project to exist in the target account.";
2169
+ readonly creatingProject: (projectName: string | number, accountIdentifier: string | number) => string;
2170
+ readonly createdProject: (projectName: string | number, accountIdentifier: string | number) => string;
2171
+ readonly failedToCreateProject: "Failed to create project in the target account.";
2172
+ };
2173
+ readonly createInitialBuildForNewProject: {
2174
+ readonly initialUploadMessage: "HubSpot Local Dev Server Startup";
2175
+ readonly projectLockedError: "Your project is locked. This may mean that another user is running the `hs project watch` command for this project. If this is you, unlock the project in Projects UI.";
2176
+ readonly genericError: `An error occurred while creating the initial build for this project. Run ${string} to try again.`;
2177
+ };
2178
+ readonly checkIfParentAccountIsAuthed: {
2179
+ readonly notAuthedError: (parentAccountId: string | number, accountIdentifier: string | number) => string;
2180
+ };
2181
+ };
2182
+ readonly projects: {
2183
+ readonly create: {
2184
+ readonly errors: {
2185
+ readonly noProjectsInConfig: "Unable to find any projects in the target repository's config.json file. Please ensure that there is a \"projects\" array in the config file.";
2186
+ readonly missingConfigFileTemplateSource: "Failed to fetch the config.json file from the target repository. Please ensure that there is a valid config.json file at the root of the repository and try again.";
2187
+ readonly missingPropertiesInConfig: "Found misconfigured projects in the target repository's config.json file. Please ensure that each project in the target repository's config.json file contains the following properties: [\"name\", \"label\", \"path\", \"insertPath\"].";
2188
+ };
2189
+ };
2190
+ readonly validateProjectConfig: {
2191
+ readonly configNotFound: `Unable to locate a project configuration file. Try running again from a project directory, or run ${string} to create a new project.`;
2192
+ readonly configMissingFields: "The project configuration file is missing required fields.";
2193
+ readonly srcDirNotFound: (srcDir: string | number, projectDir: string | number) => string;
2194
+ readonly srcOutsideProjectDir: (projectConfig: string | number, srcDir: string | number) => string;
2195
+ };
2196
+ readonly getProjectConfig: {
2197
+ readonly error: "Could not read from project config";
2198
+ };
2199
+ readonly ensureProjectExists: {
2200
+ readonly createPrompt: (projectName: string | number, accountIdentifier: string | number) => string;
2201
+ readonly createPromptUpload: (projectName: string | number, accountIdentifier: string | number) => string;
2202
+ readonly createSuccess: (projectName: string | number, accountIdentifier: string | number) => string;
2203
+ readonly notFound: (projectName: string | number, accountIdentifier: string | number) => string;
2204
+ };
2205
+ readonly pollFetchProject: {
2206
+ readonly checkingProject: (accountIdentifier: string | number) => string;
2207
+ };
2208
+ readonly logFeedbackMessage: {
2209
+ readonly feedbackHeader: "We'd love to hear your feedback!";
2210
+ readonly feedbackMessage: `How are you liking the new projects and developer tools?
2211
+ > Run ${string} to let us know what you think!
2212
+ `;
2213
+ };
2214
+ };
2215
+ readonly projectBuildAndDeploy: {
2216
+ readonly makePollTaskStatusFunc: {
2217
+ readonly errorSummary: "See below for a summary of errors.";
2218
+ readonly componentCountSingular: "Found 1 component in this project\n";
2219
+ readonly componentCount: (numComponents: string | number) => string;
2220
+ readonly successStatusText: "DONE";
2221
+ readonly failedStatusText: "FAILED";
2222
+ readonly errorFetchingTaskStatus: (taskType: string | number) => string;
2223
+ };
2224
+ readonly pollBuildAutodeployStatusError: (buildId: string | number) => string;
2225
+ readonly pollProjectBuildAndDeploy: {
2226
+ readonly buildSucceededAutomaticallyDeploying: (buildId: string | number, accountIdentifier: string | number) => string;
2227
+ readonly cleanedUpTempFile: (path: string | number) => string;
2228
+ readonly viewDeploys: "View all deploys for this project in HubSpot";
2229
+ readonly unableToFindAutodeployStatus: (buildId: string | number, viewDeploysLink: string | number) => string;
2230
+ };
2231
+ };
2232
+ readonly projectUpload: {
2233
+ readonly uploadProjectFiles: {
2234
+ readonly add: (projectName: string | number, accountIdentifier: string | number) => string;
2235
+ readonly fail: (projectName: string | number, accountIdentifier: string | number) => string;
2236
+ readonly succeed: (projectName: string | number, accountIdentifier: string | number) => string;
2237
+ readonly buildCreated: (projectName: string | number, buildId: string | number) => string;
2238
+ };
2239
+ readonly handleProjectUpload: {
2240
+ readonly emptySource: (srcDir: string | number) => string;
2241
+ readonly compressed: (byteCount: string | number) => string;
2242
+ readonly compressing: (path: string | number) => string;
2243
+ readonly fileFiltered: (filename: string | number) => string;
2244
+ };
2245
+ };
2246
+ readonly boxen: {
2247
+ readonly failedToLoad: "Failed to load boxen util.";
2248
+ };
2249
+ readonly ui: {
2250
+ readonly betaTag: string;
2251
+ readonly betaWarning: {
2252
+ readonly header: string;
2253
+ readonly footer: string;
2254
+ };
2255
+ readonly infoTag: string;
2256
+ readonly deprecatedTag: string;
2257
+ readonly errorTag: string;
2258
+ readonly deprecatedMessage: (command: string | number, url: string | number) => string;
2259
+ readonly deprecatedDescription: (message: string | number, command: string | number, url: string | number) => string;
2260
+ readonly deprecatedUrlText: "Learn more.";
2261
+ readonly disabledMessage: (command: string | number, npmCommand: string | number, url: string | number) => string;
2262
+ readonly disabledUrlText: "See all HubSpot CLI commands here.";
2263
+ readonly featureHighlight: {
2264
+ readonly defaultTitle: "What's next?";
2265
+ readonly featureKeys: {
2266
+ readonly accountOption: {
2267
+ readonly command: "--account";
2268
+ readonly message: (command: string | number) => string;
2269
+ };
2270
+ readonly accountsListCommand: {
2271
+ readonly command: "hs accounts list";
2272
+ readonly message: (command: string | number) => string;
2273
+ };
2274
+ readonly accountsUseCommand: {
2275
+ readonly command: "hs accounts use";
2276
+ readonly message: (command: string | number) => string;
2277
+ };
2278
+ readonly authCommand: {
2279
+ readonly command: "hs auth";
2280
+ readonly message: (command: string | number) => string;
2281
+ };
2282
+ readonly feedbackCommand: {
2283
+ readonly command: "hs feedback";
2284
+ readonly message: (command: string | number) => string;
2285
+ };
2286
+ readonly helpCommand: {
2287
+ readonly command: "hs help";
2288
+ readonly message: (command: string | number) => string;
2289
+ };
2290
+ readonly projectCreateCommand: {
2291
+ readonly command: "hs project create";
2292
+ readonly message: (command: string | number) => string;
2293
+ };
2294
+ readonly projectDeployCommand: {
2295
+ readonly command: "hs project deploy";
2296
+ readonly message: (command: string | number) => string;
2297
+ };
2298
+ readonly projectHelpCommand: {
2299
+ readonly command: "hs project --help";
2300
+ readonly message: (command: string | number) => string;
2301
+ };
2302
+ readonly projectUploadCommand: {
2303
+ readonly command: "hs project upload";
2304
+ readonly message: (command: string | number) => string;
2305
+ };
2306
+ readonly projectDevCommand: {
2307
+ readonly command: "hs project dev";
2308
+ readonly message: (command: string | number) => string;
2309
+ };
2310
+ readonly projectInstallDepsCommand: {
2311
+ readonly command: "hs project install-deps";
2312
+ readonly message: (command: string | number) => string;
2313
+ };
2314
+ readonly sampleProjects: {
2315
+ readonly linkText: "HubSpot's sample projects";
2316
+ readonly url: "https://developers.hubspot.com/docs/platform/sample-projects?utm_source=cli&utm_content=project_create_whats_next";
2317
+ readonly message: (link: string | number) => string;
2318
+ };
2319
+ };
2320
+ };
2321
+ readonly git: {
2322
+ readonly securityIssue: "Security Issue Detected";
2323
+ readonly configFileTracked: "The HubSpot config file can be tracked by git.";
2324
+ readonly fileName: (configPath: string | number) => string;
2325
+ readonly remediate: "To remediate:";
2326
+ readonly moveConfig: (homeDir: string | number) => string;
2327
+ readonly addGitignore: (configPath: string | number) => string;
2328
+ readonly noRemote: "- Ensure that the config file has not already been pushed to a remote repository.";
2329
+ readonly checkFailed: "Unable to determine if config file is properly ignored by git.";
2330
+ };
2331
+ readonly serverlessFunctionLogs: {
2332
+ readonly unableToProcessLog: (log: string | number) => string;
2333
+ readonly noLogsFound: "No logs found.";
2334
+ };
2335
+ };
2336
+ readonly commonOpts: {
2337
+ readonly options: {
2338
+ readonly account: {
2339
+ readonly describe: "HubSpot account id or name from config";
2340
+ };
2341
+ readonly config: {
2342
+ readonly describe: "Path to a config file";
2343
+ };
2344
+ readonly overwrite: {
2345
+ readonly describe: "Overwrite existing files";
2346
+ };
2347
+ readonly modes: {
2348
+ readonly describe: {
2349
+ readonly default: (modes: string | number) => string;
2350
+ readonly read: (modes: string | number) => string;
2351
+ readonly write: (modes: string | number) => string;
2352
+ };
2353
+ };
2354
+ readonly qa: {
2355
+ readonly describe: "Run command in QA mode";
2356
+ };
2357
+ readonly useEnv: {
2358
+ readonly describe: "Use environment variable config";
2359
+ };
2360
+ readonly debug: {
2361
+ readonly describe: "Set log level to debug";
2362
+ };
2363
+ };
2364
+ };
2365
+ readonly prompts: {
2366
+ readonly projectDevTargetAccountPrompt: {
2367
+ readonly createNewSandboxOption: "<Test on a new development sandbox>";
2368
+ readonly createNewDeveloperTestAccountOption: "<Test on a new developer test account>";
2369
+ readonly chooseDefaultAccountOption: () => string;
2370
+ readonly promptMessage: (accountType: string | number, accountIdentifier: string | number) => string;
2371
+ readonly sandboxLimit: (limit: string | number) => string;
2372
+ readonly sandboxLimitWithSuggestion: (limit: string | number, authCommand: string | number) => string;
2373
+ readonly developerTestAccountLimit: (limit: string | number) => string;
2374
+ readonly confirmDefaultAccount: (accountName: string | number, accountType: string | number) => string;
2375
+ readonly confirmUseExistingDeveloperTestAccount: (accountName: string | number) => string;
2376
+ readonly noAccountId: "No account ID found for the selected account. Please try again.";
2377
+ };
2378
+ readonly projectLogsPrompt: {
2379
+ readonly functionName: (projectName: string | number) => string;
2380
+ };
2381
+ readonly setAsDefaultAccountPrompt: {
2382
+ readonly setAsDefaultAccountMessage: "Set this account as the default?";
2383
+ readonly setAsDefaultAccount: (accountName: string | number) => string;
2384
+ readonly keepingCurrentDefault: (accountName: string | number) => string;
2385
+ };
2386
+ readonly accountNamePrompt: {
2387
+ readonly enterAccountName: "Enter a unique name to reference this account in the CLI:";
2388
+ readonly enterDeveloperTestAccountName: "Name your developer test account:";
2389
+ readonly enterStandardSandboxName: "Name your standard sandbox:";
2390
+ readonly enterDevelopmentSandboxName: "Name your development sandbox:";
2391
+ readonly sandboxDefaultName: (sandboxType: string | number) => string;
2392
+ readonly developerTestAccountDefaultName: (count: string | number) => string;
2393
+ readonly errors: {
2394
+ readonly invalidName: "You entered an invalid name. Please try again.";
2395
+ readonly nameRequired: "The name may not be blank. Please try again.";
2396
+ readonly spacesInName: "The name may not contain spaces. Please try again.";
2397
+ readonly accountNameExists: (name: string | number) => string;
2398
+ };
2399
+ };
2400
+ readonly personalAccessKeyPrompt: {
2401
+ readonly enterAccountId: "Enter the account ID for your account (the number under the DOMAIN column at https://app.hubspot.com/myaccounts-beta ): ";
2402
+ readonly enterClientId: "Enter your OAuth2 client ID: ";
2403
+ readonly enterClientSecret: "Enter your OAuth2 client secret: ";
2404
+ readonly enterPersonalAccessKey: "Enter your personal access key: ";
2405
+ readonly selectScopes: "Select access scopes (see https://developers.hubspot.com/docs/methods/oauth2/initiate-oauth-integration#scopes)";
2406
+ readonly personalAccessKeySetupTitle: "HubSpot Personal Access Key Setup";
2407
+ readonly personalAccessKeyBrowserOpenPrep: "A personal access key is required to authenticate the CLI to interact with your HubSpot account. We'll open a secure page in your default browser where you can view and copy your personal access key.";
2408
+ readonly personalAccessKeyBrowserOpenPrompt: "Open HubSpot to copy your personal access key?";
2409
+ readonly logs: {
2410
+ readonly openingWebBrowser: (url: string | number) => string;
2411
+ };
2412
+ readonly errors: {
2413
+ readonly invalidAccountId: "You did not enter a valid account ID. Please try again.";
2414
+ readonly invalidOauthClientId: "You entered an invalid OAuth2 client ID. Please try again.";
2415
+ readonly invalidOauthClientIdLength: "The OAuth2 client ID must be 36 characters long. Please try again.";
2416
+ readonly invalidOauthClientSecret: "You entered an invalid OAuth2 client secret. Please try again.";
2417
+ readonly invalidOauthClientSecretLength: "The OAuth2 client secret must be 36 characters long. Please try again.";
2418
+ readonly invalidOauthClientSecretCopy: "Please copy the actual OAuth2 client secret rather than the asterisks that mask it.";
2419
+ readonly invalidPersonalAccessKey: "You did not enter a valid access key. Please try again.";
2420
+ readonly invalidPersonalAccessKeyCopy: "Please copy the actual access key rather than the bullets that mask it.";
2421
+ };
2422
+ };
2423
+ readonly createTemplatePrompt: {
2424
+ readonly selectTemplate: "Select the type of template to create";
2425
+ };
2426
+ readonly createModulePrompt: {
2427
+ readonly enterLabel: "What should the module label be?";
2428
+ readonly selectReactType: "Is this a React module?";
2429
+ readonly selectContentType: "What types of content will this module be used in?";
2430
+ readonly confirmGlobal: "Is this a global module?";
2431
+ readonly availableForNewContent: "Make this module available for new content?";
2432
+ readonly errors: {
2433
+ readonly invalidLabel: "You entered an invalid name. Please try again.";
2434
+ readonly labelRequired: "The name may not be blank. Please try again.";
2435
+ readonly contentTypeRequired: "Please select at least one content type for this module.";
2436
+ };
2437
+ };
2438
+ readonly createFunctionPrompt: {
2439
+ readonly enterFolder: "Name of the folder where your function will be created: ";
2440
+ readonly enterFilename: "Name of the JavaScript file for your function: ";
2441
+ readonly enterEndpointPath: "Path portion of the URL created for the function: ";
2442
+ readonly selectEndpointMethod: "Select the HTTP method for the endpoint";
2443
+ readonly errors: {
2444
+ readonly invalid: "You entered an invalid name. Please try again.";
2445
+ readonly blank: "The name may not be blank. Please try again.";
2446
+ readonly space: "The name may not contain spaces. Please try again.";
2447
+ };
2448
+ };
2449
+ readonly createApiSamplePrompt: {
2450
+ readonly selectApiSampleApp: "Please select API sample app";
2451
+ readonly selectLanguage: "Please select sample app's language";
2452
+ readonly errors: {
2453
+ readonly apiSampleAppRequired: "Please select API sample app";
2454
+ readonly languageRequired: "Please select API sample app's language";
2455
+ };
2456
+ };
2457
+ readonly createProjectPrompt: {
2458
+ readonly enterName: "[--name] Give your project a name: ";
2459
+ readonly enterDest: "[--dest] Enter the folder to create the project in:";
2460
+ readonly selectTemplate: "[--template] Choose a project template: ";
2461
+ readonly errors: {
2462
+ readonly nameRequired: "A project name is required";
2463
+ readonly destRequired: "A project dest is required";
2464
+ readonly invalidDest: "There is an existing project at this destination. Please provide a new path for this project.";
2465
+ readonly invalidCharacters: "The selected destination contains invalid characters. Please provide a new path and try again.";
2466
+ readonly invalidTemplate: (template: string | number) => string;
2467
+ readonly projectTemplateRequired: "Project template is required when projectTemplates is provided";
2468
+ };
2469
+ };
2470
+ readonly selectPublicAppPrompt: {
2471
+ readonly selectAppIdMigrate: (accountName: string | number) => string;
2472
+ readonly selectAppIdClone: (accountName: string | number) => string;
2473
+ readonly errors: {
2474
+ readonly noAccountId: "An account ID is required to select an app.";
2475
+ readonly noAppsMigration: () => string;
2476
+ readonly noAppsClone: () => string;
2477
+ readonly noAppsMigrationMessage: (accountName: string | number) => string;
2478
+ readonly noAppsCloneMessage: (accountName: string | number) => string;
2479
+ readonly errorFetchingApps: "There was an error fetching public apps.";
2480
+ readonly cannotBeMigrated: "Cannot be migrated";
2481
+ };
2482
+ };
2483
+ readonly downloadProjectPrompt: {
2484
+ readonly selectProject: "Select a project to download:";
2485
+ readonly errors: {
2486
+ readonly projectNotFound: (projectName: string | number, accountId: string | number) => string;
2487
+ readonly accountIdRequired: "An account ID is required to download a project.";
2488
+ };
2489
+ };
2490
+ readonly projectAddPrompt: {
2491
+ readonly selectType: "[--type] Select a component to add: ";
2492
+ readonly enterName: "[--name] Give your component a name: ";
2493
+ readonly errors: {
2494
+ readonly nameRequired: "A component name is required";
2495
+ readonly invalidType: (type: string | number) => string;
2496
+ };
2497
+ };
2498
+ readonly secretPrompt: {
2499
+ readonly enterValue: "Enter a value for your secret: ";
2500
+ readonly enterName: "Enter a name for your secret: ";
2501
+ readonly selectSecretUpdate: "Select the secret you want to update";
2502
+ readonly selectSecretDelete: "Select the secret you want to delete";
2503
+ readonly errors: {
2504
+ readonly invalidValue: "You entered an invalid value. Please try again.";
2505
+ };
2506
+ };
2507
+ readonly sandboxesPrompt: {
2508
+ readonly selectAccountName: "Select the sandbox account you want to delete";
2509
+ readonly selectParentAccountName: "Select the account that the sandbox belongs to";
2510
+ readonly type: {
2511
+ readonly message: "Choose the type of sandbox you want to create";
2512
+ readonly developer: "Development sandbox (Includes production's object definitions)";
2513
+ readonly standard: "Standard sandbox (Includes partial copy of production's assets)";
2514
+ };
2515
+ };
2516
+ readonly uploadPrompt: {
2517
+ readonly enterDest: "Enter the destination path: ";
2518
+ readonly enterSrc: "Enter the source path: ";
2519
+ readonly errors: {
2520
+ readonly srcRequired: "You must specify a source directory.";
2521
+ readonly destRequired: "You must specify a destination directory.";
2522
+ };
2523
+ readonly fieldsPrompt: (dir: string | number) => string;
2524
+ };
2525
+ readonly projectNamePrompt: {
2526
+ readonly enterName: "[--project] Enter project name:";
2527
+ readonly errors: {
2528
+ readonly invalidName: "You entered an invalid name. Please try again.";
2529
+ readonly projectDoesNotExist: (projectName: string | number, accountIdentifier: string | number) => string;
2530
+ };
2531
+ };
2532
+ readonly previewPrompt: {
2533
+ readonly enterSrc: "[--src] Enter a local theme directory to preview.";
2534
+ readonly enterDest: "[--dest] Enter the destination path for the src theme in HubSpot Design Tools.";
2535
+ readonly themeProjectSelect: "[--theme] Select which theme to preview.";
2536
+ readonly errors: {
2537
+ readonly srcRequired: "You must specify a source directory.";
2538
+ readonly destRequired: "You must specify a destination directory.";
2539
+ };
2540
+ };
2541
+ readonly installPublicAppPrompt: {
2542
+ readonly explanation: "Local development requires this app to be installed in the target test account";
2543
+ readonly 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.";
2544
+ readonly prompt: "Open HubSpot to install this app?";
2545
+ readonly reinstallPrompt: "Open HubSpot to reinstall this app?";
2546
+ readonly decline: () => string;
2547
+ };
2548
+ readonly selectHubDBTablePrompt: {
2549
+ readonly selectTable: "Select a HubDB table:";
2550
+ readonly enterDest: "Enter the destination path:";
2551
+ readonly errors: {
2552
+ readonly noTables: (accountId: string | number) => string;
2553
+ readonly errorFetchingTables: (accountId: string | number) => string;
2554
+ readonly destRequired: "A destination is required";
2555
+ readonly invalidDest: "The selected destination already exists. Please provide a new path.";
2556
+ readonly invalidCharacters: "The selected destination contains invalid characters. Please provide a new path and try again.";
2557
+ };
2558
+ };
2559
+ };
2560
+ readonly convertFields: {
2561
+ readonly positionals: {
2562
+ readonly src: {
2563
+ readonly describe: "Path to JS Fields file or directory containing javascript fields files.";
2564
+ };
2565
+ };
2566
+ readonly options: {
2567
+ readonly options: {
2568
+ readonly describe: "Options to pass to javascript fields files";
2569
+ };
2570
+ };
2571
+ };
2572
+ readonly developerTestAccount: {
2573
+ readonly create: {
2574
+ readonly loading: {
2575
+ readonly add: (accountName: string | number) => string;
2576
+ readonly fail: (accountName: string | number) => string;
2577
+ readonly succeed: (accountName: string | number, accountId: string | number) => string;
2578
+ };
2579
+ readonly success: {
2580
+ readonly configFileUpdated: (accountName: string | number, authType: string | number) => string;
2581
+ };
2582
+ readonly failure: {
2583
+ readonly invalidUser: (accountName: string | number, parentAccountName: string | number) => string;
2584
+ readonly limit: (accountName: string | number, limit: string | number) => string;
2585
+ readonly alreadyInConfig: (accountName: string | number, limit: string | number) => string;
2586
+ readonly scopes: {
2587
+ readonly message: "The personal access key you provided doesn't include developer test account permissions.";
2588
+ readonly instructions: (accountName: string | number, url: string | number) => string;
2589
+ };
2590
+ };
2591
+ };
2592
+ };
2593
+ readonly sandbox: {
2594
+ readonly create: {
2595
+ readonly developer: {
2596
+ readonly loading: {
2597
+ readonly add: (accountName: string | number) => string;
2598
+ readonly fail: (accountName: string | number) => string;
2599
+ readonly succeed: (accountName: string | number, accountId: string | number) => string;
2600
+ };
2601
+ readonly success: {
2602
+ readonly configFileUpdated: (accountName: string | number, authType: string | number) => string;
2603
+ };
2604
+ readonly failure: {
2605
+ readonly invalidUser: (accountName: string | number, parentAccountName: string | number) => string;
2606
+ readonly limit: (accountName: string | number, limit: string | number) => string;
2607
+ readonly alreadyInConfig: (accountName: string | number, limit: string | number) => string;
2608
+ readonly scopes: {
2609
+ readonly message: "The personal access key you provided doesn't include developer sandbox permissions.";
2610
+ readonly instructions: (accountName: string | number, url: string | number) => string;
2611
+ };
2612
+ readonly generic: "An error occurred while creating a developer sandbox";
2613
+ };
2614
+ };
2615
+ readonly standard: {
2616
+ readonly loading: {
2617
+ readonly add: (accountName: string | number) => string;
2618
+ readonly fail: (accountName: string | number) => string;
2619
+ readonly succeed: (accountName: string | number, accountId: string | number) => string;
2620
+ };
2621
+ readonly success: {
2622
+ readonly configFileUpdated: (accountName: string | number, authType: string | number) => string;
2623
+ };
2624
+ readonly failure: {
2625
+ readonly invalidUser: (accountName: string | number, parentAccountName: string | number) => string;
2626
+ readonly limit: (accountName: string | number, limit: string | number) => string;
2627
+ readonly alreadyInConfig: (accountName: string | number, limit: string | number) => string;
2628
+ readonly scopes: {
2629
+ readonly message: "The personal access key you provided doesn't include standard sandbox permissions.";
2630
+ readonly instructions: (accountName: string | number, url: string | number) => string;
2631
+ };
2632
+ };
2633
+ };
2634
+ };
2635
+ readonly sync: {
2636
+ readonly loading: {
2637
+ readonly add: (accountName: string | number) => string;
2638
+ readonly fail: (accountName: string | number) => string;
2639
+ readonly succeed: (accountName: string | number) => string;
2640
+ };
2641
+ readonly success: {
2642
+ readonly configFileUpdated: (accountName: string | number, authType: string | number) => string;
2643
+ };
2644
+ readonly failure: {
2645
+ readonly invalidUser: (accountName: string | number, parentAccountName: string | number) => string;
2646
+ readonly scopes: {
2647
+ readonly message: "The personal access key you provided doesn't include sandbox sync permissions.";
2648
+ readonly instructions: (accountName: string | number, url: string | number) => string;
2649
+ };
2650
+ };
2651
+ };
2652
+ };
2653
+ readonly errorHandlers: {
2654
+ readonly index: {
2655
+ readonly errorOccurred: (error: string | number) => string;
2656
+ readonly errorContext: (context: string | number) => string;
2657
+ readonly errorCause: (cause: string | number) => string;
2658
+ readonly unknownErrorOccurred: "An unknown error has occurred.";
2659
+ };
2660
+ readonly suppressErrors: {
2661
+ readonly platformVersionErrors: {
2662
+ readonly header: "Platform version update required";
2663
+ readonly unspecifiedPlatformVersion: (platformVersion: string | number) => string;
2664
+ readonly platformVersionRetired: (platformVersion: string | number) => string;
2665
+ readonly nonExistentPlatformVersion: (platformVersion: string | number) => string;
2666
+ readonly updateProject: "Please update your project to the latest version and try again.";
2667
+ readonly docsLink: "Projects platform versioning (BETA)";
2668
+ readonly betaLink: (docsLink: string | number) => string;
2669
+ };
2670
+ readonly missingScopeError: (request: string | number, accountName: string | number, authCommand: string | number) => string;
2671
+ };
2672
+ };
2673
+ readonly serverless: {
2674
+ readonly verifyAccessKeyAndUserAccess: {
2675
+ readonly fetchScopeDataError: (scopeGroup: string | number) => string;
2676
+ readonly portalMissingScope: "Your account does not have access to this action. Talk to an account admin to request it.";
2677
+ readonly userMissingScope: "You don't have access to this action. Ask an account admin to change your permissions in Users & Teams settings.";
2678
+ readonly genericMissingScope: "Your access key does not allow this action. Please generate a new access key by running `hs auth personalaccesskey`.";
2679
+ };
2680
+ };
2681
+ readonly doctor: {
2682
+ readonly runningDiagnostics: "Running diagnostics...";
2683
+ readonly diagnosticsComplete: "Diagnostics complete";
2684
+ readonly accountChecks: {
2685
+ readonly active: "Default account active";
2686
+ readonly inactive: "Default account isn't active";
2687
+ readonly inactiveSecondary: (command: string | number) => string;
2688
+ readonly unableToDetermine: "Unable to determine if the portal is active";
2689
+ readonly pak: {
2690
+ readonly incomplete: "Personal access key is valid, but there are more scopes available to your user that are not included in your key.";
2691
+ readonly incompleteSecondary: (command: string | number, link: string | number) => string;
2692
+ readonly invalid: "Personal access key is invalid";
2693
+ readonly invalidSecondary: (command: string | number) => string;
2694
+ readonly valid: (link: string | number) => string;
2695
+ readonly viewScopes: "View selected scopes";
2696
+ };
2697
+ };
2698
+ readonly nodeChecks: {
2699
+ readonly unableToDetermine: "Unable to determine what version of node is installed";
2700
+ readonly minimumNotMet: (nodeVersion: string | number) => string;
2701
+ readonly success: (nodeVersion: string | number) => string;
2702
+ };
2703
+ readonly npmChecks: {
2704
+ readonly notInstalled: "npm is not installed";
2705
+ readonly installed: (npmVersion: string | number) => string;
2706
+ readonly unableToDetermine: "Unable to determine if npm is installed";
2707
+ };
2708
+ readonly hsChecks: {
2709
+ readonly notLatest: (hsVersion: string | number) => string;
2710
+ readonly notLatestSecondary: (command: string | number, hsVersion: string | number) => string;
2711
+ readonly latest: (hsVersion: string | number) => string;
2712
+ readonly unableToDetermine: "Unable to determine if HubSpot CLI is up to date.";
2713
+ readonly unableToDetermineSecondary: (command: string | number, link: string | number) => string;
2714
+ readonly unableToDetermineSecondaryLink: "npm HubSpot CLI version history";
2715
+ };
2716
+ readonly projectDependenciesChecks: {
2717
+ readonly missingDependencies: (dir: string | number) => string;
2718
+ readonly missingDependenciesSecondary: (command: string | number) => string;
2719
+ readonly unableToDetermine: (dir: string | number) => string;
2720
+ readonly success: "App dependencies are installed and up to date";
2721
+ };
2722
+ readonly files: {
2723
+ readonly invalidJson: (filename: string | number) => string;
2724
+ readonly validJson: "JSON files valid";
2725
+ };
2726
+ readonly port: {
2727
+ readonly inUse: (port: string | number) => string;
2728
+ readonly inUseSecondary: (command: string | number) => string;
2729
+ readonly available: (port: string | number) => string;
2730
+ };
2731
+ readonly diagnosis: {
2732
+ readonly cli: {
2733
+ readonly header: "HubSpot CLI install";
2734
+ };
2735
+ readonly cliConfig: {
2736
+ readonly header: "CLI configuration";
2737
+ readonly configFileSubHeader: (filename: string | number) => string;
2738
+ readonly defaultAccountSubHeader: (accountDetails: string | number) => string;
2739
+ readonly noConfigFile: "CLI configuration not found";
2740
+ readonly noConfigFileSecondary: (command: string | number) => string;
2741
+ };
2742
+ readonly projectConfig: {
2743
+ readonly header: "Project configuration";
2744
+ readonly projectDirSubHeader: (projectDir: string | number) => string;
2745
+ readonly projectNameSubHeader: (projectName: string | number) => string;
2746
+ };
2747
+ readonly counts: {
2748
+ readonly errors: (count: string | number) => string;
2749
+ readonly warnings: (count: string | number) => string;
2750
+ };
2751
+ };
2752
+ };
2753
+ readonly oauth: {
2754
+ readonly missingClientId: "Error building oauth URL: missing client ID.";
2755
+ };
2756
+ readonly migrate: {
2757
+ readonly componentsToBeMigrated: (components: string | number) => string;
2758
+ readonly componentsThatWillNotBeMigrated: (components: string | number) => string;
2759
+ readonly sourceContentsMoved: (newLocation: string) => string;
2760
+ readonly projectMigrationWarningTitle: "⚠️ Important: Migrating to platformVersion 2025.2 is irreversible ⚠️";
2761
+ readonly projectMigrationWarning: string;
2762
+ readonly errors: {
2763
+ readonly project: {
2764
+ readonly invalidConfig: "The project configuration file is invalid. Please check the config file and try again.";
2765
+ readonly doesNotExist: (account: number) => string;
2766
+ readonly multipleApps: "Multiple apps found in project, this is not allowed in 2025.2";
2767
+ readonly alreadyExists: (projectName: string | number) => string;
2768
+ };
2769
+ readonly unmigratableReasons: {
2770
+ readonly upToDate: "App is already up to date";
2771
+ readonly isPrivateApp: "Private apps are not currently migratable";
2772
+ readonly listedInMarketplace: "Listed apps are not currently migratable";
2773
+ readonly projectConnectedToGitHub: (projectName: string | undefined, accountId: number) => string;
2774
+ readonly partOfProjectAlready: `This app is part of a project, run ${string} from the project directory to migrate it`;
2775
+ readonly generic: (reasonCode: string | number) => string;
2776
+ };
2777
+ readonly noAppsEligible: (accountId: string | number, reasons: string[]) => string;
2778
+ readonly invalidAccountTypeTitle: string;
2779
+ readonly invalidAccountTypeDescription: (useCommand: string | number, authCommand: string | number) => string;
2780
+ readonly appWithAppIdNotFound: (appId: string | number) => string;
2781
+ readonly noAppsForProject: (projectName: string) => string;
2782
+ readonly migrationFailed: "Migration Failed";
2783
+ readonly notUngatedForUnifiedApps: (account: string | number) => string;
2784
+ };
2785
+ readonly prompt: {
2786
+ readonly chooseApp: "Which app would you like to migrate?";
2787
+ readonly inputName: "[--name] What would you like to name the project?";
2788
+ readonly inputDest: "[--dest] Where would you like to save the project?";
2789
+ readonly uidForComponent: (componentName: string | number) => string;
2790
+ readonly proceed: "Would you like to proceed?";
2791
+ };
2792
+ readonly spinners: {
2793
+ readonly beginningMigration: "Beginning migration";
2794
+ readonly unableToStartMigration: "Unable to begin migration";
2795
+ readonly finishingMigration: "Wrapping up migration";
2796
+ readonly migrationComplete: "Migration completed";
2797
+ readonly migrationFailed: "Migration failed";
2798
+ readonly downloadingProjectContents: "Downloading migrated project files";
2799
+ readonly downloadingProjectContentsComplete: "Migrated project files downloaded";
2800
+ readonly downloadingProjectContentsFailed: "Unable to download migrated project files";
2801
+ readonly copyingProjectFiles: "Copying migrated project files";
2802
+ readonly copyingProjectFilesComplete: "Migrated project files copied";
2803
+ readonly copyingProjectFilesFailed: "Unable to copy migrated project files";
2804
+ };
2805
+ };
2806
+ };