@hubspot/cli 4.2.1-beta.0 → 4.2.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +1 -1
- package/commands/accounts/list.js +1 -1
- package/commands/project/add.js +1 -1
- package/commands/project/dev.js +91 -26
- package/commands/project/listBuilds.js +4 -1
- package/commands/project/upload.js +3 -0
- package/commands/project/watch.js +3 -0
- package/commands/project.js +9 -6
- package/commands/sandbox/create.js +10 -1
- package/commands/sandbox/delete.js +7 -11
- package/lang/en.lyaml +46 -16
- package/lib/DevServerManager.js +112 -72
- package/lib/LocalDevManager.js +15 -15
- package/lib/LocalDevManagerV2.js +239 -0
- package/lib/SpinniesManager.js +3 -0
- package/lib/projectStructure.js +106 -0
- package/lib/projects.js +32 -3
- package/lib/ui.js +12 -0
- package/lib/usageTracking.js +57 -0
- package/package.json +6 -5
package/bin/cli.js
CHANGED
package/commands/project/add.js
CHANGED
|
@@ -11,7 +11,7 @@ const { loadAndValidateOptions } = require('../../lib/validation');
|
|
|
11
11
|
const i18nKey = 'cli.commands.project.subcommands.add';
|
|
12
12
|
|
|
13
13
|
exports.command = 'add';
|
|
14
|
-
exports.describe =
|
|
14
|
+
exports.describe = i18n(`${i18nKey}.describe`);
|
|
15
15
|
|
|
16
16
|
exports.handler = async options => {
|
|
17
17
|
await loadAndValidateOptions(options);
|
package/commands/project/dev.js
CHANGED
|
@@ -5,7 +5,10 @@ const {
|
|
|
5
5
|
addUseEnvironmentOptions,
|
|
6
6
|
addTestingOptions,
|
|
7
7
|
} = require('../../lib/commonOpts');
|
|
8
|
-
const {
|
|
8
|
+
const {
|
|
9
|
+
trackCommandUsage,
|
|
10
|
+
trackCommandMetadataUsage,
|
|
11
|
+
} = require('../../lib/usageTracking');
|
|
9
12
|
const { loadAndValidateOptions } = require('../../lib/validation');
|
|
10
13
|
const { i18n } = require('../../lib/lang');
|
|
11
14
|
const { logger } = require('@hubspot/cli-lib/logger');
|
|
@@ -17,9 +20,10 @@ const {
|
|
|
17
20
|
ensureProjectExists,
|
|
18
21
|
handleProjectUpload,
|
|
19
22
|
pollProjectBuildAndDeploy,
|
|
23
|
+
showPlatformVersionWarning,
|
|
20
24
|
} = require('../../lib/projects');
|
|
21
25
|
const { EXIT_CODES } = require('../../lib/enums/exitCodes');
|
|
22
|
-
const { uiAccountDescription, uiLine } = require('../../lib/ui');
|
|
26
|
+
const { uiAccountDescription, uiBetaMessage, uiLine } = require('../../lib/ui');
|
|
23
27
|
const { confirmPrompt } = require('../../lib/prompts/promptUtils');
|
|
24
28
|
const {
|
|
25
29
|
selectTargetAccountPrompt,
|
|
@@ -29,6 +33,7 @@ const {
|
|
|
29
33
|
LocalDevManager,
|
|
30
34
|
UPLOAD_PERMISSIONS,
|
|
31
35
|
} = require('../../lib/LocalDevManager');
|
|
36
|
+
const LocalDevManagerV2 = require('../../lib/LocalDevManagerV2');
|
|
32
37
|
const { isSandbox } = require('../../lib/sandboxes');
|
|
33
38
|
const { getAccountConfig, getEnv } = require('@hubspot/cli-lib');
|
|
34
39
|
const { sandboxNamePrompt } = require('../../lib/prompts/sandboxesPrompt');
|
|
@@ -38,7 +43,11 @@ const {
|
|
|
38
43
|
getAvailableSyncTypes,
|
|
39
44
|
} = require('../../lib/sandboxes');
|
|
40
45
|
const { getValidEnv } = require('@hubspot/cli-lib/lib/environment');
|
|
41
|
-
const {
|
|
46
|
+
const {
|
|
47
|
+
PROJECT_BUILD_TEXT,
|
|
48
|
+
PROJECT_DEPLOY_TEXT,
|
|
49
|
+
ERROR_TYPES,
|
|
50
|
+
} = require('@hubspot/cli-lib/lib/constants');
|
|
42
51
|
const {
|
|
43
52
|
logErrorInstance,
|
|
44
53
|
logApiErrorInstance,
|
|
@@ -55,7 +64,7 @@ const {
|
|
|
55
64
|
const i18nKey = 'cli.commands.project.subcommands.dev';
|
|
56
65
|
|
|
57
66
|
exports.command = 'dev [--account]';
|
|
58
|
-
exports.describe =
|
|
67
|
+
exports.describe = i18n(`${i18nKey}.describe`);
|
|
59
68
|
|
|
60
69
|
exports.handler = async options => {
|
|
61
70
|
await loadAndValidateOptions(options);
|
|
@@ -67,13 +76,15 @@ exports.handler = async options => {
|
|
|
67
76
|
|
|
68
77
|
const { projectConfig, projectDir } = await getProjectConfig();
|
|
69
78
|
|
|
70
|
-
|
|
79
|
+
uiBetaMessage(i18n(`${i18nKey}.logs.betaMessage`));
|
|
71
80
|
|
|
72
81
|
if (!projectConfig) {
|
|
73
82
|
logger.error(i18n(`${i18nKey}.errors.noProjectConfig`));
|
|
74
83
|
process.exit(EXIT_CODES.ERROR);
|
|
75
84
|
}
|
|
76
85
|
|
|
86
|
+
await showPlatformVersionWarning(accountId, projectConfig);
|
|
87
|
+
|
|
77
88
|
const accounts = getConfigAccounts();
|
|
78
89
|
let targetAccountId = options.account ? accountId : null;
|
|
79
90
|
let createNewSandbox = false;
|
|
@@ -124,6 +135,13 @@ exports.handler = async options => {
|
|
|
124
135
|
}
|
|
125
136
|
try {
|
|
126
137
|
const { name } = await sandboxNamePrompt(DEVELOPER_SANDBOX);
|
|
138
|
+
|
|
139
|
+
trackCommandMetadataUsage(
|
|
140
|
+
'sandbox-create',
|
|
141
|
+
{ step: 'project-dev' },
|
|
142
|
+
accountId
|
|
143
|
+
);
|
|
144
|
+
|
|
127
145
|
const { result } = await buildSandbox({
|
|
128
146
|
name,
|
|
129
147
|
type: DEVELOPER_SANDBOX,
|
|
@@ -171,12 +189,13 @@ exports.handler = async options => {
|
|
|
171
189
|
? UPLOAD_PERMISSIONS.manual
|
|
172
190
|
: UPLOAD_PERMISSIONS.always;
|
|
173
191
|
|
|
192
|
+
let deployedBuild;
|
|
193
|
+
|
|
174
194
|
if (projectExists) {
|
|
175
|
-
const
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
)
|
|
179
|
-
if (sourceIntegration) {
|
|
195
|
+
const project = await fetchProject(targetAccountId, projectConfig.name);
|
|
196
|
+
deployedBuild = project.deployedBuild;
|
|
197
|
+
|
|
198
|
+
if (options.local || options.localAll || project.sourceIntegration) {
|
|
180
199
|
uploadPermission = UPLOAD_PERMISSIONS.never;
|
|
181
200
|
}
|
|
182
201
|
}
|
|
@@ -253,6 +272,8 @@ exports.handler = async options => {
|
|
|
253
272
|
);
|
|
254
273
|
|
|
255
274
|
if (initialUploadResult.uploadError) {
|
|
275
|
+
SpinniesManager.fail('devModeSetup');
|
|
276
|
+
|
|
256
277
|
if (
|
|
257
278
|
isSpecifiedError(initialUploadResult.uploadError, {
|
|
258
279
|
subCategory: ERROR_TYPES.PROJECT_LOCKED,
|
|
@@ -274,22 +295,66 @@ exports.handler = async options => {
|
|
|
274
295
|
}
|
|
275
296
|
}
|
|
276
297
|
|
|
298
|
+
// Let the user know when the initial build or deploy fails
|
|
299
|
+
// Do this before starting the dev server for v2 behavior because we cannot
|
|
300
|
+
// run a server on a broken project
|
|
301
|
+
if (
|
|
302
|
+
(options.local || options.localAll) &&
|
|
303
|
+
initialUploadResult &&
|
|
304
|
+
!initialUploadResult.succeeded
|
|
305
|
+
) {
|
|
306
|
+
SpinniesManager.fail('devModeSetup');
|
|
307
|
+
|
|
308
|
+
let subTasks = [];
|
|
309
|
+
|
|
310
|
+
if (initialUploadResult.buildResult.status === 'FAILURE') {
|
|
311
|
+
subTasks =
|
|
312
|
+
initialUploadResult.buildResult[PROJECT_BUILD_TEXT.SUBTASK_KEY];
|
|
313
|
+
} else if (initialUploadResult.deployResult.status === 'FAILURE') {
|
|
314
|
+
subTasks =
|
|
315
|
+
initialUploadResult.deployResult[PROJECT_DEPLOY_TEXT.SUBTASK_KEY];
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
const failedSubTasks = subTasks.filter(task => task.status === 'FAILURE');
|
|
319
|
+
|
|
320
|
+
logger.log();
|
|
321
|
+
failedSubTasks.forEach(failedSubTask => {
|
|
322
|
+
console.log(failedSubTask.errorMessage);
|
|
323
|
+
});
|
|
324
|
+
logger.log();
|
|
325
|
+
|
|
326
|
+
process.exit(EXIT_CODES.ERROR);
|
|
327
|
+
}
|
|
328
|
+
|
|
277
329
|
SpinniesManager.remove('devModeSetup');
|
|
278
330
|
|
|
279
|
-
const LocalDev =
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
331
|
+
const LocalDev =
|
|
332
|
+
options.local || options.localAll
|
|
333
|
+
? new LocalDevManagerV2({
|
|
334
|
+
alpha: options.localAll,
|
|
335
|
+
debug: options.debug,
|
|
336
|
+
deployedBuild,
|
|
337
|
+
projectConfig,
|
|
338
|
+
projectDir,
|
|
339
|
+
targetAccountId,
|
|
340
|
+
})
|
|
341
|
+
: new LocalDevManager({
|
|
342
|
+
debug: options.debug,
|
|
343
|
+
projectConfig,
|
|
344
|
+
projectDir,
|
|
345
|
+
targetAccountId,
|
|
346
|
+
uploadPermission,
|
|
347
|
+
});
|
|
288
348
|
|
|
289
349
|
await LocalDev.start();
|
|
290
350
|
|
|
291
351
|
// Let the user know when the initial build or deploy fails
|
|
292
|
-
if (
|
|
352
|
+
if (
|
|
353
|
+
!options.local &&
|
|
354
|
+
!options.localAll &&
|
|
355
|
+
initialUploadResult &&
|
|
356
|
+
!initialUploadResult.succeeded
|
|
357
|
+
) {
|
|
293
358
|
if (initialUploadResult.buildResult.status === 'FAILURE') {
|
|
294
359
|
LocalDev.logBuildError(initialUploadResult.buildResult);
|
|
295
360
|
} else if (initialUploadResult.deployResult.status === 'FAILURE') {
|
|
@@ -306,15 +371,15 @@ exports.builder = yargs => {
|
|
|
306
371
|
addUseEnvironmentOptions(yargs, true);
|
|
307
372
|
addTestingOptions(yargs, true);
|
|
308
373
|
|
|
309
|
-
yargs.option('
|
|
310
|
-
describe: i18n(`${i18nKey}.options.
|
|
311
|
-
type: '
|
|
374
|
+
yargs.option('local', {
|
|
375
|
+
describe: i18n(`${i18nKey}.options.local.describe`),
|
|
376
|
+
type: 'boolean',
|
|
312
377
|
hidden: true,
|
|
313
378
|
});
|
|
314
379
|
|
|
315
|
-
yargs.option('
|
|
316
|
-
describe: i18n(`${i18nKey}.options.
|
|
317
|
-
type: '
|
|
380
|
+
yargs.option('local-all', {
|
|
381
|
+
describe: i18n(`${i18nKey}.options.localAll.describe`),
|
|
382
|
+
type: 'boolean',
|
|
318
383
|
hidden: true,
|
|
319
384
|
});
|
|
320
385
|
|
|
@@ -7,6 +7,7 @@ const {
|
|
|
7
7
|
addUseEnvironmentOptions,
|
|
8
8
|
} = require('../../lib/commonOpts');
|
|
9
9
|
const { trackCommandUsage } = require('../../lib/usageTracking');
|
|
10
|
+
const { i18n } = require('../../lib/lang');
|
|
10
11
|
const {
|
|
11
12
|
logApiErrorInstance,
|
|
12
13
|
ApiErrorContext,
|
|
@@ -31,8 +32,10 @@ const {
|
|
|
31
32
|
const moment = require('moment');
|
|
32
33
|
const { promptUser } = require('../../lib/prompts/promptUtils');
|
|
33
34
|
|
|
35
|
+
const i18nKey = 'cli.commands.project.subcommands.listBuilds';
|
|
36
|
+
|
|
34
37
|
exports.command = 'list-builds [path]';
|
|
35
|
-
exports.describe =
|
|
38
|
+
exports.describe = i18n(`${i18nKey}.describe`);
|
|
36
39
|
|
|
37
40
|
exports.handler = async options => {
|
|
38
41
|
await loadAndValidateOptions(options);
|
|
@@ -16,6 +16,7 @@ const {
|
|
|
16
16
|
logFeedbackMessage,
|
|
17
17
|
validateProjectConfig,
|
|
18
18
|
pollProjectBuildAndDeploy,
|
|
19
|
+
showPlatformVersionWarning,
|
|
19
20
|
} = require('../../lib/projects');
|
|
20
21
|
const { i18n } = require('../../lib/lang');
|
|
21
22
|
const { getAccountConfig } = require('@hubspot/cli-lib');
|
|
@@ -48,6 +49,8 @@ exports.handler = async options => {
|
|
|
48
49
|
|
|
49
50
|
validateProjectConfig(projectConfig, projectDir);
|
|
50
51
|
|
|
52
|
+
await showPlatformVersionWarning(accountId, projectConfig);
|
|
53
|
+
|
|
51
54
|
await ensureProjectExists(accountId, projectConfig.name, { forceCreate });
|
|
52
55
|
|
|
53
56
|
try {
|
|
@@ -21,6 +21,7 @@ const {
|
|
|
21
21
|
pollDeployStatus,
|
|
22
22
|
validateProjectConfig,
|
|
23
23
|
logFeedbackMessage,
|
|
24
|
+
showPlatformVersionWarning,
|
|
24
25
|
} = require('../../lib/projects');
|
|
25
26
|
const {
|
|
26
27
|
cancelStagedBuild,
|
|
@@ -97,6 +98,8 @@ exports.handler = async options => {
|
|
|
97
98
|
|
|
98
99
|
validateProjectConfig(projectConfig, projectDir);
|
|
99
100
|
|
|
101
|
+
await showPlatformVersionWarning(accountId, projectConfig);
|
|
102
|
+
|
|
100
103
|
await ensureProjectExists(accountId, projectConfig.name);
|
|
101
104
|
|
|
102
105
|
try {
|
package/commands/project.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const { addConfigOptions, addAccountOptions } = require('../lib/commonOpts');
|
|
2
|
+
const { i18n } = require('../lib/lang');
|
|
2
3
|
const deploy = require('./project/deploy');
|
|
3
4
|
const create = require('./project/create');
|
|
4
5
|
const upload = require('./project/upload');
|
|
@@ -10,24 +11,26 @@ const open = require('./project/open');
|
|
|
10
11
|
const dev = require('./project/dev');
|
|
11
12
|
const add = require('./project/add');
|
|
12
13
|
|
|
14
|
+
const i18nKey = 'cli.commands.project';
|
|
15
|
+
|
|
13
16
|
exports.command = 'project';
|
|
14
|
-
exports.describe =
|
|
17
|
+
exports.describe = i18n(`${i18nKey}.describe`);
|
|
15
18
|
|
|
16
19
|
exports.builder = yargs => {
|
|
17
20
|
addConfigOptions(yargs, true);
|
|
18
21
|
addAccountOptions(yargs, true);
|
|
19
22
|
|
|
20
23
|
// TODO: deploy must be updated
|
|
21
|
-
yargs.command(deploy).demandCommand(1, '');
|
|
22
24
|
yargs.command(create).demandCommand(0, '');
|
|
23
|
-
yargs.command(
|
|
25
|
+
yargs.command(add).demandCommand(0, '');
|
|
24
26
|
yargs.command(watch).demandCommand(0, '');
|
|
25
|
-
yargs.command(
|
|
27
|
+
yargs.command(dev).demandCommand(0, '');
|
|
28
|
+
yargs.command(upload).demandCommand(0, '');
|
|
29
|
+
yargs.command(deploy).demandCommand(1, '');
|
|
26
30
|
yargs.command(logs).demandCommand(1, '');
|
|
31
|
+
yargs.command(listBuilds).demandCommand(0, '');
|
|
27
32
|
yargs.command(download).demandCommand(0, '');
|
|
28
33
|
yargs.command(open).demandCommand(0, '');
|
|
29
|
-
yargs.command(dev).demandCommand(0, '');
|
|
30
|
-
yargs.command(add).demandCommand(0, '');
|
|
31
34
|
|
|
32
35
|
return yargs;
|
|
33
36
|
};
|
|
@@ -22,7 +22,10 @@ const {
|
|
|
22
22
|
} = require('../../lib/sandboxes');
|
|
23
23
|
const { getValidEnv } = require('@hubspot/cli-lib/lib/environment');
|
|
24
24
|
const { logger } = require('@hubspot/cli-lib/logger');
|
|
25
|
-
const {
|
|
25
|
+
const {
|
|
26
|
+
trackCommandUsage,
|
|
27
|
+
trackCommandMetadataUsage,
|
|
28
|
+
} = require('../../lib/usageTracking');
|
|
26
29
|
const {
|
|
27
30
|
sandboxTypePrompt,
|
|
28
31
|
sandboxNamePrompt,
|
|
@@ -153,6 +156,12 @@ exports.handler = async options => {
|
|
|
153
156
|
// Prompt user to sync assets after sandbox creation
|
|
154
157
|
const sandboxAccountConfig = getAccountConfig(result.sandbox.sandboxHubId);
|
|
155
158
|
const handleSyncSandbox = async syncTasks => {
|
|
159
|
+
// Send tracking event for secondary action, in this case a sandbox sync within the sandbox create flow
|
|
160
|
+
trackCommandMetadataUsage(
|
|
161
|
+
'sandbox-sync',
|
|
162
|
+
{ step: 'sandbox-create' },
|
|
163
|
+
result.sandbox.sandboxHubId
|
|
164
|
+
);
|
|
156
165
|
await syncSandbox({
|
|
157
166
|
accountConfig: sandboxAccountConfig,
|
|
158
167
|
parentAccountConfig: accountConfig,
|
|
@@ -168,19 +168,15 @@ exports.handler = async options => {
|
|
|
168
168
|
} catch (err) {
|
|
169
169
|
debugErrorAndContext(err);
|
|
170
170
|
|
|
171
|
-
if (err instanceof HubSpotAuthError) {
|
|
171
|
+
if (err instanceof HubSpotAuthError && err.statusCode === 401) {
|
|
172
172
|
// Intercept invalid key error
|
|
173
173
|
// This command uses the parent portal PAK to delete a sandbox, so we must specify which account needs a new key
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
account: getAccountName(parentAccount),
|
|
181
|
-
})
|
|
182
|
-
);
|
|
183
|
-
}
|
|
174
|
+
logger.log('');
|
|
175
|
+
logger.error(
|
|
176
|
+
i18n(`${i18nKey}.failure.invalidKey`, {
|
|
177
|
+
account: getAccountName(parentAccount),
|
|
178
|
+
})
|
|
179
|
+
);
|
|
184
180
|
} else if (
|
|
185
181
|
isSpecifiedError(err, {
|
|
186
182
|
statusCode: 403,
|
package/lang/en.lyaml
CHANGED
|
@@ -444,11 +444,12 @@ en:
|
|
|
444
444
|
describe: "Shortcut of the link you'd like to open"
|
|
445
445
|
selectLink: "Select a link to open"
|
|
446
446
|
project:
|
|
447
|
+
describe: "{{#bold}}[beta]{{/bold}} Commands for working with projects. For more information, visit our documentation: https://developers.hubspot.com/docs/platform/build-and-deploy-using-hubspot-projects"
|
|
447
448
|
subcommands:
|
|
448
449
|
dev:
|
|
449
|
-
describe: "Start local dev for the current project"
|
|
450
|
+
describe: "{{#bold}}[beta]{{/bold}} Start local dev for the current project"
|
|
450
451
|
logs:
|
|
451
|
-
betaMessage: "
|
|
452
|
+
betaMessage: "HubSpot projects local development"
|
|
452
453
|
nonSandboxWarning: "Testing in a sandbox is strongly recommended. To switch the target account, select an option below or run {{#bold}}`hs accounts use`{{/bold}} before running the command again."
|
|
453
454
|
placeholderAccountSelection: "Using default account as target account (for now)"
|
|
454
455
|
projectMustExistExplanation: "The project {{ projectName }} does not exist in the target account {{ accountIdentifier}}. This command requires the project to exist in the target account."
|
|
@@ -461,19 +462,18 @@ en:
|
|
|
461
462
|
startupMessage: "Starting local dev server for {{#bold}}{{ projectName }}{{/bold}} ..."
|
|
462
463
|
prompt:
|
|
463
464
|
createProject: "Create new project {{ projectName}} in {{#bold}}[{{ accountIdentifier }}]{{/bold}}?"
|
|
464
|
-
targetNonSandbox: "Continue testing in a non-sandbox account?"
|
|
465
465
|
options:
|
|
466
|
-
|
|
467
|
-
describe: "
|
|
468
|
-
|
|
469
|
-
describe: "
|
|
466
|
+
local:
|
|
467
|
+
describe: "Run the alpha version of this command with some local dev server functionality"
|
|
468
|
+
localAll:
|
|
469
|
+
describe: "Run the alpha version of this command with all local dev server functionality"
|
|
470
470
|
errors:
|
|
471
471
|
noProjectConfig: "No project detected. Please run this command again from a project directory."
|
|
472
472
|
projectLockedError: "Your project is locked. This may mean that another user is running the {{#bold}}`hs project dev`{{/bold}} command for this project. If this is you, unlock the project in Projects UI."
|
|
473
473
|
examples:
|
|
474
474
|
default: "Start local dev for the current project"
|
|
475
475
|
create:
|
|
476
|
-
describe: "Create a new project"
|
|
476
|
+
describe: "{{#bold}}[beta]{{/bold}} Create a new project"
|
|
477
477
|
logs:
|
|
478
478
|
welcomeMessage: "Welcome to HubSpot Developer Projects!"
|
|
479
479
|
examples:
|
|
@@ -488,7 +488,7 @@ en:
|
|
|
488
488
|
templateSource:
|
|
489
489
|
describe: "Path to custom GitHub repository from which to create project template"
|
|
490
490
|
add:
|
|
491
|
-
describe: "Create a new component within a project"
|
|
491
|
+
describe: "{{#bold}}[beta]{{/bold}} Create a new component within a project"
|
|
492
492
|
options:
|
|
493
493
|
name:
|
|
494
494
|
describe: "Component name"
|
|
@@ -503,7 +503,7 @@ en:
|
|
|
503
503
|
examples:
|
|
504
504
|
default: "Create a component within your project"
|
|
505
505
|
deploy:
|
|
506
|
-
describe: "Deploy a project build"
|
|
506
|
+
describe: "{{#bold}}[beta]{{/bold}} Deploy a project build"
|
|
507
507
|
debug:
|
|
508
508
|
deploying: "Deploying project at path: {{ path }}"
|
|
509
509
|
errors:
|
|
@@ -518,8 +518,10 @@ en:
|
|
|
518
518
|
describe: "Project build ID to be deployed"
|
|
519
519
|
project:
|
|
520
520
|
describe: "Project name"
|
|
521
|
+
listBuilds:
|
|
522
|
+
describe: "{{#bold}}[beta]{{/bold}} List the project's builds"
|
|
521
523
|
logs:
|
|
522
|
-
describe: "Get execution logs for a serverless function within a project"
|
|
524
|
+
describe: "{{#bold}}[beta]{{/bold}} Get execution logs for a serverless function within a project"
|
|
523
525
|
errors:
|
|
524
526
|
invalidAppName: "Could not find app with name \"{{ appName }}\" in project \"{{ projectName }}\""
|
|
525
527
|
logs:
|
|
@@ -554,7 +556,7 @@ en:
|
|
|
554
556
|
endpoint:
|
|
555
557
|
describe: "Public endpoint path"
|
|
556
558
|
upload:
|
|
557
|
-
describe: "Upload your project files and create a new build"
|
|
559
|
+
describe: "{{#bold}}[beta]{{/bold}} Upload your project files and create a new build"
|
|
558
560
|
examples:
|
|
559
561
|
default: "Upload a project"
|
|
560
562
|
logs:
|
|
@@ -572,7 +574,7 @@ en:
|
|
|
572
574
|
path:
|
|
573
575
|
describe: "Path to a project folder"
|
|
574
576
|
watch:
|
|
575
|
-
describe: "Watch your local project for changes and automatically upload changed files to a new build in HubSpot"
|
|
577
|
+
describe: "{{#bold}}[beta]{{/bold}} Watch your local project for changes and automatically upload changed files to a new build in HubSpot"
|
|
576
578
|
examples:
|
|
577
579
|
default: "Watch a project within the myProjectFolder folder"
|
|
578
580
|
logs:
|
|
@@ -584,7 +586,7 @@ en:
|
|
|
584
586
|
initialUpload:
|
|
585
587
|
describe: "Upload directory before watching for updates"
|
|
586
588
|
download:
|
|
587
|
-
describe: "Download your project files from HubSpot and write to a path on your computer"
|
|
589
|
+
describe: "{{#bold}}[beta]{{/bold}} Download your project files from HubSpot and write to a path on your computer"
|
|
588
590
|
examples:
|
|
589
591
|
default: "Download the project myProject into myProjectFolder folder"
|
|
590
592
|
logs:
|
|
@@ -601,7 +603,7 @@ en:
|
|
|
601
603
|
dest:
|
|
602
604
|
describe: "Destination folder for the project"
|
|
603
605
|
open:
|
|
604
|
-
describe: "Open
|
|
606
|
+
describe: "{{#bold}}[beta]{{/bold}} Open the specified project's details page in the browser"
|
|
605
607
|
options:
|
|
606
608
|
project:
|
|
607
609
|
describe: "Name of project to open"
|
|
@@ -850,6 +852,30 @@ en:
|
|
|
850
852
|
lib:
|
|
851
853
|
DevServerManager:
|
|
852
854
|
portConflict: "The port {{ port }} is already in use."
|
|
855
|
+
notInitialized: "The Dev Server Manager must be initialized before it is started."
|
|
856
|
+
noCompatibleComponents: "Skipping call to {{ serverKey }} because there are no compatible components in the project."
|
|
857
|
+
LocalDevManagerV2:
|
|
858
|
+
failedToInitialize: "Missing required arguments to initialize Local Dev"
|
|
859
|
+
noComponents: "There are no components in this project."
|
|
860
|
+
noRunnableComponents: "There are no components in this project that support local development."
|
|
861
|
+
betaMessage: "HubSpot projects local development"
|
|
862
|
+
running: "Running {{#bold}}{{ projectName }}{{/bold}} locally on {{ accountIdentifier }}, waiting for changes ..."
|
|
863
|
+
quitHelper: "Press {{#bold}}'q'{{/bold}} to stop the local dev server"
|
|
864
|
+
viewInHubSpotLink: "View in HubSpot"
|
|
865
|
+
exitingStart: "Stopping local dev server ..."
|
|
866
|
+
exitingSucceed: "Successfully exited"
|
|
867
|
+
exitingFail: "Failed to cleanup before exiting"
|
|
868
|
+
uploadWarning:
|
|
869
|
+
missingComponents: "Your deployed project does not contain the components {{#bold}}'{{ missingComponents }}'{{/bold}}. This may cause issues in local development."
|
|
870
|
+
header: "{{ reason }} To reflect these changes:"
|
|
871
|
+
stopDev: " * Stop {{#bold}}`hs project dev`{{/bold}}"
|
|
872
|
+
runUpload: " * Run {{#bold}}`hs project upload`{{/bold}}"
|
|
873
|
+
runUploadWithAccount: " * Run {{#bold}}`hs project upload --account={{ accountId }}`{{/bold}}"
|
|
874
|
+
restartDev: " * Re-run {{#bold}}`hs project dev`{{/bold}}"
|
|
875
|
+
devServer:
|
|
876
|
+
cleanupError: "Failed to cleanup local dev server: {{ message }}"
|
|
877
|
+
setupError: "Failed to setup local dev server: {{ message }}"
|
|
878
|
+
startError: "Failed to start local dev server: {{ message }}"
|
|
853
879
|
LocalDevManager:
|
|
854
880
|
failedToInitialize: "Missing required arguments to initialize Local Dev Manager"
|
|
855
881
|
exitingStart: "Stopping local dev server ..."
|
|
@@ -859,7 +885,7 @@ en:
|
|
|
859
885
|
cancelledFromUI: "The dev process has been cancelled from the UI. Any changes made since cancelling have not been uploaded. To resume dev mode, rerun {{#yellow}}`hs project dev`{{/yellow}}."
|
|
860
886
|
header:
|
|
861
887
|
betaMessage: "{{#yellow}}{{#bold}}[beta]{{/bold}}{{/yellow}} HubSpot projects local development"
|
|
862
|
-
running: "Running {{ projectName}} locally on {{ accountIdentifier }}, waiting for changes ..."
|
|
888
|
+
running: "Running {{#bold}}{{ projectName }}{{/bold}} locally on {{ accountIdentifier }}, waiting for changes ..."
|
|
863
889
|
quitHelper: "Press {{#bold}}'q'{{/bold}} to stop the local dev server"
|
|
864
890
|
viewInHubSpotLink: "View in HubSpot"
|
|
865
891
|
status:
|
|
@@ -915,7 +941,11 @@ en:
|
|
|
915
941
|
logFeedbackMessage:
|
|
916
942
|
feedbackHeader: "We'd love to hear your feedback!"
|
|
917
943
|
feedbackMessage: "How are you liking the new projects and developer tools? \n > Run `{{#yellow}}hs feedback{{/yellow}}` to let us know what you think!\n"
|
|
944
|
+
showPlatformVersionWarning:
|
|
945
|
+
noPlatformVersion: "No platformVersion found in hsproject.json. Falling back to version \"{{ defaultVersion }}\"."
|
|
946
|
+
noPlatformVersionAlt: "No platformVersion found in hsproject.json. Falling back to default version."
|
|
918
947
|
ui:
|
|
948
|
+
betaTag: "{{#bold}}[beta]{{/bold}}"
|
|
919
949
|
betaWarning:
|
|
920
950
|
header: "{{#yellow}}***************************** WARNING ****************************{{/yellow}}"
|
|
921
951
|
footer: "{{#yellow}}******************************************************************{{/yellow}}"
|