@hubspot/cli 7.6.0-beta.5 → 7.6.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -4
- package/api/__tests__/migrate.test.js +27 -29
- package/api/migrate.d.ts +7 -0
- package/api/migrate.js +22 -22
- package/bin/cli.js +92 -97
- package/bin/hs +2 -2
- package/bin/hscms +2 -2
- package/bin/silenceErrors.js +1 -2
- package/commands/__tests__/account.test.js +29 -34
- package/commands/__tests__/auth.test.js +11 -16
- package/commands/__tests__/cms.test.js +15 -20
- package/commands/__tests__/config.test.js +14 -19
- package/commands/__tests__/create.test.js +10 -15
- package/commands/__tests__/customObject.test.js +14 -19
- package/commands/__tests__/doctor.test.js +43 -48
- package/commands/__tests__/feedback.test.js +7 -45
- package/commands/__tests__/fetch.test.js +29 -28
- package/commands/__tests__/filemanager.test.js +14 -19
- package/commands/__tests__/function.test.js +16 -21
- package/commands/__tests__/getStarted.test.js +45 -50
- package/commands/__tests__/hubdb.test.js +17 -22
- package/commands/__tests__/init.test.js +12 -17
- package/commands/__tests__/lint.test.js +13 -18
- package/commands/__tests__/list.test.js +18 -23
- package/commands/__tests__/logs.test.js +28 -27
- package/commands/__tests__/mcp.test.js +14 -19
- package/commands/__tests__/mv.test.js +14 -52
- package/commands/__tests__/open.test.js +13 -51
- package/commands/__tests__/project.test.js +44 -49
- package/commands/__tests__/remove.test.js +13 -51
- package/commands/__tests__/sandbox.test.js +14 -19
- package/commands/__tests__/secret.test.js +16 -21
- package/commands/__tests__/testAccount.test.js +18 -21
- package/commands/__tests__/theme.test.js +15 -20
- package/commands/account/__tests__/auth.test.js +11 -16
- package/commands/account/__tests__/clean.test.js +12 -17
- package/commands/account/__tests__/createOverride.test.js +10 -15
- package/commands/account/__tests__/info.test.js +11 -16
- package/commands/account/__tests__/list.test.js +11 -16
- package/commands/account/__tests__/remove.test.js +13 -18
- package/commands/account/__tests__/removeOverride.js +8 -13
- package/commands/account/__tests__/rename.test.js +15 -20
- package/commands/account/__tests__/use.test.js +10 -15
- package/commands/account/auth.d.ts +1 -1
- package/commands/account/auth.js +78 -69
- package/commands/account/clean.d.ts +1 -1
- package/commands/account/clean.js +55 -60
- package/commands/account/createOverride.d.ts +1 -1
- package/commands/account/createOverride.js +52 -57
- package/commands/account/info.d.ts +1 -1
- package/commands/account/info.js +33 -35
- package/commands/account/list.d.ts +1 -1
- package/commands/account/list.js +43 -45
- package/commands/account/remove.d.ts +1 -1
- package/commands/account/remove.js +37 -42
- package/commands/account/removeOverride.d.ts +1 -1
- package/commands/account/removeOverride.js +38 -43
- package/commands/account/rename.d.ts +1 -1
- package/commands/account/rename.js +18 -20
- package/commands/account/use.d.ts +1 -1
- package/commands/account/use.js +29 -31
- package/commands/account.d.ts +1 -1
- package/commands/account.js +23 -28
- package/commands/app/__tests__/migrate.test.js +29 -34
- package/commands/app/migrate.d.ts +2 -2
- package/commands/app/migrate.js +40 -43
- package/commands/app/secret/__tests__/add.test.js +6 -11
- package/commands/app/secret/__tests__/delete.test.js +6 -11
- package/commands/app/secret/__tests__/list.test.js +6 -11
- package/commands/app/secret/__tests__/update.test.js +6 -11
- package/commands/app/secret/add.d.ts +1 -1
- package/commands/app/secret/add.js +28 -30
- package/commands/app/secret/delete.d.ts +1 -1
- package/commands/app/secret/delete.js +34 -36
- package/commands/app/secret/list.d.ts +1 -1
- package/commands/app/secret/list.js +25 -27
- package/commands/app/secret/update.d.ts +1 -1
- package/commands/app/secret/update.js +32 -34
- package/commands/app/secret.d.ts +1 -1
- package/commands/app/secret.js +12 -17
- package/commands/app.d.ts +1 -1
- package/commands/app.js +6 -11
- package/commands/auth.d.ts +1 -1
- package/commands/auth.js +70 -72
- package/commands/cms/convertFields.d.ts +1 -1
- package/commands/cms/convertFields.js +34 -39
- package/commands/cms/getReactModule.d.ts +1 -1
- package/commands/cms/getReactModule.js +32 -37
- package/commands/cms/lighthouseScore.d.ts +1 -1
- package/commands/cms/lighthouseScore.js +67 -72
- package/commands/cms.d.ts +1 -1
- package/commands/cms.js +11 -16
- package/commands/completion.d.ts +1 -1
- package/commands/completion.js +10 -15
- package/commands/config/migrate.d.ts +1 -1
- package/commands/config/migrate.js +27 -32
- package/commands/config/set.d.ts +2 -1
- package/commands/config/set.js +40 -32
- package/commands/config.d.ts +1 -1
- package/commands/config.js +8 -13
- package/commands/create/api-sample.d.ts +1 -1
- package/commands/create/api-sample.js +28 -33
- package/commands/create/app.d.ts +1 -1
- package/commands/create/app.js +3 -5
- package/commands/create/function.d.ts +1 -1
- package/commands/create/function.js +9 -11
- package/commands/create/index.d.ts +1 -1
- package/commands/create/index.js +19 -24
- package/commands/create/module.d.ts +1 -1
- package/commands/create/module.js +12 -14
- package/commands/create/react-app.d.ts +1 -1
- package/commands/create/react-app.js +3 -5
- package/commands/create/template.d.ts +1 -1
- package/commands/create/template.js +12 -14
- package/commands/create/vue-app.d.ts +1 -1
- package/commands/create/vue-app.js +3 -5
- package/commands/create/webpack-serverless.d.ts +1 -1
- package/commands/create/webpack-serverless.js +3 -5
- package/commands/create/website-theme.d.ts +1 -1
- package/commands/create/website-theme.js +5 -7
- package/commands/create.d.ts +2 -2
- package/commands/create.js +30 -35
- package/commands/customObject/__tests__/create.test.js +13 -18
- package/commands/customObject/__tests__/schema.test.js +18 -23
- package/commands/customObject/create.d.ts +1 -1
- package/commands/customObject/create.js +28 -30
- package/commands/customObject/schema/__tests__/create.test.js +13 -18
- package/commands/customObject/schema/__tests__/delete.test.js +13 -18
- package/commands/customObject/schema/__tests__/fetch-all.test.js +13 -18
- package/commands/customObject/schema/__tests__/fetch.test.js +13 -18
- package/commands/customObject/schema/__tests__/list.test.js +13 -18
- package/commands/customObject/schema/__tests__/update.test.js +13 -18
- package/commands/customObject/schema/create.d.ts +1 -1
- package/commands/customObject/schema/create.js +28 -30
- package/commands/customObject/schema/delete.d.ts +1 -1
- package/commands/customObject/schema/delete.js +24 -26
- package/commands/customObject/schema/fetch-all.d.ts +1 -1
- package/commands/customObject/schema/fetch-all.js +22 -24
- package/commands/customObject/schema/fetch.d.ts +1 -1
- package/commands/customObject/schema/fetch.js +24 -26
- package/commands/customObject/schema/list.d.ts +1 -1
- package/commands/customObject/schema/list.js +13 -15
- package/commands/customObject/schema/update.d.ts +1 -1
- package/commands/customObject/schema/update.js +32 -34
- package/commands/customObject/schema.d.ts +1 -1
- package/commands/customObject/schema.js +17 -22
- package/commands/customObject.d.ts +1 -1
- package/commands/customObject.js +13 -18
- package/commands/doctor.d.ts +1 -1
- package/commands/doctor.js +28 -33
- package/commands/feedback.d.ts +1 -1
- package/commands/feedback.js +19 -24
- package/commands/fetch.d.ts +1 -1
- package/commands/fetch.js +28 -30
- package/commands/filemanager/__tests__/fetch.test.js +17 -22
- package/commands/filemanager/__tests__/upload.test.js +15 -20
- package/commands/filemanager/fetch.d.ts +1 -1
- package/commands/filemanager/fetch.js +23 -25
- package/commands/filemanager/upload.d.ts +1 -1
- package/commands/filemanager/upload.js +39 -44
- package/commands/filemanager.d.ts +1 -1
- package/commands/filemanager.js +8 -13
- package/commands/function/deploy.d.ts +1 -1
- package/commands/function/deploy.js +35 -40
- package/commands/function/list.d.ts +1 -1
- package/commands/function/list.js +24 -29
- package/commands/function/server.d.ts +1 -1
- package/commands/function/server.js +15 -17
- package/commands/function.d.ts +1 -1
- package/commands/function.js +12 -18
- package/commands/getStarted.d.ts +1 -1
- package/commands/getStarted.js +119 -125
- package/commands/hubdb/__tests__/clear.test.js +13 -18
- package/commands/hubdb/__tests__/create.test.js +13 -18
- package/commands/hubdb/__tests__/delete.test.js +13 -18
- package/commands/hubdb/__tests__/fetch.test.js +13 -18
- package/commands/hubdb/__tests__/list.test.js +23 -28
- package/commands/hubdb/clear.d.ts +1 -1
- package/commands/hubdb/clear.js +20 -22
- package/commands/hubdb/create.d.ts +1 -1
- package/commands/hubdb/create.js +30 -35
- package/commands/hubdb/delete.d.ts +1 -1
- package/commands/hubdb/delete.js +24 -26
- package/commands/hubdb/fetch.d.ts +1 -1
- package/commands/hubdb/fetch.js +17 -19
- package/commands/hubdb/list.d.ts +1 -1
- package/commands/hubdb/list.js +33 -35
- package/commands/hubdb.d.ts +1 -1
- package/commands/hubdb.js +18 -24
- package/commands/init.d.ts +1 -1
- package/commands/init.js +83 -88
- package/commands/lint.d.ts +1 -1
- package/commands/lint.js +24 -26
- package/commands/list.d.ts +1 -1
- package/commands/list.js +32 -37
- package/commands/logs.d.ts +1 -1
- package/commands/logs.js +35 -37
- package/commands/mcp/__tests__/setup.test.js +7 -12
- package/commands/mcp/__tests__/start.test.js +7 -12
- package/commands/mcp/setup.d.ts +1 -1
- package/commands/mcp/setup.js +17 -19
- package/commands/mcp/start.d.ts +1 -1
- package/commands/mcp/start.js +32 -34
- package/commands/mcp.d.ts +1 -1
- package/commands/mcp.js +7 -12
- package/commands/module/marketplace-validate.d.ts +1 -1
- package/commands/module/marketplace-validate.js +21 -26
- package/commands/module.d.ts +1 -1
- package/commands/module.js +7 -13
- package/commands/mv.d.ts +1 -1
- package/commands/mv.js +20 -22
- package/commands/open.d.ts +1 -1
- package/commands/open.js +19 -21
- package/commands/project/__tests__/add.test.js +10 -15
- package/commands/project/__tests__/create.test.js +14 -19
- package/commands/project/__tests__/deploy.test.js +96 -134
- package/commands/project/__tests__/devUnifiedFlow.test.js +130 -159
- package/commands/project/__tests__/download.test.js +14 -19
- package/commands/project/__tests__/installDeps.test.js +32 -70
- package/commands/project/__tests__/listBuilds.test.js +14 -19
- package/commands/project/__tests__/logs.test.js +56 -94
- package/commands/project/__tests__/migrate.test.js +25 -30
- package/commands/project/__tests__/migrateApp.test.js +17 -22
- package/commands/project/__tests__/open.test.js +16 -21
- package/commands/project/__tests__/profile.test.js +14 -19
- package/commands/project/__tests__/upload.test.js +18 -23
- package/commands/project/__tests__/watch.test.js +14 -19
- package/commands/project/add.d.ts +1 -1
- package/commands/project/add.js +34 -36
- package/commands/project/cloneApp.d.ts +1 -1
- package/commands/project/cloneApp.js +67 -72
- package/commands/project/create.d.ts +2 -2
- package/commands/project/create.js +63 -68
- package/commands/project/deploy.d.ts +1 -1
- package/commands/project/deploy.js +67 -69
- package/commands/project/dev/deprecatedFlow.d.ts +2 -2
- package/commands/project/dev/deprecatedFlow.js +52 -58
- package/commands/project/dev/index.d.ts +1 -1
- package/commands/project/dev/index.js +44 -47
- package/commands/project/dev/unifiedFlow.d.ts +4 -4
- package/commands/project/dev/unifiedFlow.js +64 -75
- package/commands/project/download.d.ts +1 -1
- package/commands/project/download.js +35 -40
- package/commands/project/installDeps.d.ts +1 -1
- package/commands/project/installDeps.js +29 -34
- package/commands/project/listBuilds.d.ts +1 -1
- package/commands/project/listBuilds.js +40 -45
- package/commands/project/logs.d.ts +1 -1
- package/commands/project/logs.js +52 -54
- package/commands/project/migrate.d.ts +1 -1
- package/commands/project/migrate.js +24 -26
- package/commands/project/migrateApp.d.ts +2 -2
- package/commands/project/migrateApp.js +18 -20
- package/commands/project/open.d.ts +1 -1
- package/commands/project/open.js +25 -30
- package/commands/project/profile/add.d.ts +1 -1
- package/commands/project/profile/add.js +68 -73
- package/commands/project/profile/delete.d.ts +1 -1
- package/commands/project/profile/delete.js +68 -61
- package/commands/project/profile.d.ts +1 -1
- package/commands/project/profile.js +9 -14
- package/commands/project/upload.d.ts +1 -1
- package/commands/project/upload.js +50 -55
- package/commands/project/validate.d.ts +1 -1
- package/commands/project/validate.js +36 -40
- package/commands/project/watch.d.ts +1 -1
- package/commands/project/watch.js +59 -61
- package/commands/project.d.ts +1 -1
- package/commands/project.js +38 -43
- package/commands/remove.d.ts +1 -1
- package/commands/remove.js +15 -17
- package/commands/sandbox/__tests__/create.test.js +222 -20
- package/commands/sandbox/__tests__/delete.test.js +15 -20
- package/commands/sandbox/create.d.ts +2 -2
- package/commands/sandbox/create.js +92 -79
- package/commands/sandbox/delete.d.ts +1 -1
- package/commands/sandbox/delete.js +94 -96
- package/commands/sandbox.d.ts +1 -1
- package/commands/sandbox.js +9 -14
- package/commands/secret/__tests__/addSecret.test.js +13 -18
- package/commands/secret/__tests__/deleteSecret.test.js +13 -18
- package/commands/secret/__tests__/listSecret.test.js +13 -18
- package/commands/secret/__tests__/updateSecret.test.js +13 -18
- package/commands/secret/addSecret.d.ts +1 -1
- package/commands/secret/addSecret.js +26 -28
- package/commands/secret/deleteSecret.d.ts +1 -1
- package/commands/secret/deleteSecret.js +27 -29
- package/commands/secret/listSecret.d.ts +1 -1
- package/commands/secret/listSecret.js +19 -21
- package/commands/secret/updateSecret.d.ts +1 -1
- package/commands/secret/updateSecret.js +25 -27
- package/commands/secret.d.ts +1 -1
- package/commands/secret.js +13 -18
- package/commands/testAccount/__tests__/create.test.js +17 -22
- package/commands/testAccount/__tests__/createConfig.test.js +6 -11
- package/commands/testAccount/__tests__/delete.test.js +15 -20
- package/commands/testAccount/__tests__/importData.test.js +93 -0
- package/commands/testAccount/create.d.ts +1 -1
- package/commands/testAccount/create.js +63 -58
- package/commands/testAccount/createConfig.d.ts +1 -1
- package/commands/testAccount/createConfig.js +36 -41
- package/commands/testAccount/delete.d.ts +1 -1
- package/commands/testAccount/delete.js +17 -19
- package/commands/testAccount/importData.d.ts +9 -0
- package/commands/testAccount/importData.js +61 -0
- package/commands/testAccount.d.ts +1 -1
- package/commands/testAccount.js +12 -15
- package/commands/theme/__tests__/generate-selectors.test.js +7 -12
- package/commands/theme/__tests__/marketplace-validate.test.js +14 -19
- package/commands/theme/__tests__/preview.test.js +12 -17
- package/commands/theme/generate-selectors.d.ts +1 -1
- package/commands/theme/generate-selectors.js +23 -28
- package/commands/theme/marketplace-validate.d.ts +1 -1
- package/commands/theme/marketplace-validate.js +19 -24
- package/commands/theme/preview.d.ts +1 -1
- package/commands/theme/preview.js +60 -65
- package/commands/theme.d.ts +1 -1
- package/commands/theme.js +11 -16
- package/commands/upload.d.ts +1 -1
- package/commands/upload.js +77 -82
- package/commands/watch.d.ts +1 -1
- package/commands/watch.js +45 -51
- package/lang/en.d.ts +69 -9
- package/lang/en.js +442 -385
- package/lang/en.lyaml +4 -2
- package/lib/__tests__/accountTypes.test.js +20 -22
- package/lib/__tests__/buildAccount.test.js +88 -65
- package/lib/__tests__/commonOpts.test.js +20 -22
- package/lib/__tests__/dependencyManagement.test.js +46 -51
- package/lib/__tests__/developerTestAccounts.test.js +27 -62
- package/lib/__tests__/hasFeature.test.js +6 -8
- package/lib/__tests__/importData.test.js +89 -0
- package/lib/__tests__/npm.test.js +15 -20
- package/lib/__tests__/oauth.test.js +23 -28
- package/lib/__tests__/parsing.test.js +18 -20
- package/lib/__tests__/polling.test.js +24 -26
- package/lib/__tests__/process.test.js +14 -19
- package/lib/__tests__/projectProfiles.test.js +34 -39
- package/lib/__tests__/sandboxSync.test.js +30 -35
- package/lib/__tests__/sandboxes.test.js +29 -31
- package/lib/__tests__/serverlessLogs.test.js +8 -13
- package/lib/__tests__/usageTracking.test.js +33 -34
- package/lib/__tests__/validation.test.js +18 -20
- package/lib/__tests__/yargsUtils.test.js +17 -41
- package/lib/accountTypes.js +23 -34
- package/lib/app/__tests__/migrate.test.js +120 -112
- package/lib/app/__tests__/migrate_legacy.test.js +29 -31
- package/lib/app/migrate.d.ts +18 -4
- package/lib/app/migrate.js +151 -148
- package/lib/app/migrate_legacy.d.ts +1 -1
- package/lib/app/migrate_legacy.js +72 -78
- package/lib/app/urls.js +5 -9
- package/lib/buildAccount.d.ts +5 -2
- package/lib/buildAccount.js +126 -80
- package/lib/commonOpts.d.ts +1 -1
- package/lib/commonOpts.js +67 -59
- package/lib/configMigrate.js +34 -38
- package/lib/configOptions.d.ts +5 -0
- package/lib/configOptions.js +44 -40
- package/lib/constants.d.ts +9 -0
- package/lib/constants.js +40 -34
- package/lib/customObject.js +2 -6
- package/lib/dependencyManagement.js +37 -45
- package/lib/developerTestAccounts.d.ts +1 -1
- package/lib/developerTestAccounts.js +34 -39
- package/lib/doctor/Diagnosis.d.ts +1 -1
- package/lib/doctor/Diagnosis.js +25 -29
- package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -1
- package/lib/doctor/DiagnosticInfoBuilder.js +30 -37
- package/lib/doctor/Doctor.d.ts +1 -1
- package/lib/doctor/Doctor.js +94 -101
- package/lib/doctor/__tests__/Diagnosis.test.js +9 -14
- package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +29 -34
- package/lib/doctor/__tests__/Doctor.test.js +24 -26
- package/lib/enums/exitCodes.js +1 -4
- package/lib/errorHandlers/index.js +33 -44
- package/lib/errorHandlers/suppressError.d.ts +1 -1
- package/lib/errorHandlers/suppressError.js +28 -31
- package/lib/errors/ProjectValidationError.d.ts +4 -0
- package/lib/errors/ProjectValidationError.js +9 -0
- package/lib/filesystem.js +8 -15
- package/lib/generateSelectors.js +18 -29
- package/lib/hasFeature.d.ts +2 -1
- package/lib/hasFeature.js +10 -6
- package/lib/importData.d.ts +3 -0
- package/lib/importData.js +50 -0
- package/lib/interpolation.js +11 -18
- package/lib/lang.d.ts +1 -1
- package/lib/lang.js +22 -27
- package/lib/links.js +16 -24
- package/lib/marketplaceValidate.js +29 -39
- package/lib/mcp/setup.d.ts +4 -0
- package/lib/mcp/setup.js +106 -82
- package/lib/middleware/__test__/configMiddleware.test.js +20 -55
- package/lib/middleware/__test__/gitMiddleware.test.js +7 -42
- package/lib/middleware/__test__/notificationsMiddleware.test.js +2 -4
- package/lib/middleware/__test__/requestMiddleware.test.js +6 -11
- package/lib/middleware/__test__/utils.test.js +9 -11
- package/lib/middleware/__test__/yargsChecksMiddleware.test.js +9 -44
- package/lib/middleware/autoUpdateMiddleware.js +33 -40
- package/lib/middleware/configMiddleware.js +36 -42
- package/lib/middleware/fireAlarmMiddleware.js +12 -18
- package/lib/middleware/gitMiddleware.js +5 -8
- package/lib/middleware/notificationsMiddleware.js +16 -23
- package/lib/middleware/requestMiddleware.js +4 -10
- package/lib/middleware/utils.js +1 -4
- package/lib/middleware/yargsChecksMiddleware.js +10 -13
- package/lib/npm.js +14 -23
- package/lib/oauth.js +29 -35
- package/lib/parsing.js +3 -6
- package/lib/polling.js +11 -15
- package/lib/process.js +11 -19
- package/lib/projectProfiles.d.ts +2 -2
- package/lib/projectProfiles.js +32 -42
- package/lib/projects/ProjectLogsManager.js +18 -21
- package/lib/projects/__tests__/AppDevModeInterface.test.js +142 -148
- package/lib/projects/__tests__/LocalDevProcess.test.js +84 -144
- package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +202 -38
- package/lib/projects/__tests__/ProjectLogsManager.test.js +56 -58
- package/lib/projects/__tests__/buildAndDeploy.test.js +7 -9
- package/lib/projects/__tests__/components.test.js +9 -14
- package/lib/projects/__tests__/localDevHelpers.test.d.ts +1 -0
- package/lib/projects/__tests__/localDevHelpers.test.js +118 -0
- package/lib/projects/__tests__/projects.test.js +35 -40
- package/lib/projects/__tests__/structure.test.js +43 -81
- package/lib/projects/add/__tests__/legacyAddComponent.test.js +26 -28
- package/lib/projects/add/__tests__/v3AddComponent.test.js +25 -30
- package/lib/projects/add/legacyAddComponent.d.ts +1 -1
- package/lib/projects/add/legacyAddComponent.js +24 -30
- package/lib/projects/add/v3AddComponent.d.ts +1 -1
- package/lib/projects/add/v3AddComponent.js +37 -42
- package/lib/projects/buildAndDeploy.d.ts +1 -1
- package/lib/projects/buildAndDeploy.js +88 -97
- package/lib/projects/components.js +19 -25
- package/lib/projects/config.d.ts +1 -1
- package/lib/projects/config.js +32 -41
- package/lib/projects/create/__tests__/legacy.test.js +22 -57
- package/lib/projects/create/__tests__/v3.test.js +5 -7
- package/lib/projects/create/index.d.ts +3 -3
- package/lib/projects/create/index.js +19 -22
- package/lib/projects/create/legacy.d.ts +1 -1
- package/lib/projects/create/legacy.js +25 -31
- package/lib/projects/create/v3.d.ts +3 -5
- package/lib/projects/create/v3.js +47 -59
- package/lib/projects/ensureProjectExists.js +31 -37
- package/lib/projects/localDev/AppDevModeInterface.d.ts +3 -3
- package/lib/projects/localDev/AppDevModeInterface.js +58 -60
- package/lib/projects/localDev/DevServerManager.d.ts +1 -1
- package/lib/projects/localDev/DevServerManager.js +22 -24
- package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
- package/lib/projects/localDev/DevServerManagerV2.js +15 -20
- package/lib/projects/localDev/LocalDevLogger.d.ts +1 -5
- package/lib/projects/localDev/LocalDevLogger.js +66 -79
- package/lib/projects/localDev/LocalDevManager.d.ts +1 -1
- package/lib/projects/localDev/LocalDevManager.js +106 -111
- package/lib/projects/localDev/LocalDevProcess.d.ts +7 -6
- package/lib/projects/localDev/LocalDevProcess.js +40 -53
- package/lib/projects/localDev/LocalDevState.d.ts +10 -10
- package/lib/projects/localDev/LocalDevState.js +23 -19
- package/lib/projects/localDev/LocalDevWatcher.d.ts +1 -1
- package/lib/projects/localDev/LocalDevWatcher.js +6 -11
- package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +4 -3
- package/lib/projects/localDev/LocalDevWebsocketServer.js +78 -55
- package/lib/projects/localDev/helpers.d.ts +10 -3
- package/lib/projects/localDev/helpers.js +211 -174
- package/lib/projects/structure.d.ts +3 -3
- package/lib/projects/structure.js +32 -78
- package/lib/projects/ui.js +10 -13
- package/lib/projects/upload.d.ts +1 -1
- package/lib/projects/upload.js +57 -73
- package/lib/projects/urls.d.ts +1 -1
- package/lib/projects/urls.js +15 -25
- package/lib/projects/watch.d.ts +1 -1
- package/lib/projects/watch.js +48 -54
- package/lib/prompts/__tests__/downloadProjectPrompt.test.js +9 -11
- package/lib/prompts/__tests__/projectsLogsPrompt.test.js +11 -16
- package/lib/prompts/accountNamePrompt.d.ts +1 -1
- package/lib/prompts/accountNamePrompt.js +26 -31
- package/lib/prompts/accountsPrompt.js +12 -15
- package/lib/prompts/cmsFieldPrompt.js +13 -19
- package/lib/prompts/confirmImportDataPrompt.d.ts +1 -0
- package/lib/prompts/confirmImportDataPrompt.js +12 -0
- package/lib/prompts/createApiSamplePrompt.d.ts +1 -1
- package/lib/prompts/createApiSamplePrompt.js +9 -12
- package/lib/prompts/createDeveloperTestAccountConfigPrompt.d.ts +1 -1
- package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +23 -26
- package/lib/prompts/createFunctionPrompt.js +17 -20
- package/lib/prompts/createModulePrompt.js +12 -15
- package/lib/prompts/createTemplatePrompt.js +5 -8
- package/lib/prompts/downloadProjectPrompt.js +17 -20
- package/lib/prompts/importDataFilePathPrompt.d.ts +1 -0
- package/lib/prompts/importDataFilePathPrompt.js +24 -0
- package/lib/prompts/importDataTestAccountSelectPrompt.d.ts +3 -0
- package/lib/prompts/importDataTestAccountSelectPrompt.js +29 -0
- package/lib/prompts/installAppPrompt.js +19 -26
- package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -2
- package/lib/prompts/personalAccessKeyPrompt.js +40 -47
- package/lib/prompts/previewPrompt.js +15 -22
- package/lib/prompts/projectAddPrompt.d.ts +1 -1
- package/lib/prompts/projectAddPrompt.js +14 -18
- package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -1
- package/lib/prompts/projectDevTargetAccountPrompt.js +48 -54
- package/lib/prompts/projectNameAndDestPrompt.d.ts +1 -1
- package/lib/prompts/projectNameAndDestPrompt.js +22 -29
- package/lib/prompts/projectNamePrompt.js +11 -14
- package/lib/prompts/projectsLogsPrompt.js +5 -8
- package/lib/prompts/promptUtils.d.ts +1 -1
- package/lib/prompts/promptUtils.js +17 -24
- package/lib/prompts/sandboxesPrompt.d.ts +1 -1
- package/lib/prompts/sandboxesPrompt.js +26 -30
- package/lib/prompts/secretPrompt.js +10 -15
- package/lib/prompts/selectAppPrompt.js +11 -14
- package/lib/prompts/selectHubDBTablePrompt.js +24 -30
- package/lib/prompts/selectProjectTemplatePrompt.d.ts +1 -1
- package/lib/prompts/selectProjectTemplatePrompt.js +10 -13
- package/lib/prompts/selectPublicAppForMigrationPrompt.js +22 -25
- package/lib/prompts/setAsDefaultAccountPrompt.js +13 -16
- package/lib/prompts/uploadPrompt.js +11 -17
- package/lib/sandboxSync.d.ts +1 -1
- package/lib/sandboxSync.js +58 -65
- package/lib/sandboxes.d.ts +5 -1
- package/lib/sandboxes.js +72 -76
- package/lib/schema.js +13 -20
- package/lib/serverlessLogs.js +45 -52
- package/lib/testUtils.js +4 -8
- package/lib/ui/SpinniesManager.d.ts +1 -1
- package/lib/ui/SpinniesManager.js +29 -34
- package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +1 -0
- package/lib/ui/__tests__/removeAnsiCodes.test.js +84 -0
- package/lib/ui/boxen.js +11 -14
- package/lib/ui/git.js +14 -20
- package/lib/ui/index.d.ts +6 -0
- package/lib/ui/index.js +56 -76
- package/lib/ui/logger.js +10 -13
- package/lib/ui/removeAnsiCodes.d.ts +1 -0
- package/lib/ui/removeAnsiCodes.js +4 -0
- package/lib/ui/serverlessFunctionLogs.js +14 -20
- package/lib/ui/spinniesUtils.js +24 -39
- package/lib/ui/supportHyperlinks.js +3 -6
- package/lib/ui/supportsColor.js +11 -17
- package/lib/ui/table.js +6 -13
- package/lib/upload.js +15 -21
- package/lib/usageTracking.js +35 -44
- package/lib/utils/hasFlag.js +2 -8
- package/lib/validation.js +48 -87
- package/lib/yargsUtils.d.ts +2 -1
- package/lib/yargsUtils.js +19 -16
- package/mcp-server/server.js +6 -8
- package/mcp-server/tools/index.js +15 -16
- package/mcp-server/tools/project/{AddFeatureToProject.d.ts → AddFeatureToProjectTool.d.ts} +5 -5
- package/mcp-server/tools/project/AddFeatureToProjectTool.js +76 -0
- package/mcp-server/tools/project/CreateProjectTool.d.ts +4 -4
- package/mcp-server/tools/project/CreateProjectTool.js +40 -54
- package/mcp-server/tools/project/{DeployProject.d.ts → DeployProjectTool.d.ts} +2 -2
- package/mcp-server/tools/project/DeployProjectTool.js +49 -0
- package/mcp-server/tools/project/GetConfigValuesTool.d.ts +20 -0
- package/mcp-server/tools/project/GetConfigValuesTool.js +51 -0
- package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
- package/mcp-server/tools/project/GuidedWalkthroughTool.js +21 -25
- package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
- package/mcp-server/tools/project/UploadProjectTools.js +12 -19
- package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
- package/mcp-server/tools/project/ValidateProjectTool.js +13 -17
- package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +1 -0
- package/mcp-server/tools/project/__tests__/{AddFeatureToProject.test.js → AddFeatureToProjectTool.test.js} +15 -17
- package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +12 -15
- package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +1 -0
- package/mcp-server/tools/project/__tests__/{DeployProject.test.js → DeployProjectTool.test.js} +6 -8
- package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +1 -0
- package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +198 -0
- package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +4 -6
- package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +4 -6
- package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +4 -6
- package/mcp-server/tools/project/constants.d.ts +1 -0
- package/mcp-server/tools/project/constants.js +14 -9
- package/mcp-server/types.js +1 -5
- package/mcp-server/utils/__tests__/command.test.js +9 -11
- package/mcp-server/utils/__tests__/project.test.js +12 -17
- package/mcp-server/utils/command.d.ts +1 -1
- package/mcp-server/utils/command.js +4 -11
- package/mcp-server/utils/content.d.ts +1 -1
- package/mcp-server/utils/content.js +2 -6
- package/mcp-server/utils/project.js +8 -14
- package/mcp-server/utils/toolUsageTracking.js +11 -14
- package/package.json +21 -14
- package/types/Cms.d.ts +1 -1
- package/types/Cms.js +1 -2
- package/types/LocalDev.d.ts +4 -7
- package/types/LocalDev.js +1 -2
- package/types/ProjectComponents.d.ts +2 -2
- package/types/ProjectComponents.js +1 -2
- package/types/Projects.d.ts +1 -1
- package/types/Projects.js +2 -5
- package/types/Prompts.js +1 -2
- package/types/Sandboxes.js +1 -2
- package/types/Yargs.js +1 -2
- package/ui/index.d.ts +1 -0
- package/ui/index.js +6 -0
- package/mcp-server/tools/project/AddFeatureToProject.js +0 -88
- package/mcp-server/tools/project/DeployProject.js +0 -53
- /package/{mcp-server/tools/project/__tests__/AddFeatureToProject.test.d.ts → commands/testAccount/__tests__/importData.test.d.ts} +0 -0
- /package/{mcp-server/tools/project/__tests__/DeployProject.test.d.ts → lib/__tests__/importData.test.d.ts} +0 -0
package/lib/commonOpts.js
CHANGED
|
@@ -1,35 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
exports.addUseEnvironmentOptions = addUseEnvironmentOptions;
|
|
13
|
-
exports.addJSONOutputOptions = addJSONOutputOptions;
|
|
14
|
-
exports.addCustomHelpOutput = addCustomHelpOutput;
|
|
15
|
-
exports.setLogLevel = setLogLevel;
|
|
16
|
-
exports.getCommandName = getCommandName;
|
|
17
|
-
exports.getCmsPublishMode = getCmsPublishMode;
|
|
18
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
19
|
-
const yargs_parser_1 = __importDefault(require("yargs-parser"));
|
|
20
|
-
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
21
|
-
const files_1 = require("@hubspot/local-dev-lib/constants/files");
|
|
22
|
-
const config_1 = require("@hubspot/local-dev-lib/config");
|
|
23
|
-
const errorHandlers_1 = require("./errorHandlers");
|
|
24
|
-
const exitCodes_1 = require("./enums/exitCodes");
|
|
25
|
-
const ui_1 = require("./ui");
|
|
26
|
-
const lang_1 = require("./lang");
|
|
27
|
-
function addGlobalOptions(yargs) {
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import yargsParser from 'yargs-parser';
|
|
3
|
+
import { LOG_LEVEL, logger, setLogLevel as setLoggerLogLevel, } from '@hubspot/local-dev-lib/logger';
|
|
4
|
+
import { DEFAULT_CMS_PUBLISH_MODE, CMS_PUBLISH_MODE, } from '@hubspot/local-dev-lib/constants/files';
|
|
5
|
+
import { getAccountConfig, getAndLoadConfigIfNeeded, } from '@hubspot/local-dev-lib/config';
|
|
6
|
+
import { debugError } from './errorHandlers/index.js';
|
|
7
|
+
import { EXIT_CODES } from './enums/exitCodes.js';
|
|
8
|
+
import { uiCommandReference } from './ui/index.js';
|
|
9
|
+
import { i18n } from './lang.js';
|
|
10
|
+
import { getTerminalUISupport, UI_COLORS } from './ui/index.js';
|
|
11
|
+
export function addGlobalOptions(yargs) {
|
|
28
12
|
yargs.version(false);
|
|
29
13
|
yargs.option('debug', {
|
|
30
14
|
alias: 'd',
|
|
31
15
|
default: false,
|
|
32
|
-
describe:
|
|
16
|
+
describe: i18n('lib.commonOpts.options.debug.describe'),
|
|
33
17
|
type: 'boolean',
|
|
34
18
|
});
|
|
35
19
|
yargs.option('network-debug', {
|
|
@@ -39,63 +23,87 @@ function addGlobalOptions(yargs) {
|
|
|
39
23
|
});
|
|
40
24
|
return yargs;
|
|
41
25
|
}
|
|
42
|
-
function addAccountOptions(yargs) {
|
|
26
|
+
export function addAccountOptions(yargs) {
|
|
43
27
|
return yargs.option('account', {
|
|
44
28
|
alias: 'a',
|
|
45
|
-
describe:
|
|
29
|
+
describe: i18n('lib.commonOpts.options.account.describe'),
|
|
46
30
|
type: 'string',
|
|
47
31
|
});
|
|
48
32
|
}
|
|
49
|
-
function addConfigOptions(yargs) {
|
|
33
|
+
export function addConfigOptions(yargs) {
|
|
50
34
|
return yargs.option('config', {
|
|
51
35
|
alias: 'c',
|
|
52
|
-
describe:
|
|
36
|
+
describe: i18n('lib.commonOpts.options.config.describe'),
|
|
53
37
|
type: 'string',
|
|
54
38
|
});
|
|
55
39
|
}
|
|
56
|
-
function addOverwriteOptions(yargs) {
|
|
40
|
+
export function addOverwriteOptions(yargs) {
|
|
57
41
|
return yargs.option('overwrite', {
|
|
58
42
|
alias: 'o',
|
|
59
|
-
describe:
|
|
43
|
+
describe: i18n('lib.commonOpts.options.overwrite.describe'),
|
|
60
44
|
type: 'boolean',
|
|
61
45
|
default: false,
|
|
62
46
|
});
|
|
63
47
|
}
|
|
64
|
-
function addCmsPublishModeOptions(yargs, { read, write }) {
|
|
65
|
-
const cmsPublishModes = `<${Object.values(
|
|
48
|
+
export function addCmsPublishModeOptions(yargs, { read, write }) {
|
|
49
|
+
const cmsPublishModes = `<${Object.values(CMS_PUBLISH_MODE).join(' | ')}>`;
|
|
66
50
|
return yargs.option('cms-publish-mode', {
|
|
67
51
|
alias: 'm',
|
|
68
|
-
describe:
|
|
52
|
+
describe: i18n(`lib.commonOpts.options.modes.describe.${read ? 'read' : write ? 'write' : 'default'}`, { modes: cmsPublishModes }),
|
|
69
53
|
type: 'string',
|
|
70
54
|
});
|
|
71
55
|
}
|
|
72
|
-
function addTestingOptions(yargs) {
|
|
56
|
+
export function addTestingOptions(yargs) {
|
|
73
57
|
return yargs.option('qa', {
|
|
74
|
-
describe:
|
|
58
|
+
describe: i18n('lib.commonOpts.options.qa.describe'),
|
|
75
59
|
type: 'boolean',
|
|
76
60
|
default: false,
|
|
77
61
|
hidden: true,
|
|
78
62
|
});
|
|
79
63
|
}
|
|
80
|
-
function addUseEnvironmentOptions(yargs) {
|
|
64
|
+
export function addUseEnvironmentOptions(yargs) {
|
|
81
65
|
yargs.option('use-env', {
|
|
82
|
-
describe:
|
|
66
|
+
describe: i18n('lib.commonOpts.options.useEnv.describe'),
|
|
83
67
|
type: 'boolean',
|
|
84
68
|
});
|
|
85
69
|
yargs.conflicts('use-env', 'account');
|
|
86
70
|
return yargs;
|
|
87
71
|
}
|
|
88
|
-
function addJSONOutputOptions(yargs) {
|
|
72
|
+
export function addJSONOutputOptions(yargs) {
|
|
89
73
|
return yargs.option('json', {
|
|
90
74
|
alias: 'format-output-as-json',
|
|
91
|
-
describe:
|
|
75
|
+
describe: i18n('lib.commonOpts.options.jsonOutput.describe'),
|
|
92
76
|
type: 'boolean',
|
|
93
77
|
hidden: true,
|
|
94
78
|
});
|
|
95
79
|
}
|
|
96
|
-
|
|
80
|
+
// Remove this once we've upgraded to yargs 18.0.0
|
|
81
|
+
function uiBetaTagWithColor(message) {
|
|
82
|
+
const terminalUISupport = getTerminalUISupport();
|
|
83
|
+
const tag = i18n(`lib.ui.betaTagWithStyle`);
|
|
84
|
+
const result = `${terminalUISupport.color ? chalk.hex(UI_COLORS.SORBET)(tag) : tag} ${message}`;
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
87
|
+
// Remove this once we've upgraded to yargs 18.0.0
|
|
88
|
+
function uiDeprecatedTagWithColor(message) {
|
|
89
|
+
const terminalUISupport = getTerminalUISupport();
|
|
90
|
+
const tag = i18n(`lib.ui.deprecatedTagWithStyle`);
|
|
91
|
+
const result = `${terminalUISupport.color ? chalk.yellow(tag) : tag} ${message}`;
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
export async function addCustomHelpOutput(yargs, command, describe) {
|
|
97
95
|
try {
|
|
98
|
-
|
|
96
|
+
// Remove this once we've upgraded to yargs 18.0.0
|
|
97
|
+
if (describe && describe.includes(i18n(`lib.ui.betaTag`))) {
|
|
98
|
+
describe = describe.replace(i18n(`lib.ui.betaTag`) + ' ', '');
|
|
99
|
+
describe = uiBetaTagWithColor(describe);
|
|
100
|
+
}
|
|
101
|
+
// Remove this once we've upgraded to yargs 18.0.0
|
|
102
|
+
if (describe && describe.includes(i18n(`lib.ui.deprecatedTag`))) {
|
|
103
|
+
describe = describe.replace(i18n(`lib.ui.deprecatedTag`) + ' ', '');
|
|
104
|
+
describe = uiDeprecatedTagWithColor(describe);
|
|
105
|
+
}
|
|
106
|
+
const parsedArgv = yargsParser(process.argv.slice(2));
|
|
99
107
|
if (parsedArgv && parsedArgv.help) {
|
|
100
108
|
const commandBase = `hs ${parsedArgv._.slice(0, -1).join(' ')}`;
|
|
101
109
|
// Make sure we are targeting the correct command by confirming that
|
|
@@ -116,7 +124,7 @@ async function addCustomHelpOutput(yargs, command, describe) {
|
|
|
116
124
|
// Format the original help output to be more readable
|
|
117
125
|
let commandHelp = await yargs.getHelp();
|
|
118
126
|
['Options:', 'Commands:', 'Examples:', 'Positionals:'].forEach(header => {
|
|
119
|
-
commandHelp = commandHelp.replace(header,
|
|
127
|
+
commandHelp = commandHelp.replace(header, chalk.bold(header));
|
|
120
128
|
});
|
|
121
129
|
// Remove "hs <command>" from the help output (this shows up for command buckets)
|
|
122
130
|
commandHelp = commandHelp.replace('hs <command>\n', '');
|
|
@@ -124,35 +132,35 @@ async function addCustomHelpOutput(yargs, command, describe) {
|
|
|
124
132
|
if (commandHelp.startsWith('\n')) {
|
|
125
133
|
commandHelp = commandHelp.slice(1);
|
|
126
134
|
}
|
|
127
|
-
|
|
128
|
-
process.exit(
|
|
135
|
+
logger.log(`${uiCommandReference(fullCommand, false)}\n\n${describe ? `${describe}\n\n` : ''}${commandHelp}`);
|
|
136
|
+
process.exit(EXIT_CODES.SUCCESS);
|
|
129
137
|
}
|
|
130
138
|
}
|
|
131
139
|
catch (e) {
|
|
132
140
|
// Ignore error to allow yargs to show the default help output using the command description
|
|
133
|
-
|
|
141
|
+
debugError(e);
|
|
134
142
|
}
|
|
135
143
|
}
|
|
136
|
-
function setLogLevel(options) {
|
|
144
|
+
export function setLogLevel(options) {
|
|
137
145
|
const { debug, networkDebug, json } = options;
|
|
138
146
|
if (json) {
|
|
139
|
-
(
|
|
147
|
+
setLoggerLogLevel(LOG_LEVEL.ERROR);
|
|
140
148
|
}
|
|
141
149
|
else if (debug) {
|
|
142
|
-
(
|
|
150
|
+
setLoggerLogLevel(LOG_LEVEL.DEBUG);
|
|
143
151
|
}
|
|
144
152
|
else {
|
|
145
|
-
(
|
|
153
|
+
setLoggerLogLevel(LOG_LEVEL.LOG);
|
|
146
154
|
}
|
|
147
155
|
if (networkDebug) {
|
|
148
156
|
process.env.HUBSPOT_NETWORK_LOGGING = 'true';
|
|
149
|
-
(
|
|
157
|
+
setLoggerLogLevel(LOG_LEVEL.DEBUG);
|
|
150
158
|
}
|
|
151
159
|
}
|
|
152
|
-
function getCommandName(argv) {
|
|
160
|
+
export function getCommandName(argv) {
|
|
153
161
|
return String(argv && argv._ && argv._[0]) || '';
|
|
154
162
|
}
|
|
155
|
-
function getCmsPublishMode(options) {
|
|
163
|
+
export function getCmsPublishMode(options) {
|
|
156
164
|
// 1. --cmsPublishMode
|
|
157
165
|
const { cmsPublishMode } = options;
|
|
158
166
|
if (cmsPublishMode && typeof cmsPublishMode === 'string') {
|
|
@@ -160,14 +168,14 @@ function getCmsPublishMode(options) {
|
|
|
160
168
|
}
|
|
161
169
|
// 2. config[account].defaultCmsPublishMode
|
|
162
170
|
if (options.derivedAccountId) {
|
|
163
|
-
const accountConfig =
|
|
171
|
+
const accountConfig = getAccountConfig(options.derivedAccountId);
|
|
164
172
|
if (accountConfig && accountConfig.defaultCmsPublishMode) {
|
|
165
173
|
return accountConfig.defaultCmsPublishMode;
|
|
166
174
|
}
|
|
167
175
|
}
|
|
168
176
|
// 3. config.defaultCmsPublishMode
|
|
169
177
|
// 4. DEFAULT_CMS_PUBLISH_MODE
|
|
170
|
-
const config =
|
|
178
|
+
const config = getAndLoadConfigIfNeeded();
|
|
171
179
|
return ((config && config.defaultCmsPublishMode) ||
|
|
172
|
-
|
|
180
|
+
DEFAULT_CMS_PUBLISH_MODE);
|
|
173
181
|
}
|
package/lib/configMigrate.js
CHANGED
|
@@ -1,47 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const promptUtils_1 = require("./prompts/promptUtils");
|
|
8
|
-
const en_1 = require("../lang/en");
|
|
9
|
-
const logger_1 = require("./ui/logger");
|
|
10
|
-
async function handleMigration(deprecatedConfigPath, hideWarning) {
|
|
1
|
+
import { getDeprecatedConfig, getGlobalConfig, getConfigPath, migrateConfig, mergeConfigProperties, mergeExistingConfigs, } from '@hubspot/local-dev-lib/config/migrate';
|
|
2
|
+
import { ARCHIVED_HUBSPOT_CONFIG_YAML_FILE_NAME } from '@hubspot/local-dev-lib/constants/config';
|
|
3
|
+
import { promptUser } from './prompts/promptUtils.js';
|
|
4
|
+
import { lib } from '../lang/en.js';
|
|
5
|
+
import { uiLogger } from './ui/logger.js';
|
|
6
|
+
export async function handleMigration(deprecatedConfigPath, hideWarning) {
|
|
11
7
|
if (!hideWarning) {
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
uiLogger.warn(lib.configMigrate.deprecatedConfigWarning(deprecatedConfigPath || getConfigPath(undefined, false)));
|
|
9
|
+
uiLogger.log('');
|
|
14
10
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const { shouldMigrateConfig } = await
|
|
11
|
+
uiLogger.log(lib.configMigrate.handleMigration.description(ARCHIVED_HUBSPOT_CONFIG_YAML_FILE_NAME));
|
|
12
|
+
uiLogger.log('');
|
|
13
|
+
const { shouldMigrateConfig } = await promptUser({
|
|
18
14
|
name: 'shouldMigrateConfig',
|
|
19
15
|
type: 'confirm',
|
|
20
|
-
message:
|
|
16
|
+
message: lib.configMigrate.handleMigration.confirmPrompt,
|
|
21
17
|
});
|
|
22
18
|
if (!shouldMigrateConfig) {
|
|
23
19
|
return false;
|
|
24
20
|
}
|
|
25
|
-
const deprecatedConfig =
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
const deprecatedConfig = getDeprecatedConfig(deprecatedConfigPath);
|
|
22
|
+
migrateConfig(deprecatedConfig);
|
|
23
|
+
uiLogger.success(lib.configMigrate.handleMigration.success);
|
|
28
24
|
return true;
|
|
29
25
|
}
|
|
30
26
|
async function handleMergeConfigProperties(globalConfig, deprecatedConfig, force) {
|
|
31
|
-
const { initialConfig, conflicts, } =
|
|
27
|
+
const { initialConfig, conflicts, } = mergeConfigProperties(globalConfig, deprecatedConfig, force);
|
|
32
28
|
if (conflicts.length > 0) {
|
|
33
29
|
const properties = conflicts.map(c => c.property);
|
|
34
30
|
const propertyList = properties.length <= 2
|
|
35
31
|
? properties.join(' and ')
|
|
36
32
|
: `${properties.slice(0, -1).join(', ')}, and ${properties.at(-1)}`;
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
uiLogger.log('');
|
|
34
|
+
uiLogger.warn(lib.configMigrate.handleMergeConfigProperties.mergeConflictMessage(conflicts.length, propertyList));
|
|
39
35
|
for (const conflict of conflicts) {
|
|
40
36
|
const { property, newValue, oldValue } = conflict;
|
|
41
|
-
const { shouldOverwrite } = await
|
|
37
|
+
const { shouldOverwrite } = await promptUser({
|
|
42
38
|
name: 'shouldOverwrite',
|
|
43
39
|
type: 'confirm',
|
|
44
|
-
message:
|
|
40
|
+
message: lib.configMigrate.handleMergeConfigProperties.mergeConfigConflictPrompt(property, newValue.toString(), oldValue.toString()),
|
|
45
41
|
});
|
|
46
42
|
if (shouldOverwrite) {
|
|
47
43
|
// @ts-expect-error Cannot reconcile CLIConfig_NEW and CLIConfig_DEPRECATED
|
|
@@ -51,33 +47,33 @@ async function handleMergeConfigProperties(globalConfig, deprecatedConfig, force
|
|
|
51
47
|
}
|
|
52
48
|
return initialConfig;
|
|
53
49
|
}
|
|
54
|
-
async function handleMerge(deprecatedConfigPath, force, hideWarning) {
|
|
50
|
+
export async function handleMerge(deprecatedConfigPath, force, hideWarning) {
|
|
55
51
|
if (!hideWarning) {
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
uiLogger.warn(lib.configMigrate.deprecatedConfigWarning(deprecatedConfigPath || getConfigPath(undefined, false)));
|
|
53
|
+
uiLogger.log('');
|
|
58
54
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
const { shouldMergeConfigs } = await
|
|
55
|
+
uiLogger.log(lib.configMigrate.handleMerge.description(ARCHIVED_HUBSPOT_CONFIG_YAML_FILE_NAME));
|
|
56
|
+
uiLogger.log('');
|
|
57
|
+
const { shouldMergeConfigs } = await promptUser({
|
|
62
58
|
name: 'shouldMergeConfigs',
|
|
63
59
|
type: 'confirm',
|
|
64
|
-
message:
|
|
60
|
+
message: lib.configMigrate.handleMerge.confirmPrompt,
|
|
65
61
|
});
|
|
66
62
|
if (!shouldMergeConfigs) {
|
|
67
63
|
return false;
|
|
68
64
|
}
|
|
69
|
-
const deprecatedConfig =
|
|
70
|
-
const globalConfig =
|
|
65
|
+
const deprecatedConfig = getDeprecatedConfig(deprecatedConfigPath);
|
|
66
|
+
const globalConfig = getGlobalConfig();
|
|
71
67
|
if (!deprecatedConfig || !globalConfig) {
|
|
72
68
|
return true;
|
|
73
69
|
}
|
|
74
70
|
const mergedConfig = await handleMergeConfigProperties(globalConfig, deprecatedConfig, force);
|
|
75
|
-
const { skippedAccountIds } =
|
|
71
|
+
const { skippedAccountIds } = mergeExistingConfigs(mergedConfig, deprecatedConfig);
|
|
76
72
|
if (skippedAccountIds.length > 0) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
73
|
+
uiLogger.log('');
|
|
74
|
+
uiLogger.log(lib.configMigrate.handleMerge.skippedExistingAccounts(skippedAccountIds));
|
|
75
|
+
uiLogger.log('');
|
|
80
76
|
}
|
|
81
|
-
|
|
77
|
+
uiLogger.success(lib.configMigrate.handleMerge.success);
|
|
82
78
|
return true;
|
|
83
79
|
}
|
package/lib/configOptions.d.ts
CHANGED
|
@@ -15,3 +15,8 @@ export declare function setHttpTimeout({ accountId, httpTimeout, }: {
|
|
|
15
15
|
accountId: number;
|
|
16
16
|
httpTimeout?: string;
|
|
17
17
|
}): Promise<void>;
|
|
18
|
+
export declare function setAutoOpenBrowser({ accountId, autoOpenBrowser, }: {
|
|
19
|
+
accountId: number;
|
|
20
|
+
autoOpenBrowser: boolean;
|
|
21
|
+
}): Promise<void>;
|
|
22
|
+
export declare function isAutoOpenBrowserEnabled(): boolean;
|
package/lib/configOptions.js
CHANGED
|
@@ -1,26 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const files_1 = require("@hubspot/local-dev-lib/constants/files");
|
|
9
|
-
const text_1 = require("@hubspot/local-dev-lib/text");
|
|
10
|
-
const usageTracking_1 = require("./usageTracking");
|
|
11
|
-
const promptUtils_1 = require("./prompts/promptUtils");
|
|
12
|
-
const en_1 = require("../lang/en");
|
|
13
|
-
const logger_1 = require("./ui/logger");
|
|
1
|
+
import { updateAllowUsageTracking, updateAllowAutoUpdates, updateDefaultCmsPublishMode, updateHttpTimeout, isConfigFlagEnabled, updateAutoOpenBrowser, } from '@hubspot/local-dev-lib/config';
|
|
2
|
+
import { CMS_PUBLISH_MODE } from '@hubspot/local-dev-lib/constants/files';
|
|
3
|
+
import { commaSeparatedValues } from '@hubspot/local-dev-lib/text';
|
|
4
|
+
import { trackCommandUsage } from './usageTracking.js';
|
|
5
|
+
import { promptUser, listPrompt } from './prompts/promptUtils.js';
|
|
6
|
+
import { lib } from '../lang/en.js';
|
|
7
|
+
import { uiLogger } from './ui/logger.js';
|
|
14
8
|
async function enableOrDisableBooleanFieldPrompt(fieldName) {
|
|
15
|
-
const isEnabled = await
|
|
9
|
+
const isEnabled = await listPrompt(lib.configOptions.enableOrDisableBooleanFieldPrompt.message(fieldName), {
|
|
16
10
|
choices: [
|
|
17
11
|
{
|
|
18
|
-
name:
|
|
12
|
+
name: lib.configOptions.enableOrDisableBooleanFieldPrompt.labels
|
|
19
13
|
.enabled,
|
|
20
14
|
value: true,
|
|
21
15
|
},
|
|
22
16
|
{
|
|
23
|
-
name:
|
|
17
|
+
name: lib.configOptions.enableOrDisableBooleanFieldPrompt.labels
|
|
24
18
|
.disabled,
|
|
25
19
|
value: false,
|
|
26
20
|
},
|
|
@@ -29,40 +23,40 @@ async function enableOrDisableBooleanFieldPrompt(fieldName) {
|
|
|
29
23
|
});
|
|
30
24
|
return isEnabled;
|
|
31
25
|
}
|
|
32
|
-
async function setAllowUsageTracking({ accountId, allowUsageTracking, }) {
|
|
33
|
-
|
|
26
|
+
export async function setAllowUsageTracking({ accountId, allowUsageTracking, }) {
|
|
27
|
+
trackCommandUsage('config-set-allow-usage-tracking', undefined, accountId);
|
|
34
28
|
let isEnabled;
|
|
35
29
|
if (typeof allowUsageTracking === 'boolean') {
|
|
36
30
|
isEnabled = allowUsageTracking;
|
|
37
31
|
}
|
|
38
32
|
else {
|
|
39
|
-
isEnabled = await enableOrDisableBooleanFieldPrompt(
|
|
33
|
+
isEnabled = await enableOrDisableBooleanFieldPrompt(lib.configOptions.setAllowUsageTracking.fieldName);
|
|
40
34
|
}
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
updateAllowUsageTracking(isEnabled);
|
|
36
|
+
uiLogger.success(lib.configOptions.setAllowUsageTracking.success(isEnabled.toString()));
|
|
43
37
|
}
|
|
44
|
-
async function setAllowAutoUpdates({ accountId, allowAutoUpdates, }) {
|
|
45
|
-
|
|
38
|
+
export async function setAllowAutoUpdates({ accountId, allowAutoUpdates, }) {
|
|
39
|
+
trackCommandUsage('config-set-allow-auto-updates', undefined, accountId);
|
|
46
40
|
let isEnabled;
|
|
47
41
|
if (typeof allowAutoUpdates === 'boolean') {
|
|
48
42
|
isEnabled = allowAutoUpdates;
|
|
49
43
|
}
|
|
50
44
|
else {
|
|
51
|
-
isEnabled = await enableOrDisableBooleanFieldPrompt(
|
|
45
|
+
isEnabled = await enableOrDisableBooleanFieldPrompt(lib.configOptions.setAllowAutoUpdates.fieldName);
|
|
52
46
|
}
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
updateAllowAutoUpdates(isEnabled);
|
|
48
|
+
uiLogger.success(lib.configOptions.setAllowAutoUpdates.success(isEnabled.toString()));
|
|
55
49
|
}
|
|
56
|
-
const ALL_CMS_PUBLISH_MODES = Object.values(
|
|
50
|
+
const ALL_CMS_PUBLISH_MODES = Object.values(CMS_PUBLISH_MODE);
|
|
57
51
|
async function selectCmsPublishMode() {
|
|
58
|
-
const cmsPublishMode = await
|
|
52
|
+
const cmsPublishMode = await listPrompt(lib.configOptions.setDefaultCmsPublishMode.promptMessage, {
|
|
59
53
|
choices: ALL_CMS_PUBLISH_MODES,
|
|
60
|
-
defaultAnswer:
|
|
54
|
+
defaultAnswer: CMS_PUBLISH_MODE.publish,
|
|
61
55
|
});
|
|
62
56
|
return cmsPublishMode;
|
|
63
57
|
}
|
|
64
|
-
async function setDefaultCmsPublishMode({ accountId, defaultCmsPublishMode, }) {
|
|
65
|
-
|
|
58
|
+
export async function setDefaultCmsPublishMode({ accountId, defaultCmsPublishMode, }) {
|
|
59
|
+
trackCommandUsage('config-set-default-mode', undefined, accountId);
|
|
66
60
|
let newDefault;
|
|
67
61
|
if (!defaultCmsPublishMode) {
|
|
68
62
|
newDefault = await selectCmsPublishMode();
|
|
@@ -72,25 +66,25 @@ async function setDefaultCmsPublishMode({ accountId, defaultCmsPublishMode, }) {
|
|
|
72
66
|
newDefault = defaultCmsPublishMode;
|
|
73
67
|
}
|
|
74
68
|
else {
|
|
75
|
-
|
|
69
|
+
uiLogger.error(lib.configOptions.setDefaultCmsPublishMode.error(commaSeparatedValues(ALL_CMS_PUBLISH_MODES)));
|
|
76
70
|
newDefault = await selectCmsPublishMode();
|
|
77
71
|
}
|
|
78
|
-
|
|
79
|
-
|
|
72
|
+
updateDefaultCmsPublishMode(newDefault);
|
|
73
|
+
uiLogger.success(lib.configOptions.setDefaultCmsPublishMode.success(newDefault));
|
|
80
74
|
}
|
|
81
75
|
async function enterTimeout() {
|
|
82
|
-
const { timeout } = await
|
|
76
|
+
const { timeout } = await promptUser([
|
|
83
77
|
{
|
|
84
78
|
name: 'timeout',
|
|
85
|
-
message:
|
|
79
|
+
message: lib.configOptions.setHttpTimeout.promptMessage,
|
|
86
80
|
type: 'input',
|
|
87
81
|
default: 30000,
|
|
88
82
|
},
|
|
89
83
|
]);
|
|
90
84
|
return timeout;
|
|
91
85
|
}
|
|
92
|
-
async function setHttpTimeout({ accountId, httpTimeout, }) {
|
|
93
|
-
|
|
86
|
+
export async function setHttpTimeout({ accountId, httpTimeout, }) {
|
|
87
|
+
trackCommandUsage('config-set-http-timeout', undefined, accountId);
|
|
94
88
|
let newHttpTimeout;
|
|
95
89
|
if (!httpTimeout) {
|
|
96
90
|
newHttpTimeout = await enterTimeout();
|
|
@@ -98,6 +92,16 @@ async function setHttpTimeout({ accountId, httpTimeout, }) {
|
|
|
98
92
|
else {
|
|
99
93
|
newHttpTimeout = httpTimeout;
|
|
100
94
|
}
|
|
101
|
-
|
|
102
|
-
|
|
95
|
+
updateHttpTimeout(newHttpTimeout);
|
|
96
|
+
uiLogger.success(lib.configOptions.setHttpTimeout.success(newHttpTimeout));
|
|
97
|
+
}
|
|
98
|
+
export async function setAutoOpenBrowser({ accountId, autoOpenBrowser, }) {
|
|
99
|
+
trackCommandUsage('config-set-auto-open-browser', undefined, accountId);
|
|
100
|
+
updateAutoOpenBrowser(autoOpenBrowser);
|
|
101
|
+
uiLogger.success(autoOpenBrowser
|
|
102
|
+
? lib.configOptions.setAutoOpenBrowser.enabled
|
|
103
|
+
: lib.configOptions.setAutoOpenBrowser.disabled);
|
|
104
|
+
}
|
|
105
|
+
export function isAutoOpenBrowserEnabled() {
|
|
106
|
+
return isConfigFlagEnabled('autoOpenBrowser', true);
|
|
103
107
|
}
|
package/lib/constants.d.ts
CHANGED
|
@@ -78,6 +78,8 @@ export declare const APP_AUTH_TYPES: {
|
|
|
78
78
|
export declare const FEATURES: {
|
|
79
79
|
readonly UNIFIED_THEME_PREVIEW: "cms:react:unifiedThemePreview";
|
|
80
80
|
readonly UNIFIED_APPS: "Developers:UnifiedApps:PrivateBeta";
|
|
81
|
+
readonly SANDBOXES_V2: "sandboxes:v2:enabled";
|
|
82
|
+
readonly SANDBOXES_V2_CLI: "sandboxes:v2:cliEnabled";
|
|
81
83
|
};
|
|
82
84
|
export declare const LOCAL_DEV_UI_MESSAGE_SEND_TYPES: {
|
|
83
85
|
UPLOAD_SUCCESS: string;
|
|
@@ -85,9 +87,11 @@ export declare const LOCAL_DEV_UI_MESSAGE_SEND_TYPES: {
|
|
|
85
87
|
UPDATE_PROJECT_NODES: string;
|
|
86
88
|
UPDATE_APP_DATA: string;
|
|
87
89
|
UPDATE_PROJECT_DATA: string;
|
|
90
|
+
UPDATE_UPLOAD_WARNINGS: string;
|
|
88
91
|
};
|
|
89
92
|
export declare const LOCAL_DEV_UI_MESSAGE_RECEIVE_TYPES: {
|
|
90
93
|
UPLOAD: string;
|
|
94
|
+
VIEWED_WELCOME_SCREEN: string;
|
|
91
95
|
};
|
|
92
96
|
export declare const APP_INSTALLATION_STATES: {
|
|
93
97
|
readonly NOT_INSTALLED: "NOT_INSTALLED";
|
|
@@ -107,3 +111,8 @@ export declare const LOCAL_DEV_SERVER_MESSAGE_TYPES: {
|
|
|
107
111
|
readonly INITIAL: "INITIAL";
|
|
108
112
|
readonly WEBSOCKET_SERVER_CONNECTED: "WEBSOCKET_SERVER_CONNECTED";
|
|
109
113
|
};
|
|
114
|
+
export declare const CONFIG_LOCAL_STATE_FLAGS: {
|
|
115
|
+
readonly LOCAL_DEV_UI_WELCOME: "LOCAL_DEV_UI_WELCOME";
|
|
116
|
+
};
|
|
117
|
+
export declare const EMPTY_PROJECT = "empty";
|
|
118
|
+
export declare const PROJECT_WITH_APP = "app";
|