@hubspot/cli 8.2.0-experimental.2 โ 8.2.1-experimental.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/commands/account/clean.js +1 -1
- package/commands/account/list.js +1 -1
- package/commands/account/remove.js +1 -1
- package/commands/account/rename.js +1 -1
- package/commands/account/use.js +1 -1
- package/commands/api.d.ts +4 -1
- package/commands/api.js +11 -14
- package/commands/config/set.js +24 -5
- package/commands/customObject/createSchema.js +2 -3
- package/commands/customObject/updateSchema.js +2 -3
- package/commands/getStarted.js +1 -0
- package/commands/hubdb/list.d.ts +1 -1
- package/commands/hubdb/list.js +7 -8
- package/commands/mcp/setup.d.ts +2 -0
- package/commands/mcp/setup.js +29 -1
- package/commands/project/appInstallStatus.d.ts +2 -1
- package/commands/project/appInstallStatus.js +21 -19
- package/commands/project/create.js +0 -1
- package/commands/project/deploy.d.ts +2 -1
- package/commands/project/deploy.js +31 -14
- package/commands/project/dev/index.js +18 -64
- package/commands/project/dev/unifiedFlow.js +3 -1
- package/commands/project/info.d.ts +2 -1
- package/commands/project/info.js +8 -6
- package/commands/project/installApp.d.ts +2 -1
- package/commands/project/installApp.js +26 -27
- package/commands/project/list.js +1 -1
- package/commands/project/listBuilds.d.ts +1 -1
- package/commands/project/listBuilds.js +8 -6
- package/commands/project/logs.js +2 -4
- package/commands/project/profile/add.d.ts +2 -1
- package/commands/project/profile/add.js +22 -1
- package/commands/project/profile/delete.d.ts +1 -1
- package/commands/project/release/create.d.ts +2 -1
- package/commands/project/release/create.js +68 -69
- package/commands/project/release/info.d.ts +2 -1
- package/commands/project/release/info.js +7 -6
- package/commands/project/release/list.d.ts +2 -1
- package/commands/project/release/list.js +15 -7
- package/commands/project/upload.d.ts +4 -1
- package/commands/project/upload.js +48 -21
- package/commands/project/validate.d.ts +1 -1
- package/commands/project/watch.js +3 -2
- package/commands/project.js +2 -2
- package/commands/sandbox/delete.js +2 -3
- package/commands/testAccount/create.d.ts +2 -1
- package/commands/testAccount/create.js +7 -7
- package/commands/testAccount/importData.d.ts +1 -1
- package/lang/en.d.ts +61 -33
- package/lang/en.js +77 -48
- package/lib/app/urls.js +2 -3
- package/lib/commonOpts.js +6 -1
- package/lib/configOptions.d.ts +10 -10
- package/lib/configOptions.js +10 -11
- package/lib/constants.d.ts +2 -0
- package/lib/constants.js +2 -0
- package/lib/dependencyManagement.js +7 -7
- package/lib/getStartedV2Actions.js +2 -1
- package/lib/importData.js +3 -4
- package/lib/jsonOutput.d.ts +109 -0
- package/lib/jsonOutput.js +94 -0
- package/lib/links.js +6 -5
- package/lib/mcp/clients.d.ts +1 -1
- package/lib/mcp/clients.js +8 -1
- package/lib/mcp/setup.d.ts +9 -4
- package/lib/mcp/setup.js +115 -35
- package/lib/npm/npmCli.d.ts +1 -0
- package/lib/npm/npmCli.js +13 -0
- package/lib/projects/builds.d.ts +2 -0
- package/lib/projects/builds.js +22 -0
- package/lib/projects/create/v2.js +1 -0
- package/lib/projects/installApp.d.ts +1 -1
- package/lib/projects/installApp.js +8 -3
- package/lib/projects/localDev/DevSessionManager.d.ts +2 -2
- package/lib/projects/localDev/DevSessionManager.js +4 -30
- package/lib/projects/localDev/LocalDevProcess.js +7 -5
- package/lib/projects/localDev/helpers/account.d.ts +0 -7
- package/lib/projects/localDev/helpers/account.js +1 -80
- package/lib/projects/localDev/helpers/project.js +3 -2
- package/lib/projects/release.d.ts +4 -0
- package/lib/projects/release.js +90 -0
- package/lib/projects/ui.d.ts +1 -0
- package/lib/projects/ui.js +14 -0
- package/lib/projects/upload.d.ts +10 -2
- package/lib/projects/upload.js +14 -7
- package/lib/projects/urls.d.ts +0 -1
- package/lib/projects/urls.js +6 -13
- package/lib/yargs/makeWrappedYargsHandler.d.ts +5 -1
- package/lib/yargs/makeWrappedYargsHandler.js +123 -65
- package/mcp-server/Tool.d.ts +8 -3
- package/mcp-server/Tool.js +58 -32
- package/mcp-server/server.js +10 -6
- package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +2 -2
- package/mcp-server/tools/cms/HsCreateFunctionTool.js +10 -17
- package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +2 -2
- package/mcp-server/tools/cms/HsCreateModuleTool.js +12 -18
- package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +2 -2
- package/mcp-server/tools/cms/HsCreateTemplateTool.js +8 -10
- package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +2 -2
- package/mcp-server/tools/cms/HsFunctionLogsTool.js +9 -9
- package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +2 -2
- package/mcp-server/tools/cms/HsListFunctionsTool.js +7 -7
- package/mcp-server/tools/cms/HsListTool.d.ts +2 -2
- package/mcp-server/tools/cms/HsListTool.js +6 -10
- package/mcp-server/tools/index.js +2 -0
- package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +3 -2
- package/mcp-server/tools/project/AddFeatureToProjectTool.js +8 -9
- package/mcp-server/tools/project/AuthAccountTool.d.ts +18 -0
- package/mcp-server/tools/project/AuthAccountTool.js +78 -0
- package/mcp-server/tools/project/CreateProjectTool.d.ts +3 -2
- package/mcp-server/tools/project/CreateProjectTool.js +13 -12
- package/mcp-server/tools/project/CreateTestAccountTool.d.ts +2 -2
- package/mcp-server/tools/project/CreateTestAccountTool.js +14 -15
- package/mcp-server/tools/project/DeployProjectTool.d.ts +2 -2
- package/mcp-server/tools/project/DeployProjectTool.js +10 -10
- package/mcp-server/tools/project/DocFetchTool.js +1 -1
- package/mcp-server/tools/project/DocsSearchTool.js +8 -7
- package/mcp-server/tools/project/FindProjectsTool.js +1 -1
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +2 -1
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +9 -8
- package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +2 -1
- package/mcp-server/tools/project/GetApplicationInfoTool.js +12 -9
- package/mcp-server/tools/project/GetBuildLogsTool.js +11 -7
- package/mcp-server/tools/project/GetBuildStatusTool.js +11 -7
- package/mcp-server/tools/project/GetConfigValuesTool.d.ts +2 -1
- package/mcp-server/tools/project/GetConfigValuesTool.js +9 -7
- package/mcp-server/tools/project/GuidedWalkthroughTool.js +1 -1
- package/mcp-server/tools/project/UploadProjectTools.d.ts +2 -2
- package/mcp-server/tools/project/UploadProjectTools.js +9 -8
- package/mcp-server/tools/project/ValidateProjectTool.d.ts +2 -2
- package/mcp-server/tools/project/ValidateProjectTool.js +5 -4
- package/mcp-server/tools/project/constants.d.ts +1 -0
- package/mcp-server/tools/project/constants.js +2 -1
- package/mcp-server/utils/command.d.ts +25 -2
- package/mcp-server/utils/command.js +67 -17
- package/mcp-server/utils/config.js +5 -0
- package/mcp-server/utils/logger.d.ts +3 -0
- package/mcp-server/utils/logger.js +30 -0
- package/mcp-server/utils/toolUsageTracking.js +18 -3
- package/package.json +11 -9
- package/types/Yargs.d.ts +3 -1
- package/commands/project/dev/deprecatedFlow.d.ts +0 -11
- package/commands/project/dev/deprecatedFlow.js +0 -180
- package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +0 -43
- package/lib/projects/localDev/DevServerManager_DEPRECATED.js +0 -128
- package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +0 -64
- package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +0 -394
package/lang/en.d.ts
CHANGED
|
@@ -1325,16 +1325,25 @@ export declare const commands: {
|
|
|
1325
1325
|
codex: string;
|
|
1326
1326
|
claudeCode: string;
|
|
1327
1327
|
cursor: string;
|
|
1328
|
+
devin: string;
|
|
1328
1329
|
gemini: string;
|
|
1329
|
-
|
|
1330
|
+
opencode: string;
|
|
1330
1331
|
vsCode: string;
|
|
1332
|
+
other: string;
|
|
1331
1333
|
args: {
|
|
1332
1334
|
client: string;
|
|
1335
|
+
standalone: string;
|
|
1336
|
+
cliVersion: string;
|
|
1333
1337
|
docsSearch: string;
|
|
1334
1338
|
};
|
|
1339
|
+
examples: {
|
|
1340
|
+
nonInteractive: string;
|
|
1341
|
+
standalone: string;
|
|
1342
|
+
};
|
|
1335
1343
|
success: (derivedTargets: string[]) => string;
|
|
1336
1344
|
errors: {
|
|
1337
1345
|
errorParsingJsonFIle: (filename: string, errorMessage: string) => string;
|
|
1346
|
+
cliVersionRequiresStandalone: string;
|
|
1338
1347
|
};
|
|
1339
1348
|
spinners: {
|
|
1340
1349
|
failedToConfigure: string;
|
|
@@ -1355,15 +1364,25 @@ export declare const commands: {
|
|
|
1355
1364
|
geminiNotFound: string;
|
|
1356
1365
|
geminiInstallFailed: string;
|
|
1357
1366
|
alreadyInstalled: string;
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1367
|
+
configuringDevin: string;
|
|
1368
|
+
devinNotFound: string;
|
|
1369
|
+
failedToConfigureDevin: string;
|
|
1370
|
+
configuredDevin: string;
|
|
1371
|
+
configuringOpenCode: string;
|
|
1372
|
+
openCodeNotFound: string;
|
|
1373
|
+
openCodeInstallFailed: string;
|
|
1374
|
+
configuredOpenCode: string;
|
|
1362
1375
|
configuringVsCode: string;
|
|
1363
1376
|
failedToConfigureVsCode: string;
|
|
1364
1377
|
configuredVsCode: string;
|
|
1365
1378
|
vsCodeNotFound: string;
|
|
1366
1379
|
};
|
|
1380
|
+
otherInstructions: {
|
|
1381
|
+
header: string;
|
|
1382
|
+
docsNote: string;
|
|
1383
|
+
commandLabel: string;
|
|
1384
|
+
jsonLabel: string;
|
|
1385
|
+
};
|
|
1367
1386
|
prompts: {
|
|
1368
1387
|
targets: string;
|
|
1369
1388
|
targetsRequired: string;
|
|
@@ -1429,6 +1448,7 @@ export declare const commands: {
|
|
|
1429
1448
|
describe: string;
|
|
1430
1449
|
verboseDescribe: string;
|
|
1431
1450
|
example: string;
|
|
1451
|
+
exampleCopyFrom: string;
|
|
1432
1452
|
logs: {
|
|
1433
1453
|
copyExistingProfile: (profileName: string) => string;
|
|
1434
1454
|
copyExistingProfiles: string;
|
|
@@ -1452,6 +1472,7 @@ export declare const commands: {
|
|
|
1452
1472
|
invalidTargetAccount: string;
|
|
1453
1473
|
noAccountsConfigured: string;
|
|
1454
1474
|
failedToLoadProfile: (profileName: string) => string;
|
|
1475
|
+
copyFromProfileNotFound: (profileName: string) => string;
|
|
1455
1476
|
failedToCreateProfile: string;
|
|
1456
1477
|
};
|
|
1457
1478
|
positionals: {
|
|
@@ -1459,6 +1480,7 @@ export declare const commands: {
|
|
|
1459
1480
|
};
|
|
1460
1481
|
options: {
|
|
1461
1482
|
targetAccount: string;
|
|
1483
|
+
copyFrom: string;
|
|
1462
1484
|
};
|
|
1463
1485
|
};
|
|
1464
1486
|
delete: {
|
|
@@ -1493,26 +1515,19 @@ export declare const commands: {
|
|
|
1493
1515
|
describe: string;
|
|
1494
1516
|
logs: {
|
|
1495
1517
|
header: string;
|
|
1496
|
-
placeholderAccountSelection: string;
|
|
1497
|
-
accountTypeInformation: string;
|
|
1498
1518
|
learnMoreMessageV2: string;
|
|
1499
|
-
learnMoreMessageLegacy: string;
|
|
1500
1519
|
profileProjectAccountExplanation: (accountId: number, profileName: string) => string;
|
|
1501
1520
|
defaultProjectAccountExplanation: (accountId: number) => string;
|
|
1502
1521
|
projectAccountFlagExplanation: (accountId: number) => string;
|
|
1503
|
-
accountFlagExplanation: (accountId: number) => string;
|
|
1504
1522
|
defaultSandboxOrDevTestTestingAccountExplanation: (accountId: number) => string;
|
|
1505
1523
|
testingAccountFlagExplanation: (accountId: number) => string;
|
|
1506
1524
|
};
|
|
1507
1525
|
errors: {
|
|
1508
1526
|
noProjectConfig: string;
|
|
1509
1527
|
noAccount: (accountId: number) => string;
|
|
1510
|
-
|
|
1511
|
-
invalidProjectComponents: string;
|
|
1528
|
+
unsupportedPlatformVersion: (platformVersion: string) => string;
|
|
1512
1529
|
noRunnableComponents: string;
|
|
1513
1530
|
accountNotCombined: string;
|
|
1514
|
-
unsupportedAccountFlagLegacy: string;
|
|
1515
|
-
unsupportedAccountFlagV2: string;
|
|
1516
1531
|
localDevAlreadyRunning: string;
|
|
1517
1532
|
};
|
|
1518
1533
|
examples: {
|
|
@@ -1525,7 +1540,6 @@ export declare const commands: {
|
|
|
1525
1540
|
profile: string;
|
|
1526
1541
|
projectAccount: string;
|
|
1527
1542
|
testingAccount: string;
|
|
1528
|
-
account: string;
|
|
1529
1543
|
port: string;
|
|
1530
1544
|
};
|
|
1531
1545
|
};
|
|
@@ -1713,7 +1727,9 @@ export declare const commands: {
|
|
|
1713
1727
|
errors: {
|
|
1714
1728
|
deploy: string;
|
|
1715
1729
|
noBuilds: string;
|
|
1730
|
+
noSuccessfulBuilds: string;
|
|
1716
1731
|
noBuildId: string;
|
|
1732
|
+
notSupportedForBuildVersion: string;
|
|
1717
1733
|
projectNotFound: (accountId: number, projectName: string) => string;
|
|
1718
1734
|
buildIdDoesNotExist: (accountId: number, buildId: number, projectName: string) => string;
|
|
1719
1735
|
buildAlreadyDeployed: (accountId: number, buildId: number, projectName: string) => string;
|
|
@@ -1744,11 +1760,20 @@ export declare const commands: {
|
|
|
1744
1760
|
confirmPrompt: (projectName: string, buildId: number) => string;
|
|
1745
1761
|
success: (releaseTag: string, buildId: number) => string;
|
|
1746
1762
|
cancelled: string;
|
|
1763
|
+
buildIdPrompt: string;
|
|
1764
|
+
noUploadMessage: string;
|
|
1765
|
+
buildStatus: {
|
|
1766
|
+
BUILDING: string;
|
|
1767
|
+
FAILURE: string;
|
|
1768
|
+
PENDING: string;
|
|
1769
|
+
PREPARING: string;
|
|
1770
|
+
};
|
|
1771
|
+
uploadPrompt: (projectName: string) => string;
|
|
1747
1772
|
errors: {
|
|
1748
1773
|
projectNotFound: (accountId: number, projectName: string) => string;
|
|
1749
|
-
noDeployedBuild: string;
|
|
1750
1774
|
buildNotFound: (buildId: number, projectName: string) => string;
|
|
1751
|
-
|
|
1775
|
+
noSuccessfulBuilds: (projectName: string) => string;
|
|
1776
|
+
incompatibleBuildVersion: string;
|
|
1752
1777
|
};
|
|
1753
1778
|
options: {
|
|
1754
1779
|
build: string;
|
|
@@ -1876,10 +1901,13 @@ export declare const commands: {
|
|
|
1876
1901
|
withPreview: string;
|
|
1877
1902
|
};
|
|
1878
1903
|
logs: {
|
|
1904
|
+
forceCreateDeprecated: string;
|
|
1879
1905
|
buildSucceeded: (buildId: number) => string;
|
|
1880
1906
|
readyToGoLive: string;
|
|
1881
1907
|
runCommand: (command: string) => string;
|
|
1882
1908
|
autoDeployDisabled: (deployCommand: string) => string;
|
|
1909
|
+
autoDeploySkipped: (deployCommand: string) => string;
|
|
1910
|
+
releaseManagementRequired: (releaseCommand: string) => string;
|
|
1883
1911
|
};
|
|
1884
1912
|
errors: {
|
|
1885
1913
|
noProjectConfig: string;
|
|
@@ -1888,6 +1916,9 @@ export declare const commands: {
|
|
|
1888
1916
|
targetRequiresPreview: string;
|
|
1889
1917
|
};
|
|
1890
1918
|
options: {
|
|
1919
|
+
force: {
|
|
1920
|
+
describe: string;
|
|
1921
|
+
};
|
|
1891
1922
|
forceCreate: {
|
|
1892
1923
|
describe: string;
|
|
1893
1924
|
};
|
|
@@ -1900,6 +1931,9 @@ export declare const commands: {
|
|
|
1900
1931
|
skipNpmAudit: {
|
|
1901
1932
|
describe: string;
|
|
1902
1933
|
};
|
|
1934
|
+
skipAutoDeploy: {
|
|
1935
|
+
describe: string;
|
|
1936
|
+
};
|
|
1903
1937
|
preview: {
|
|
1904
1938
|
describe: string;
|
|
1905
1939
|
};
|
|
@@ -3324,6 +3358,10 @@ export declare const lib: {
|
|
|
3324
3358
|
handlerLogFile: {
|
|
3325
3359
|
saved: (filePath: string) => string;
|
|
3326
3360
|
};
|
|
3361
|
+
jsonSchema: {
|
|
3362
|
+
noSchemaForCommand: string;
|
|
3363
|
+
validationFailed: string;
|
|
3364
|
+
};
|
|
3327
3365
|
DevServerManager: {
|
|
3328
3366
|
portConflict: (port: string) => string;
|
|
3329
3367
|
notInitialized: string;
|
|
@@ -3469,19 +3507,6 @@ export declare const lib: {
|
|
|
3469
3507
|
};
|
|
3470
3508
|
};
|
|
3471
3509
|
account: {
|
|
3472
|
-
checkIfDefaultAccountIsSupported: {
|
|
3473
|
-
publicApp: string;
|
|
3474
|
-
privateApp: string;
|
|
3475
|
-
};
|
|
3476
|
-
validateAccountOption: {
|
|
3477
|
-
invalidPublicAppAccount: string;
|
|
3478
|
-
invalidPrivateAppAccount: string;
|
|
3479
|
-
nonSandboxWarning: string;
|
|
3480
|
-
publicAppNonDeveloperTestAccountWarning: string;
|
|
3481
|
-
};
|
|
3482
|
-
checkIfParentAccountIsAuthed: {
|
|
3483
|
-
notAuthedError: (parentAccountId: number | string, accountIdentifier: string) => string;
|
|
3484
|
-
};
|
|
3485
3510
|
selectAccountTypePrompt: {
|
|
3486
3511
|
message: string;
|
|
3487
3512
|
developerTestAccountOption: string;
|
|
@@ -3489,10 +3514,7 @@ export declare const lib: {
|
|
|
3489
3514
|
sandboxAccountOptionDisabled: string;
|
|
3490
3515
|
productionAccountOption: (accountId?: number) => string;
|
|
3491
3516
|
};
|
|
3492
|
-
|
|
3493
|
-
configError: string;
|
|
3494
|
-
declineDefaultAccountExplanation: string;
|
|
3495
|
-
};
|
|
3517
|
+
declineDefaultAccountExplanation: string;
|
|
3496
3518
|
};
|
|
3497
3519
|
};
|
|
3498
3520
|
middleware: {
|
|
@@ -3582,6 +3604,11 @@ export declare const lib: {
|
|
|
3582
3604
|
feedbackHeader: string;
|
|
3583
3605
|
feedbackMessage: string;
|
|
3584
3606
|
};
|
|
3607
|
+
skippedHsMetaFiles: {
|
|
3608
|
+
warning: (files: string[]) => string;
|
|
3609
|
+
uploadWarning: (files: string[]) => string;
|
|
3610
|
+
prompt: string;
|
|
3611
|
+
};
|
|
3585
3612
|
components: {
|
|
3586
3613
|
unableToGetUidFromHsmeta: string;
|
|
3587
3614
|
buildSuccessMessage: {
|
|
@@ -3810,6 +3837,7 @@ export declare const lib: {
|
|
|
3810
3837
|
qa: string;
|
|
3811
3838
|
useEnv: string;
|
|
3812
3839
|
jsonOutput: string;
|
|
3840
|
+
jsonSchema: string;
|
|
3813
3841
|
debug: string;
|
|
3814
3842
|
};
|
|
3815
3843
|
};
|
package/lang/en.js
CHANGED
|
@@ -4,7 +4,7 @@ import { PLATFORM_VERSIONS } from '@hubspot/project-parsing-lib/constants';
|
|
|
4
4
|
import { PERSONAL_ACCESS_KEY_AUTH_METHOD } from '@hubspot/local-dev-lib/constants/auth';
|
|
5
5
|
import { APP_AUTH_TYPES, APP_DISTRIBUTION_TYPES, LEGACY_PUBLIC_APP_FILE, LOCAL_DEV_DEFAULT_PORT, PROJECT_CONFIG_FILE, PROJECT_WITH_APP, } from '../lib/constants.js';
|
|
6
6
|
import { ARCHIVED_HUBSPOT_CONFIG_YAML_FILE_NAME, DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME, GLOBAL_CONFIG_PATH, } from '@hubspot/local-dev-lib/constants/config';
|
|
7
|
-
import { indent, UI_COLORS, uiAccountDescription, uiAuthCommandReference, uiBetaTag, uiCommandReference, uiLink, } from '../lib/ui/index.js';
|
|
7
|
+
import { indent, UI_COLORS, uiAccountDescription, uiAuthCommandReference, uiBetaTag, uiCommandReference, uiDeprecatedTag, uiLink, } from '../lib/ui/index.js';
|
|
8
8
|
import { getLocalDevUiUrl, getProjectDetailUrl, getProjectSettingsUrl, } from '../lib/projects/urls.js';
|
|
9
9
|
import { getProductUpdatesUrl } from '../lib/links.js';
|
|
10
10
|
export const commands = {
|
|
@@ -1334,16 +1334,25 @@ export const commands = {
|
|
|
1334
1334
|
codex: 'Codex CLI',
|
|
1335
1335
|
claudeCode: 'Claude Code',
|
|
1336
1336
|
cursor: 'Cursor',
|
|
1337
|
+
devin: 'Devin',
|
|
1337
1338
|
gemini: 'Gemini CLI',
|
|
1338
|
-
|
|
1339
|
+
opencode: 'OpenCode',
|
|
1339
1340
|
vsCode: 'VSCode',
|
|
1341
|
+
other: 'Other (manual setup)',
|
|
1340
1342
|
args: {
|
|
1341
1343
|
client: 'Target apps to configure',
|
|
1344
|
+
standalone: 'Use npx for all of the hs commands run by the MCP server. This allows you to use the MCP server without having the CLI globally installed.',
|
|
1345
|
+
cliVersion: 'Pin a specific CLI version for standalone mode',
|
|
1342
1346
|
docsSearch: 'Should the docs search mcp server be installed',
|
|
1343
1347
|
},
|
|
1348
|
+
examples: {
|
|
1349
|
+
nonInteractive: 'Configure Claude Code without prompts',
|
|
1350
|
+
standalone: 'Configure Cursor in standalone mode with a pinned CLI version',
|
|
1351
|
+
},
|
|
1344
1352
|
success: (derivedTargets) => `You can now use the HubSpot CLI MCP Server in ${derivedTargets.join(', ')}. ${chalk.bold('You may need to restart these tools to apply the changes')}.`,
|
|
1345
1353
|
errors: {
|
|
1346
1354
|
errorParsingJsonFIle: (filename, errorMessage) => `Unable to update ${chalk.bold(filename)} due to invalid JSON: ${errorMessage}`,
|
|
1355
|
+
cliVersionRequiresStandalone: '`--cli-version` requires `--standalone`. Pass `--standalone` to use a specific CLI version.',
|
|
1347
1356
|
},
|
|
1348
1357
|
spinners: {
|
|
1349
1358
|
failedToConfigure: 'Failed to configure the HubSpot mcp server.',
|
|
@@ -1368,17 +1377,28 @@ export const commands = {
|
|
|
1368
1377
|
geminiNotFound: "Gemini CLI is not installed (missing 'gemini' command). Install it and re-run hs mcp setup.",
|
|
1369
1378
|
geminiInstallFailed: 'Failed to configure Gemini CLI',
|
|
1370
1379
|
alreadyInstalled: 'HubSpot CLI mcp server already installed, reinstalling',
|
|
1371
|
-
//
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1380
|
+
// Devin
|
|
1381
|
+
configuringDevin: 'Configuring Devin...',
|
|
1382
|
+
devinNotFound: 'Devin is not installed. Install it and re-run hs mcp setup.',
|
|
1383
|
+
failedToConfigureDevin: 'Failed to configure Devin',
|
|
1384
|
+
configuredDevin: 'Configured Devin',
|
|
1385
|
+
// OpenCode
|
|
1386
|
+
configuringOpenCode: 'Configuring OpenCode...',
|
|
1387
|
+
openCodeNotFound: "OpenCode is not installed (missing 'opencode' command). Install it and re-run hs mcp setup.",
|
|
1388
|
+
openCodeInstallFailed: 'Failed to configure OpenCode',
|
|
1389
|
+
configuredOpenCode: 'Configured OpenCode',
|
|
1376
1390
|
// VS Code
|
|
1377
1391
|
configuringVsCode: 'Configuring VSCode...',
|
|
1378
1392
|
failedToConfigureVsCode: 'Failed to configure VSCode',
|
|
1379
1393
|
configuredVsCode: 'Configured VSCode',
|
|
1380
1394
|
vsCodeNotFound: "VSCode CLI is not installed (missing 'code' command). Install it and re-run hs mcp setup.",
|
|
1381
1395
|
},
|
|
1396
|
+
otherInstructions: {
|
|
1397
|
+
header: 'To connect the HubSpot MCP server to another tool, add the following MCP server configuration.',
|
|
1398
|
+
docsNote: "Each tool handles MCP setup differently. Check your tool's documentation for how to add an MCP server using a command or JSON config.",
|
|
1399
|
+
commandLabel: 'Command:',
|
|
1400
|
+
jsonLabel: 'JSON configuration (for tools that use a config file):',
|
|
1401
|
+
},
|
|
1382
1402
|
prompts: {
|
|
1383
1403
|
targets: '[--client] Which tools would you like to add the HubSpot CLI MCP server to?',
|
|
1384
1404
|
targetsRequired: 'Must choose at least one app to configure.',
|
|
@@ -1444,6 +1464,7 @@ export const commands = {
|
|
|
1444
1464
|
describe: 'Add a new project profile',
|
|
1445
1465
|
verboseDescribe: `Add a new project profile\n\nProfiles enable you to reference variables in your component configuration files. Use the syntax ${chalk.bold('\${VARIABLE_NAME}')} to reference profile variables in your component configuration files. Then target the profile using the ${uiCommandReference('--profile')} flag when you upload your project.`,
|
|
1446
1466
|
example: 'Add a new project profile named hsprofile.qa.json',
|
|
1467
|
+
exampleCopyFrom: 'Add a profile and copy variables from the staging profile',
|
|
1447
1468
|
logs: {
|
|
1448
1469
|
copyExistingProfile: (profileName) => `Found an existing profile. We can copy the variables from ${chalk.bold(profileName)} into your new profile.`,
|
|
1449
1470
|
copyExistingProfiles: 'We can copy the variables from one of your existing profiles into your new profile.',
|
|
@@ -1467,6 +1488,7 @@ export const commands = {
|
|
|
1467
1488
|
invalidTargetAccount: 'Target account is not configured in the CLI',
|
|
1468
1489
|
noAccountsConfigured: 'No accounts configured in the CLI',
|
|
1469
1490
|
failedToLoadProfile: (profileName) => `Unable to copy variables. Failed to load profile ${chalk.bold(profileName)}`,
|
|
1491
|
+
copyFromProfileNotFound: (profileName) => `Profile ${chalk.bold(profileName)} does not exist. Available profiles can be found in your project source directory.`,
|
|
1470
1492
|
failedToCreateProfile: 'Failed to create profile',
|
|
1471
1493
|
},
|
|
1472
1494
|
positionals: {
|
|
@@ -1474,6 +1496,7 @@ export const commands = {
|
|
|
1474
1496
|
},
|
|
1475
1497
|
options: {
|
|
1476
1498
|
targetAccount: 'The target account ID for this profile',
|
|
1499
|
+
copyFrom: 'Copy variables from an existing profile',
|
|
1477
1500
|
},
|
|
1478
1501
|
},
|
|
1479
1502
|
delete: {
|
|
@@ -1508,26 +1531,19 @@ export const commands = {
|
|
|
1508
1531
|
describe: 'Start local dev for the current project.',
|
|
1509
1532
|
logs: {
|
|
1510
1533
|
header: 'HubSpot projects local development',
|
|
1511
|
-
placeholderAccountSelection: 'Using default account as target account (for now)',
|
|
1512
|
-
accountTypeInformation: 'Testing in a developer test account is strongly recommended, but you can use a sandbox account if your plan allows you to create one.',
|
|
1513
1534
|
learnMoreMessageV2: `Learn more about ${uiLink('HubSpot projects local dev', 'https://developers.hubspot.com/docs/developer-tooling/local-development/hubspot-cli/project-commands#start-a-local-development-server')} | ${uiLink('HubSpot account types', 'https://developers.hubspot.com/docs/getting-started/account-types')}`,
|
|
1514
|
-
learnMoreMessageLegacy: uiLink('Learn more about the projects local dev server', 'https://developers.hubspot.com/docs/developer-tooling/local-development/hubspot-cli/project-commands#start-a-local-development-server'),
|
|
1515
1535
|
profileProjectAccountExplanation: (accountId, profileName) => `Using account ${uiAccountDescription(accountId)} from profile ${chalk.bold(profileName)} for project upload`,
|
|
1516
1536
|
defaultProjectAccountExplanation: (accountId) => `Using default account ${uiAccountDescription(accountId)} for project upload`,
|
|
1517
1537
|
projectAccountFlagExplanation: (accountId) => `Using account ${uiAccountDescription(accountId)} provided by the --project-account flag for project upload`,
|
|
1518
|
-
accountFlagExplanation: (accountId) => `Using account ${uiAccountDescription(accountId)} provided by the --account flag for project upload`,
|
|
1519
1538
|
defaultSandboxOrDevTestTestingAccountExplanation: (accountId) => `Using default account ${uiAccountDescription(accountId)} for testing`,
|
|
1520
1539
|
testingAccountFlagExplanation: (accountId) => `Using account ${uiAccountDescription(accountId)} provided by the --testing-account flag for testing`,
|
|
1521
1540
|
},
|
|
1522
1541
|
errors: {
|
|
1523
1542
|
noProjectConfig: 'No project detected. Please run this command again from a project directory.',
|
|
1524
1543
|
noAccount: (accountId) => `An error occurred while reading account ${uiAccountDescription(accountId)} from your config. Run ${uiAuthCommandReference()} to re-auth this account.`,
|
|
1525
|
-
|
|
1526
|
-
invalidProjectComponents: 'Projects cannot contain both private and public apps. Move your apps to separate projects before attempting local development.',
|
|
1544
|
+
unsupportedPlatformVersion: (platformVersion) => `Local development is not supported for platform version ${chalk.bold(platformVersion)}. Please upgrade to 2025.2 or later.`,
|
|
1527
1545
|
noRunnableComponents: `No supported components were found in this project. Run ${uiCommandReference('hs project add')} to see a list of available components and add one to your project.`,
|
|
1528
1546
|
accountNotCombined: `\nLocal development of unified apps is currently only compatible with accounts that are opted into the unified apps beta. Make sure that this account is opted in or switch accounts using ${uiCommandReference('hs account use')}.`,
|
|
1529
|
-
unsupportedAccountFlagLegacy: 'The --project-account and --testing-account flags are not supported for projects with platform versions earlier than 2025.2.',
|
|
1530
|
-
unsupportedAccountFlagV2: 'The --account flag is not supported for projects with platform versions 2025.2 and newer. Use --testing-account and --project-account flags to specify accounts to use for local dev',
|
|
1531
1547
|
localDevAlreadyRunning: `Another ${uiCommandReference('hs project dev')} process is already running. To proceed with local development of this project, stop the existing process and re-run ${uiCommandReference('hs project dev')}.`,
|
|
1532
1548
|
},
|
|
1533
1549
|
examples: {
|
|
@@ -1538,9 +1554,8 @@ export const commands = {
|
|
|
1538
1554
|
},
|
|
1539
1555
|
options: {
|
|
1540
1556
|
profile: 'The profile to target during local dev',
|
|
1541
|
-
projectAccount: 'The id of the account to upload your project to. Must be used with --testing-account.
|
|
1542
|
-
testingAccount: 'The id of the account to install apps and test on. Must be used with --project-account.
|
|
1543
|
-
account: 'The id of the account to upload your project to. Unsupported on platform versions 2025.2 and newer.',
|
|
1557
|
+
projectAccount: 'The id of the account to upload your project to. Must be used with --testing-account.',
|
|
1558
|
+
testingAccount: 'The id of the account to install apps and test on. Must be used with --project-account.',
|
|
1544
1559
|
port: `The port for the local dev server. Defaults to ${LOCAL_DEV_DEFAULT_PORT}.`,
|
|
1545
1560
|
},
|
|
1546
1561
|
},
|
|
@@ -1728,7 +1743,9 @@ export const commands = {
|
|
|
1728
1743
|
errors: {
|
|
1729
1744
|
deploy: 'Deploy error: an unknown error occurred.',
|
|
1730
1745
|
noBuilds: 'Deploy error: no builds for this project were found.',
|
|
1746
|
+
noSuccessfulBuilds: 'Deploy error: no successful builds for this project were found.',
|
|
1731
1747
|
noBuildId: 'You must specify a build to deploy',
|
|
1748
|
+
notSupportedForBuildVersion: `This build's platform version does not support deploy. Run ${uiCommandReference('hs project release create')} to create a release instead.`,
|
|
1732
1749
|
projectNotFound: (accountId, projectName) => `The project ${chalk.bold(projectName)} does not exist in account ${uiAccountDescription(accountId)}. Run ${uiCommandReference('hs project upload')} to upload your project files to HubSpot.`,
|
|
1733
1750
|
buildIdDoesNotExist: (accountId, buildId, projectName) => `Build ${buildId} does not exist for project ${chalk.bold(projectName)}. Run ${uiCommandReference('hs project list-builds')} to view existing builds for this project.`,
|
|
1734
1751
|
buildAlreadyDeployed: (accountId, buildId, projectName) => `Build ${buildId} is already deployed. ${uiLink('View project builds in HubSpot', getProjectDetailUrl(projectName, accountId))}`,
|
|
@@ -1739,7 +1756,7 @@ export const commands = {
|
|
|
1739
1756
|
deployIssueComponentWarning: (uid, componentTypeName, message) => `- [${mapToUserFriendlyName(componentTypeName)}] ${chalk.bold('(' + uid + ')')} ${message}`,
|
|
1740
1757
|
},
|
|
1741
1758
|
examples: {
|
|
1742
|
-
default: 'Deploy the
|
|
1759
|
+
default: 'Deploy the last successful build of the current project',
|
|
1743
1760
|
withOptions: 'Deploy build 5 of the project my-project',
|
|
1744
1761
|
withProfile: 'Deploy using the provided profile',
|
|
1745
1762
|
},
|
|
@@ -1748,29 +1765,38 @@ export const commands = {
|
|
|
1748
1765
|
project: 'Project name',
|
|
1749
1766
|
profile: 'The profile to target with this deploy',
|
|
1750
1767
|
force: 'Skip warnings and force deploy. Use this carefully as it will bypass warnings for destructive actions.',
|
|
1751
|
-
deployLatestBuild: 'Deploy the
|
|
1768
|
+
deployLatestBuild: 'Deploy the last successful build of the current project',
|
|
1752
1769
|
},
|
|
1753
1770
|
},
|
|
1754
1771
|
release: {
|
|
1755
1772
|
describe: 'Manage project releases.',
|
|
1756
1773
|
create: {
|
|
1757
1774
|
describe: 'Create a release for a project build.',
|
|
1758
|
-
verboseDescribe: `Create a release for a project build\n\nReleases mark
|
|
1775
|
+
verboseDescribe: `Create a release for a project build\n\nReleases mark an uploaded build with an auto-generated semantic version tag (e.g. v1.0.0).\n\nBy default, the latest build is used. Use ${uiCommandReference('--build')} to specify a different build ID.`,
|
|
1759
1776
|
confirmPrompt: (projectName, buildId) => `Create a release for project ${chalk.bold(projectName)} using build ${chalk.bold(String(buildId))}?`,
|
|
1760
1777
|
success: (releaseTag, buildId) => `Release ${chalk.bold(releaseTag)} created for build ${chalk.bold(String(buildId))}.`,
|
|
1761
1778
|
cancelled: 'Release creation cancelled.',
|
|
1779
|
+
buildIdPrompt: '[--build] Select a successful build to release:',
|
|
1780
|
+
noUploadMessage: 'No upload message',
|
|
1781
|
+
buildStatus: {
|
|
1782
|
+
BUILDING: 'Build in progress',
|
|
1783
|
+
FAILURE: 'Build failed',
|
|
1784
|
+
PENDING: 'Pending',
|
|
1785
|
+
PREPARING: 'Preparing',
|
|
1786
|
+
},
|
|
1787
|
+
uploadPrompt: (projectName) => `No successful builds for project ${chalk.bold(projectName)}. Would you like to upload it?`,
|
|
1762
1788
|
errors: {
|
|
1763
1789
|
projectNotFound: (accountId, projectName) => `The project ${chalk.bold(projectName)} does not exist in account ${uiAccountDescription(accountId)}. Run ${uiCommandReference('hs project upload')} to upload your project files to HubSpot.`,
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1790
|
+
buildNotFound: (buildId, projectName) => `Build ${chalk.bold(String(buildId))} was not found for project ${chalk.bold(projectName)}. Run ${uiCommandReference('hs project list-builds')} to view existing builds or ${uiCommandReference('hs project upload')} to upload a build first.`,
|
|
1791
|
+
noSuccessfulBuilds: (projectName) => `No successful builds found for project ${chalk.bold(projectName)}. Run ${uiCommandReference('hs project upload')} to create a new build.`,
|
|
1792
|
+
incompatibleBuildVersion: `This build's platform version does not support releases. Upgrade your project to a newer platform version to use releases.`,
|
|
1767
1793
|
},
|
|
1768
1794
|
options: {
|
|
1769
|
-
build: 'Build ID to release. Defaults to the latest
|
|
1770
|
-
force: 'Skip confirmation
|
|
1795
|
+
build: 'Build ID to release. Defaults to the latest build.',
|
|
1796
|
+
force: 'Skip all confirmation prompts, including automatic upload when no build exists.',
|
|
1771
1797
|
},
|
|
1772
1798
|
examples: {
|
|
1773
|
-
default: 'Create a release for the latest
|
|
1799
|
+
default: 'Create a release for the latest build',
|
|
1774
1800
|
withBuild: 'Create a release for a specific build',
|
|
1775
1801
|
},
|
|
1776
1802
|
},
|
|
@@ -1891,10 +1917,13 @@ export const commands = {
|
|
|
1891
1917
|
withPreview: 'Upload and preview the build on a target portal',
|
|
1892
1918
|
},
|
|
1893
1919
|
logs: {
|
|
1920
|
+
forceCreateDeprecated: `The ${uiCommandReference('--force-create')} flag is deprecated. Use ${uiCommandReference('--force')} instead.`,
|
|
1894
1921
|
buildSucceeded: (buildId) => `Build #${buildId} succeeded\n`,
|
|
1895
1922
|
readyToGoLive: '๐ Ready to take your project live?',
|
|
1896
1923
|
runCommand: (command) => `Run \`${uiCommandReference(command)}\``,
|
|
1897
1924
|
autoDeployDisabled: (deployCommand) => `Automatic deploys are disabled for this project. Run ${uiCommandReference(deployCommand)} to deploy this build.`,
|
|
1925
|
+
autoDeploySkipped: (deployCommand) => `Auto-deploy was skipped for this build. Run ${uiCommandReference(deployCommand)} to deploy this build.`,
|
|
1926
|
+
releaseManagementRequired: (releaseCommand) => `Run ${uiCommandReference(releaseCommand)} to create a release for this build.`,
|
|
1898
1927
|
},
|
|
1899
1928
|
errors: {
|
|
1900
1929
|
noProjectConfig: 'No project detected. Run this command from a project directory.',
|
|
@@ -1903,8 +1932,11 @@ export const commands = {
|
|
|
1903
1932
|
targetRequiresPreview: `${uiCommandReference('--target')} can only be used with ${uiCommandReference('--preview')}.`,
|
|
1904
1933
|
},
|
|
1905
1934
|
options: {
|
|
1935
|
+
force: {
|
|
1936
|
+
describe: 'Skip confirmation prompts and force the upload.',
|
|
1937
|
+
},
|
|
1906
1938
|
forceCreate: {
|
|
1907
|
-
describe:
|
|
1939
|
+
describe: uiDeprecatedTag(`Automatically create project if it does not exist. Use ${uiCommandReference('--force')} instead.`, false),
|
|
1908
1940
|
},
|
|
1909
1941
|
message: {
|
|
1910
1942
|
describe: 'Add a message when you upload your project and create a build',
|
|
@@ -1915,6 +1947,9 @@ export const commands = {
|
|
|
1915
1947
|
skipNpmAudit: {
|
|
1916
1948
|
describe: 'Skip the npm audit security check before uploading',
|
|
1917
1949
|
},
|
|
1950
|
+
skipAutoDeploy: {
|
|
1951
|
+
describe: 'Skip automatic deployment after a successful build',
|
|
1952
|
+
},
|
|
1918
1953
|
preview: {
|
|
1919
1954
|
describe: 'Preview the build on a target portal after a successful upload',
|
|
1920
1955
|
},
|
|
@@ -3348,6 +3383,10 @@ export const lib = {
|
|
|
3348
3383
|
handlerLogFile: {
|
|
3349
3384
|
saved: (filePath) => `Debug logs can be viewed at ${filePath}`,
|
|
3350
3385
|
},
|
|
3386
|
+
jsonSchema: {
|
|
3387
|
+
noSchemaForCommand: 'No schema defined for this command',
|
|
3388
|
+
validationFailed: 'JSON output may be missing or malformed fields. The output schema may be out of date.',
|
|
3389
|
+
},
|
|
3351
3390
|
DevServerManager: {
|
|
3352
3391
|
portConflict: (port) => `The port ${port} is already in use.`,
|
|
3353
3392
|
notInitialized: 'The Dev Server Manager must be initialized before it is started.',
|
|
@@ -3505,19 +3544,6 @@ export const lib = {
|
|
|
3505
3544
|
},
|
|
3506
3545
|
},
|
|
3507
3546
|
account: {
|
|
3508
|
-
checkIfDefaultAccountIsSupported: {
|
|
3509
|
-
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 ${uiCommandReference('hs account use')}, or link a new account with ${uiAuthCommandReference()}.`,
|
|
3510
|
-
privateApp: `This project contains a private app. Local development of private apps is not supported in developer accounts. Change your default account using ${uiCommandReference('hs account use')}, or link a new account with ${uiAuthCommandReference()}.`,
|
|
3511
|
-
},
|
|
3512
|
-
validateAccountOption: {
|
|
3513
|
-
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 ${uiCommandReference('hs account use')} and run ${uiCommandReference('hs project dev')} to set up a new developer test account.`,
|
|
3514
|
-
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 ${uiCommandReference('hs account use')}.`,
|
|
3515
|
-
nonSandboxWarning: `Testing in a sandbox is strongly recommended. To switch the target account, select an option below or run ${uiCommandReference('hs account use')} before running the command again.`,
|
|
3516
|
-
publicAppNonDeveloperTestAccountWarning: `Local development of public apps is only supported in ${chalk.bold('developer test accounts')}.`,
|
|
3517
|
-
},
|
|
3518
|
-
checkIfParentAccountIsAuthed: {
|
|
3519
|
-
notAuthedError: (parentAccountId, accountIdentifier) => `To develop this project locally, run ${uiAuthCommandReference({ accountId: parentAccountId })} to authenticate the App Developer Account ${parentAccountId} associated with ${accountIdentifier}.`,
|
|
3520
|
-
},
|
|
3521
3547
|
selectAccountTypePrompt: {
|
|
3522
3548
|
message: 'Choose the type of account to test on',
|
|
3523
3549
|
developerTestAccountOption: 'Test on a developer test account (recommended)',
|
|
@@ -3525,10 +3551,7 @@ export const lib = {
|
|
|
3525
3551
|
sandboxAccountOptionDisabled: 'Disabled - requires access to sandbox accounts',
|
|
3526
3552
|
productionAccountOption: (accountId) => `<${chalk.red('!')} Test on your project account: ${uiAccountDescription(accountId, false)} ${chalk.red('!')}>`,
|
|
3527
3553
|
},
|
|
3528
|
-
|
|
3529
|
-
configError: `An error occurred while reading the default account from your config. Run ${uiAuthCommandReference()} to re-auth this account`,
|
|
3530
|
-
declineDefaultAccountExplanation: `To develop on a different account, run ${uiCommandReference('hs account use')} to change your default account, then re-run ${uiCommandReference('hs project dev')}.`,
|
|
3531
|
-
},
|
|
3554
|
+
declineDefaultAccountExplanation: `To develop on a different account, run ${uiCommandReference('hs account use')} to change your default account, then re-run ${uiCommandReference('hs project dev')}.`,
|
|
3532
3555
|
},
|
|
3533
3556
|
},
|
|
3534
3557
|
middleware: {
|
|
@@ -3618,6 +3641,11 @@ export const lib = {
|
|
|
3618
3641
|
feedbackHeader: "We'd love to hear your feedback!",
|
|
3619
3642
|
feedbackMessage: `How are you liking the new projects and developer tools? \n > Run ${uiCommandReference('hs feedback')} to let us know what you think!\n`,
|
|
3620
3643
|
},
|
|
3644
|
+
skippedHsMetaFiles: {
|
|
3645
|
+
warning: (files) => `The following *-hsmeta.json files will be skipped.\nThis CLI version doesn't support the features they require:\n${files.map(f => ` ${chalk.bold(f)}`).join('\n')}\nRun ${uiCommandReference('hs upgrade')} to update the CLI, which may add support for these features.`,
|
|
3646
|
+
uploadWarning: (files) => `The following *-hsmeta.json files will be skipped during upload.\nThis CLI version doesn't support the features they require:\n${files.map(f => ` ${chalk.bold(f)}`).join('\n')}\nRun ${uiCommandReference('hs upgrade')} to update the CLI, which may add support for these features.`,
|
|
3647
|
+
prompt: '[--force] Continue anyway?',
|
|
3648
|
+
},
|
|
3621
3649
|
components: {
|
|
3622
3650
|
unableToGetUidFromHsmeta: 'Unable to get UID from hsmeta',
|
|
3623
3651
|
buildSuccessMessage: {
|
|
@@ -3625,9 +3653,9 @@ export const lib = {
|
|
|
3625
3653
|
docsUrl: 'https://developers.hubspot.com/docs/apps/developer-platform/build-apps/overview',
|
|
3626
3654
|
headerCreated: (projectName, projectDest) => `${chalk.bold(projectName)} was successfully created in ${projectDest}`,
|
|
3627
3655
|
headerAdded: (featureText, uid, plural) => `${featureText} ${plural ? 'were' : 'was'} successfully added to ${uid}:`,
|
|
3628
|
-
docsDetails: (docsLink) =>
|
|
3629
|
-
uploadPrompt:
|
|
3630
|
-
devPrompt:
|
|
3656
|
+
docsDetails: (docsLink) => `${docsLink} for more details about building and testing these features.`,
|
|
3657
|
+
uploadPrompt: `Run ${uiCommandReference('hs project upload')} when you're ready to deploy.`,
|
|
3658
|
+
devPrompt: `Run ${uiCommandReference('hs project dev')} to start local development.`,
|
|
3631
3659
|
},
|
|
3632
3660
|
},
|
|
3633
3661
|
},
|
|
@@ -3846,6 +3874,7 @@ export const lib = {
|
|
|
3846
3874
|
qa: 'Run command in QA mode',
|
|
3847
3875
|
useEnv: 'Use environment variable config',
|
|
3848
3876
|
jsonOutput: 'Format output as JSON',
|
|
3877
|
+
jsonSchema: 'Print the JSON output schema and exit',
|
|
3849
3878
|
debug: 'Set log level to debug',
|
|
3850
3879
|
},
|
|
3851
3880
|
},
|
package/lib/app/urls.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { getHubSpotWebsiteOrigin } from '@hubspot/local-dev-lib/urls';
|
|
2
|
-
import { getBaseHubSpotUrlForAccount } from '../projects/urls.js';
|
|
1
|
+
import { getHubSpotWebsiteOrigin, getHubSpotWebsiteOriginByAccountId, } from '@hubspot/local-dev-lib/urls';
|
|
3
2
|
export function getOauthAppInstallUrl({ targetAccountId, env, clientId, scopes, redirectUrls, }) {
|
|
4
3
|
const websiteOrigin = getHubSpotWebsiteOrigin(env);
|
|
5
4
|
return (`${websiteOrigin}/oauth/${targetAccountId}/authorize` +
|
|
@@ -16,7 +15,7 @@ export function getAppCardSetupUrl({ targetAccountId, env, appId, }) {
|
|
|
16
15
|
return `${websiteOrigin}/integrations-settings/${targetAccountId}/installed/framework/${appId}/app-cards?tourId=get-started`;
|
|
17
16
|
}
|
|
18
17
|
export function getAppLogsUrl(accountId, appId, systemType) {
|
|
19
|
-
return `${
|
|
18
|
+
return `${getHubSpotWebsiteOriginByAccountId(accountId)}/developer-monitoring/${accountId}/?logType=${systemType}&appId=${appId}`;
|
|
20
19
|
}
|
|
21
20
|
export function getAppLogDetailsUrl(accountId, appId, systemType, logId) {
|
|
22
21
|
return `${getAppLogsUrl(accountId, appId, systemType)}&logId=${logId}`;
|
package/lib/commonOpts.js
CHANGED
|
@@ -72,11 +72,16 @@ export function addUseEnvironmentOptions(yargs) {
|
|
|
72
72
|
return yargs;
|
|
73
73
|
}
|
|
74
74
|
export function addJSONOutputOptions(yargs) {
|
|
75
|
-
|
|
75
|
+
yargs.option('json', {
|
|
76
76
|
alias: 'format-output-as-json',
|
|
77
77
|
describe: lib.commonOpts.options.jsonOutput,
|
|
78
78
|
type: 'boolean',
|
|
79
79
|
});
|
|
80
|
+
yargs.option('json-schema', {
|
|
81
|
+
describe: lib.commonOpts.options.jsonSchema,
|
|
82
|
+
type: 'boolean',
|
|
83
|
+
});
|
|
84
|
+
return yargs;
|
|
80
85
|
}
|
|
81
86
|
// Remove this once we've upgraded to yargs 18.0.0
|
|
82
87
|
function uiBetaTagWithColor(message) {
|
package/lib/configOptions.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { CmsPublishMode } from '@hubspot/local-dev-lib/types/Files';
|
|
2
|
-
export declare function setAllowUsageTracking({
|
|
2
|
+
export declare function setAllowUsageTracking({ allowUsageTracking, }: {
|
|
3
3
|
accountId: number;
|
|
4
4
|
allowUsageTracking?: boolean;
|
|
5
|
-
}): Promise<
|
|
6
|
-
export declare function setAllowAutoUpdates({
|
|
5
|
+
}): Promise<boolean>;
|
|
6
|
+
export declare function setAllowAutoUpdates({ allowAutoUpdates, }: {
|
|
7
7
|
accountId: number;
|
|
8
8
|
allowAutoUpdates?: boolean;
|
|
9
|
-
}): Promise<
|
|
10
|
-
export declare function setDefaultCmsPublishMode({
|
|
9
|
+
}): Promise<boolean>;
|
|
10
|
+
export declare function setDefaultCmsPublishMode({ defaultCmsPublishMode, }: {
|
|
11
11
|
accountId: number;
|
|
12
12
|
defaultCmsPublishMode?: CmsPublishMode;
|
|
13
|
-
}): Promise<
|
|
14
|
-
export declare function setHttpTimeout({
|
|
13
|
+
}): Promise<CmsPublishMode>;
|
|
14
|
+
export declare function setHttpTimeout({ httpTimeout, }: {
|
|
15
15
|
accountId: number;
|
|
16
16
|
httpTimeout?: string;
|
|
17
|
-
}): Promise<
|
|
18
|
-
export declare function setAutoOpenBrowser({
|
|
17
|
+
}): Promise<string>;
|
|
18
|
+
export declare function setAutoOpenBrowser({ autoOpenBrowser, }: {
|
|
19
19
|
accountId: number;
|
|
20
20
|
autoOpenBrowser: boolean;
|
|
21
|
-
}): Promise<
|
|
21
|
+
}): Promise<boolean>;
|