@hubspot/cli 7.7.0-experimental.3 → 7.7.2-experimental.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/bin/cli.js +96 -94
  2. package/commands/account/auth.js +51 -82
  3. package/commands/account.js +0 -2
  4. package/commands/app.js +0 -2
  5. package/commands/auth.js +2 -17
  6. package/commands/cms.js +0 -2
  7. package/commands/completion.js +0 -2
  8. package/commands/config/migrate.js +17 -36
  9. package/commands/config.js +0 -2
  10. package/commands/create.js +0 -2
  11. package/commands/customObject.js +0 -2
  12. package/commands/doctor.js +0 -2
  13. package/commands/feedback.js +0 -2
  14. package/commands/filemanager.js +0 -2
  15. package/commands/function.js +0 -2
  16. package/commands/hubdb.js +0 -2
  17. package/commands/init.js +1 -4
  18. package/commands/lint.js +0 -2
  19. package/commands/list.js +0 -2
  20. package/commands/module/marketplace-validate.js +6 -8
  21. package/commands/module.js +2 -1
  22. package/commands/mv.js +0 -2
  23. package/commands/open.js +0 -2
  24. package/commands/project/add.d.ts +5 -2
  25. package/commands/project/add.js +43 -80
  26. package/commands/project/create.d.ts +2 -8
  27. package/commands/project/create.js +84 -55
  28. package/commands/project/dev/deprecatedFlow.d.ts +8 -2
  29. package/commands/project/dev/deprecatedFlow.js +9 -1
  30. package/commands/project/dev/index.js +59 -34
  31. package/commands/project/dev/unifiedFlow.d.ts +10 -2
  32. package/commands/project/dev/unifiedFlow.js +28 -41
  33. package/commands/project.js +0 -2
  34. package/commands/remove.js +6 -14
  35. package/commands/sandbox.js +0 -2
  36. package/commands/secret.js +0 -2
  37. package/commands/theme/generate-selectors.js +7 -10
  38. package/commands/theme/marketplace-validate.js +6 -8
  39. package/commands/theme/preview.js +17 -18
  40. package/commands/theme.js +2 -4
  41. package/commands/upload.js +26 -65
  42. package/commands/watch.js +20 -32
  43. package/lang/en.d.ts +154 -95
  44. package/lang/en.js +156 -100
  45. package/lang/en.lyaml +3 -186
  46. package/lib/accountTypes.js +1 -3
  47. package/lib/commonOpts.d.ts +1 -3
  48. package/lib/commonOpts.js +1 -1
  49. package/lib/configMigrate.d.ts +2 -2
  50. package/lib/configMigrate.js +34 -69
  51. package/lib/constants.d.ts +23 -5
  52. package/lib/constants.js +24 -6
  53. package/lib/generateSelectors.js +3 -5
  54. package/lib/marketplaceValidate.d.ts +12 -2
  55. package/lib/marketplaceValidate.js +22 -29
  56. package/lib/middleware/configMiddleware.js +1 -0
  57. package/lib/middleware/fireAlarmMiddleware.d.ts +2 -2
  58. package/lib/middleware/fireAlarmMiddleware.js +5 -3
  59. package/lib/projects/add/legacyAddComponent.d.ts +5 -0
  60. package/lib/projects/add/legacyAddComponent.js +48 -0
  61. package/lib/projects/add/v3AddComponent.d.ts +8 -0
  62. package/lib/projects/add/v3AddComponent.js +85 -0
  63. package/lib/projects/components.d.ts +2 -0
  64. package/lib/projects/components.js +82 -0
  65. package/lib/projects/create/index.d.ts +23 -0
  66. package/lib/projects/create/index.js +33 -0
  67. package/lib/projects/create/legacy.d.ts +6 -0
  68. package/lib/projects/{create.js → create/legacy.js} +20 -11
  69. package/lib/projects/create/v3.d.ts +27 -0
  70. package/lib/projects/create/v3.js +158 -0
  71. package/lib/projects/localDev/AppDevModeInterface.d.ts +3 -2
  72. package/lib/projects/localDev/AppDevModeInterface.js +38 -8
  73. package/lib/projects/localDev/LocalDevProcess.d.ts +12 -5
  74. package/lib/projects/localDev/LocalDevProcess.js +47 -17
  75. package/lib/projects/localDev/LocalDevState.d.ts +16 -3
  76. package/lib/projects/localDev/LocalDevState.js +43 -2
  77. package/lib/projects/localDev/LocalDevWatcher.js +3 -6
  78. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +3 -0
  79. package/lib/projects/localDev/LocalDevWebsocketServer.js +48 -9
  80. package/lib/projects/upload.js +6 -0
  81. package/lib/prompts/createProjectPrompt.d.ts +14 -5
  82. package/lib/prompts/createProjectPrompt.js +36 -13
  83. package/lib/prompts/projectAddPrompt.d.ts +5 -1
  84. package/lib/prompts/projectAddPrompt.js +35 -7
  85. package/lib/prompts/promptUtils.d.ts +0 -1
  86. package/lib/prompts/promptUtils.js +0 -2
  87. package/lib/prompts/setAsDefaultAccountPrompt.js +10 -0
  88. package/package.json +7 -6
  89. package/types/LocalDev.d.ts +11 -1
  90. package/types/Projects.d.ts +19 -2
  91. package/types/Yargs.d.ts +2 -0
  92. package/commands/testAccount/create.d.ts +0 -7
  93. package/commands/testAccount/create.js +0 -118
  94. package/commands/testAccount/delete.d.ts +0 -6
  95. package/commands/testAccount/delete.js +0 -42
  96. package/commands/testAccount.d.ts +0 -3
  97. package/commands/testAccount.js +0 -27
  98. package/lib/projects/create.d.ts +0 -5
package/lang/en.d.ts CHANGED
@@ -17,6 +17,26 @@ export declare const commands: {
17
17
  readonly account: {
18
18
  readonly describe: "Commands for managing configured accounts.";
19
19
  readonly subcommands: {
20
+ readonly auth: {
21
+ readonly describe: "Configure authentication for your HubSpot account.";
22
+ readonly verboseDescribe: `Configure authentication for a HubSpot account. This will create or update the global config file at ${string} that stores your account information.
23
+
24
+ The authentication method is ${string}, which is an access token tied to a specific user account.
25
+
26
+ Global configuration replaces hubspot.config.yml, and you will be prompted to migrate your existing config if one exists.`;
27
+ readonly options: {
28
+ readonly account: "HubSpot account to authenticate";
29
+ };
30
+ readonly errors: {
31
+ readonly failedToUpdateConfig: "Failed to update the configuration file. Please try again.";
32
+ readonly migrationNotConfirmed: `Did not migrate your configuration file. Run ${string} to update your existing config, or use ${string} to switch to the new global configuration.`;
33
+ readonly mergeNotConfirmed: `Did not merge configuration files. When you are ready to merge the deprecated config file with the global config file, run ${string}.`;
34
+ };
35
+ readonly success: {
36
+ readonly configFileCreated: (configPath: string) => string;
37
+ readonly configFileUpdated: (accountId: number) => string;
38
+ };
39
+ };
20
40
  readonly list: {
21
41
  readonly accounts: `${string}:`;
22
42
  readonly defaultAccount: (account: string) => string;
@@ -141,6 +161,21 @@ export declare const commands: {
141
161
  readonly config: {
142
162
  readonly describe: "Commands for managing the CLI config file.";
143
163
  readonly subcommands: {
164
+ readonly migrate: {
165
+ readonly describe: `Migrate from the deprecated hubspot.config.yml file to the new global config file at ${string}.`;
166
+ readonly verboseDescribe: "This command will create or update the global configuration file in your root directory. It will archive the current config as archived.hubspot.config.yml.";
167
+ readonly errors: {
168
+ readonly noConfigToMigrate: "No hubspot.config.yml was found. There is nothing to migrate.";
169
+ readonly configNotFound: (configPath: string) => string;
170
+ };
171
+ readonly options: {
172
+ readonly force: "Bypass prompts and overwrite any conflicting values in the global config with the deprecated config values.";
173
+ };
174
+ readonly examples: {
175
+ readonly default: `Migrate from the deprecated hubspot.config.yml file to the new global config file at ${string}`;
176
+ readonly configFlag: `Migrate a specific config file (specified with the config flag) to the new global config file at ${string}`;
177
+ };
178
+ };
144
179
  readonly set: {
145
180
  readonly describe: "Set various configuration options within the hubspot CLI config file.";
146
181
  readonly promptMessage: "Select a config option to update";
@@ -810,18 +845,28 @@ Profiles enable you to reference variables in your component configuration files
810
845
  readonly placeholderAccountSelection: "Using default account as target account (for now)";
811
846
  readonly learnMoreLocalDevServer: "Learn more about the projects local dev server";
812
847
  readonly 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.";
813
- readonly learnMoreMessage: `Visit our ${string} to learn more.`;
848
+ readonly learnMoreMessage: `
849
+ Visit our ${string} to learn more.`;
814
850
  };
815
851
  readonly errors: {
816
852
  readonly noProjectConfig: "No project detected. Please run this command again from a project directory.";
817
- readonly noAccount: (accountId: string, authCommand: string) => string;
853
+ readonly noAccount: (accountId: number) => string;
818
854
  readonly noAccountsInConfig: (authCommand: string) => string;
819
855
  readonly invalidProjectComponents: "Projects cannot contain both private and public apps. Move your apps to separate projects before attempting local development.";
820
- readonly noRunnableComponents: (command: string) => string;
856
+ readonly noRunnableComponents: `No supported components were found in this project. Run ${string} to see a list of available components and add one to your project.`;
857
+ readonly accountNotCombined: `
858
+ Local 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 ${string}.`;
859
+ readonly unsupportedAccountFlagLegacy: "The --projectAccount and --testingAccount flags are not supported for projects with platform versions earlier than 2025.2.";
860
+ readonly unsupportedAccountFlagV3: "The --account flag is is not supported supported for projects with platform versions 2025.2 and newer. Use --testingAccount and --projectAccount flags to specify accounts to use for local dev";
821
861
  };
822
862
  readonly examples: {
823
863
  readonly default: "Start local dev for the current project";
824
864
  };
865
+ readonly options: {
866
+ readonly profile: "The profile to target during local dev";
867
+ readonly projectAccount: "The id of the account to upload your project to. Only compatible with platform versions 2025.2 and above.";
868
+ readonly testingAccount: "The id of the account to install apps and test on. Only compatible with platform versions 2025.2 and above.";
869
+ };
825
870
  };
826
871
  readonly create: {
827
872
  readonly describe: "Create a new project.";
@@ -833,7 +878,13 @@ Profiles enable you to reference variables in your component configuration files
833
878
  };
834
879
  readonly logs: {
835
880
  readonly success: (projectName: string, projectDest: string) => string;
836
- readonly welcomeMessage: "Welcome to HubSpot Developer Projects!";
881
+ readonly welcomeMessage: `
882
+ ${string}`;
883
+ };
884
+ readonly prompts: {
885
+ readonly parentComponents: "[--project-base] What would you like in your project?";
886
+ readonly emptyProject: "Empty Project";
887
+ readonly app: "App";
837
888
  };
838
889
  readonly examples: {
839
890
  readonly default: "Create a new project";
@@ -852,6 +903,21 @@ Profiles enable you to reference variables in your component configuration files
852
903
  readonly templateSource: {
853
904
  readonly describe: "Path to custom GitHub repository from which to create project template";
854
905
  };
906
+ readonly platformVersion: {
907
+ readonly describe: "The target platform version for the new project.";
908
+ };
909
+ readonly projectBase: {
910
+ readonly describe: "The top level component to include in the project.";
911
+ };
912
+ readonly distribution: {
913
+ readonly describe: "How the app will be distributed.";
914
+ };
915
+ readonly auth: {
916
+ readonly describe: "Authentication model for the application.";
917
+ };
918
+ readonly features: {
919
+ readonly describe: "Features to include in the project. Only valid if project-base is app";
920
+ };
855
921
  };
856
922
  };
857
923
  readonly migrateApp: {
@@ -937,11 +1003,23 @@ Profiles enable you to reference variables in your component configuration files
937
1003
  readonly type: {
938
1004
  readonly describe: "The path to the component type's location within the hubspot-project-components Github repo: https://github.com/HubSpot/hubspot-project-components";
939
1005
  };
1006
+ readonly distribution: {
1007
+ readonly describe: "The distribution method for the application.";
1008
+ };
1009
+ readonly auth: {
1010
+ readonly describe: "The authentication type for the application.";
1011
+ };
1012
+ readonly features: {
1013
+ readonly describe: "Which features to include with the application.";
1014
+ };
940
1015
  };
941
1016
  readonly creatingComponent: (projectName: string) => string;
942
- readonly success: (componentName: string) => string;
1017
+ readonly success: (componentName: string, multiple?: boolean) => string;
943
1018
  readonly error: {
944
1019
  readonly failedToDownloadComponent: "Failed to download project component. Please try again later.";
1020
+ readonly maxExceeded: (maxCount: number) => string;
1021
+ readonly authTypeNotAllowed: (authType: string) => string;
1022
+ readonly distributionNotAllowed: (dist: string) => string;
945
1023
  readonly locationInProject: "This command must be run from within a project directory.";
946
1024
  readonly failedToFetchComponentList: "Failed to fetch the list of available components. Please try again later.";
947
1025
  readonly projectContainsPublicApp: "This project contains a public app. This command is currently only compatible with projects that contain private apps.";
@@ -1174,15 +1252,13 @@ Profiles enable you to reference variables in your component configuration files
1174
1252
  };
1175
1253
  };
1176
1254
  readonly remove: {
1177
- readonly describe: "Delete a file or folder from HubSpot.";
1178
- readonly deleted: (path: string, accountId: string) => string;
1255
+ readonly describe: "Delete a file or folder from the HubSpot CMS.";
1256
+ readonly deleted: (path: string, accountId: number) => string;
1179
1257
  readonly errors: {
1180
- readonly deleteFailed: (path: string, accountId: string) => string;
1258
+ readonly deleteFailed: (path: string, accountId: number) => string;
1181
1259
  };
1182
1260
  readonly positionals: {
1183
- readonly path: {
1184
- readonly describe: "Remote hubspot path";
1185
- };
1261
+ readonly path: "Remote hubspot path";
1186
1262
  };
1187
1263
  };
1188
1264
  readonly sandbox: {
@@ -1424,9 +1500,7 @@ Profiles enable you to reference variables in your component configuration files
1424
1500
  };
1425
1501
  readonly success: (themePath: string, selectorsPath: string) => string;
1426
1502
  readonly positionals: {
1427
- readonly path: {
1428
- readonly describe: "The path of the theme you'd like to generate an editor-preview.json for.";
1429
- };
1503
+ readonly path: "The path of the theme you'd like to generate an editor-preview.json for.";
1430
1504
  };
1431
1505
  };
1432
1506
  readonly marketplaceValidate: {
@@ -1457,25 +1531,16 @@ Profiles enable you to reference variables in your component configuration files
1457
1531
  readonly errors: {
1458
1532
  readonly invalidPath: (path: string) => string;
1459
1533
  readonly noThemeComponents: "Your project has no theme components available to preview.";
1534
+ readonly uploadFailed: (src: string, dest: string) => string;
1460
1535
  };
1461
1536
  readonly positionals: {
1462
- readonly src: {
1463
- readonly describe: "Path to the local directory your theme is in, relative to your current working directory";
1464
- };
1465
- readonly dest: {
1466
- 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.";
1467
- };
1537
+ readonly src: "Path to the local directory your theme is in, relative to your current working directory";
1538
+ readonly dest: "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.";
1468
1539
  };
1469
1540
  readonly options: {
1470
- readonly notify: {
1471
- readonly describe: "Log to specified file when a watch task is triggered and after workers have gone idle. Ex. --notify path/to/file";
1472
- };
1473
- readonly noSsl: {
1474
- readonly describe: "Disable HTTPS";
1475
- };
1476
- readonly port: {
1477
- readonly describe: "The port on which to start the local server";
1478
- };
1541
+ readonly notify: "Log to specified file when a watch task is triggered and after workers have gone idle. Ex. --notify path/to/file";
1542
+ readonly noSsl: "Disable HTTPS";
1543
+ readonly port: "The port on which to start the local server";
1479
1544
  };
1480
1545
  readonly initialUploadProgressBar: {
1481
1546
  readonly start: "Starting...";
@@ -1499,11 +1564,6 @@ Profiles enable you to reference variables in your component configuration files
1499
1564
  readonly logs: {
1500
1565
  readonly validatingModule: (path: string) => string;
1501
1566
  };
1502
- readonly options: {
1503
- readonly json: {
1504
- readonly describe: "Output raw json data";
1505
- };
1506
- };
1507
1567
  readonly results: {
1508
1568
  readonly required: "Required validation results:";
1509
1569
  readonly recommended: "Recommended validation results:";
@@ -1514,9 +1574,7 @@ Profiles enable you to reference variables in your component configuration files
1514
1574
  readonly noErrors: "No errors";
1515
1575
  };
1516
1576
  readonly positionals: {
1517
- readonly src: {
1518
- readonly describe: "Path to the module within the Design Manager.";
1519
- };
1577
+ readonly src: "Path to the module within the Design Manager.";
1520
1578
  };
1521
1579
  };
1522
1580
  };
@@ -1529,85 +1587,53 @@ Profiles enable you to reference variables in your component configuration files
1529
1587
  readonly invalidPath: (path: string) => string;
1530
1588
  readonly uploadFailed: (src: string, dest: string) => string;
1531
1589
  readonly someFilesFailed: (dest: string) => string;
1532
- readonly deleteFailed: (path: string, accountId: string) => string;
1590
+ readonly deleteFailed: (path: string, accountId: number) => string;
1533
1591
  };
1534
1592
  readonly options: {
1535
- readonly options: {
1536
- readonly describe: "Options to pass to javascript fields files";
1537
- };
1538
- readonly saveOutput: {
1539
- readonly describe: "If true, saves all output from javascript fields files as 'fields.output.json'.";
1540
- };
1541
- readonly convertFields: {
1542
- readonly describe: "If true, converts any javascript fields files contained in module folder or project root.";
1543
- };
1544
- readonly clean: {
1545
- 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.";
1546
- };
1547
- readonly force: {
1548
- readonly describe: "Skips confirmation prompts when doing a clean upload.";
1549
- };
1593
+ readonly options: "Options to pass to javascript fields files";
1594
+ readonly saveOutput: "If true, saves all output from javascript fields files as 'fields.output.json'.";
1595
+ readonly convertFields: "If true, converts any javascript fields files contained in module folder or project root.";
1596
+ readonly clean: "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.";
1597
+ readonly force: "Skips confirmation prompts when doing a clean upload.";
1550
1598
  };
1551
1599
  readonly previewUrl: (previewUrl: string) => string;
1552
1600
  readonly positionals: {
1553
- readonly src: {
1554
- readonly describe: "Path to the local file, relative to your current working directory.";
1555
- };
1556
- readonly dest: {
1557
- readonly describe: "Path in HubSpot Design Tools, can be a net new path.";
1558
- };
1601
+ readonly src: "Path to the local file, relative to your current working directory.";
1602
+ readonly dest: "Path in HubSpot Design Tools, can be a net new path.";
1559
1603
  };
1560
1604
  readonly success: {
1561
- readonly fileUploaded: (src: string, dest: string, accountId: string) => string;
1605
+ readonly fileUploaded: (src: string, dest: string, accountId: number) => string;
1562
1606
  readonly uploadComplete: (dest: string) => string;
1563
1607
  };
1564
- readonly uploading: (src: string, dest: string, accountId: string) => string;
1608
+ readonly uploading: (src: string, dest: string, accountId: number) => string;
1565
1609
  readonly notUploaded: (src: string) => string;
1566
- readonly cleaning: (filePath: string, accountId: string) => string;
1567
- readonly confirmCleanUpload: (filePath: string, accountId: string) => string;
1610
+ readonly cleaning: (filePath: string, accountId: number) => string;
1611
+ readonly confirmCleanUpload: (filePath: string, accountId: number) => string;
1568
1612
  };
1569
1613
  readonly watch: {
1570
1614
  readonly describe: "Watch a directory on your computer for changes and upload the changed files to the HubSpot CMS.";
1571
1615
  readonly errors: {
1572
- readonly folderFailed: (src: string, dest: string, accountId: string) => string;
1573
- readonly fileFailed: (file: string, dest: string, accountId: string) => string;
1616
+ readonly folderFailed: (src: string, dest: string, accountId: number) => string;
1617
+ readonly fileFailed: (file: string, dest: string, accountId: number) => string;
1574
1618
  readonly destinationRequired: "A destination directory needs to be passed";
1575
1619
  readonly invalidPath: (path: string) => string;
1576
1620
  };
1577
1621
  readonly options: {
1578
- readonly disableInitial: {
1579
- readonly describe: "Disable the initial upload when watching a directory (default)";
1580
- };
1581
- readonly initialUpload: {
1582
- readonly describe: "Upload directory before watching for updates";
1583
- };
1584
- readonly notify: {
1585
- readonly describe: "Log to specified file when a watch task is triggered and after workers have gone idle. Ex. --notify path/to/file";
1586
- };
1587
- readonly remove: {
1588
- readonly describe: "Will cause watch to delete files in your HubSpot account that are not found locally.";
1589
- };
1590
- readonly convertFields: {
1591
- readonly describe: "If true, converts any javascript fields files contained in module folder or project root.";
1592
- };
1593
- readonly saveOutput: {
1594
- readonly describe: "If true, saves all output from javascript fields files as 'fields.output.json'.";
1595
- };
1596
- readonly options: {
1597
- readonly describe: "Options to pass to javascript fields files";
1598
- };
1622
+ readonly disableInitial: "Disable the initial upload when watching a directory (default)";
1623
+ readonly initialUpload: "Upload directory before watching for updates";
1624
+ readonly notify: "Log to specified file when a watch task is triggered and after workers have gone idle. Ex. --notify path/to/file";
1625
+ readonly remove: "Will cause watch to delete files in your HubSpot account that are not found locally.";
1626
+ readonly convertFields: "If true, converts any javascript fields files contained in module folder or project root.";
1627
+ readonly saveOutput: "If true, saves all output from javascript fields files as 'fields.output.json'.";
1628
+ readonly options: "Options to pass to javascript fields files";
1599
1629
  };
1600
1630
  readonly positionals: {
1601
- readonly src: {
1602
- readonly describe: "Path to the local directory your files are in, relative to your current working directory";
1603
- };
1604
- readonly dest: {
1605
- readonly describe: "Path in HubSpot Design Tools. Can be a net new path";
1606
- };
1631
+ readonly src: "Path to the local directory your files are in, relative to your current working directory";
1632
+ readonly dest: "Path in HubSpot Design Tools. Can be a net new path";
1607
1633
  };
1608
1634
  readonly warnings: {
1609
- readonly disableInitial: () => string;
1610
- readonly initialUpload: () => string;
1635
+ readonly disableInitial: `Passing the "${string}" option is no longer necessary. Running "${string}" no longer uploads the watched directory by default.`;
1636
+ readonly initialUpload: `To upload the directory run "${string}" beforehand or add the "${string}" option when running "${string}".`;
1611
1637
  readonly notUploaded: (path: string) => string;
1612
1638
  };
1613
1639
  };
@@ -2274,6 +2300,7 @@ export declare const lib: {
2274
2300
  readonly unknownMessageType: (type: string) => string;
2275
2301
  readonly invalidJSON: (data: string) => string;
2276
2302
  readonly portManagerNotRunning: (prefix: string) => string;
2303
+ readonly originNotAllowed: (origin?: string) => string;
2277
2304
  };
2278
2305
  readonly logs: {
2279
2306
  readonly startup: (port: number) => string;
@@ -2361,10 +2388,21 @@ Run ${string} to upgrade to version ${string}`;
2361
2388
  };
2362
2389
  readonly projects: {
2363
2390
  readonly create: {
2391
+ readonly prompt: {
2392
+ readonly marketPlaceDistribution: "On the HubSpot marketplace";
2393
+ readonly privateDistribution: "Privately";
2394
+ readonly distribution: "[--distribution] How would you like to distribute your application?";
2395
+ readonly auth: "[--auth] What type of authentication would you like your application to use";
2396
+ readonly staticAuth: "Static Auth";
2397
+ readonly oauth: "OAuth";
2398
+ };
2364
2399
  readonly errors: {
2365
2400
  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.";
2366
2401
  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.";
2367
- 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\"].";
2402
+ 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\"].";
2403
+ readonly exceededMaxNumberOfApps: (max: number) => string;
2404
+ readonly unableToParseAppConfig: (file: string) => string;
2405
+ readonly invalidAuthDistCombo: (authType: string, distribution: string) => string;
2368
2406
  };
2369
2407
  };
2370
2408
  readonly validateProjectConfig: {
@@ -2410,6 +2448,7 @@ Run ${string} to upgrade to version ${string}`;
2410
2448
  };
2411
2449
  };
2412
2450
  readonly projectUpload: {
2451
+ readonly wrongPlatformVersionMetaFiles: `Detected components that require a minimum platform version of ${string}. You need to update your platform version in your hsproject.json and run ${string}`;
2413
2452
  readonly uploadProjectFiles: {
2414
2453
  readonly add: (projectName: string, accountIdentifier: string) => string;
2415
2454
  readonly fail: (projectName: string, accountIdentifier: string) => string;
@@ -2568,6 +2607,24 @@ Run ${string} to upgrade to version ${string}`;
2568
2607
  };
2569
2608
  };
2570
2609
  };
2610
+ readonly configMigrate: {
2611
+ readonly deprecatedConfigWarning: (deprecatedConfigPath: string) => string;
2612
+ readonly handleMigration: {
2613
+ readonly description: (archivedConfigName: string) => string;
2614
+ readonly confirmPrompt: "Migrate the deprecated config to the global location?";
2615
+ readonly success: "Your deprecated config file has been successfully migrated.";
2616
+ };
2617
+ readonly handleMergeConfigProperties: {
2618
+ readonly mergeConflictMessage: (count: number, propertyList: string) => string;
2619
+ readonly mergeConfigConflictPrompt: (property: string, newValue: string, oldValue: string) => string;
2620
+ };
2621
+ readonly handleMerge: {
2622
+ readonly description: (archivedConfigName: string) => string;
2623
+ readonly confirmPrompt: "Merge the deprecated config into your global config?";
2624
+ readonly skippedExistingAccounts: (accountIds: (string | number)[]) => string;
2625
+ readonly success: "Your deprecated config file has been successfully merged with the global config file.";
2626
+ };
2627
+ };
2571
2628
  readonly prompts: {
2572
2629
  readonly projectDevTargetAccountPrompt: {
2573
2630
  readonly createNewSandboxOption: "<Test on a new development sandbox>";
@@ -2705,7 +2762,9 @@ Run ${string} to upgrade to version ${string}`;
2705
2762
  readonly enterName: "[--name] Give your component a name: ";
2706
2763
  readonly errors: {
2707
2764
  readonly nameRequired: "A component name is required";
2765
+ readonly componentRequired: "Must select a feature to add";
2708
2766
  readonly invalidType: (type: string) => string;
2767
+ readonly cannotAddFeature: (feature: string, reasons: string | boolean) => string;
2709
2768
  };
2710
2769
  };
2711
2770
  readonly secretPrompt: {