@hubspot/cli 7.7.21-experimental.1 → 7.7.22-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/api/__tests__/migrate.test.js +27 -29
- package/api/migrate.js +14 -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 +16 -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 +65 -67
- 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 -16
- 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 +1 -1
- package/commands/config/set.js +23 -25
- 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 +29 -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 +133 -139
- 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 +3 -3
- package/commands/project/dev/unifiedFlow.js +62 -68
- 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 +51 -56
- 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 +35 -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 +15 -20
- package/commands/sandbox/__tests__/delete.test.js +15 -20
- package/commands/sandbox/create.d.ts +1 -1
- package/commands/sandbox/create.js +67 -69
- 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/create.d.ts +1 -1
- package/commands/testAccount/create.js +45 -53
- 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.d.ts +1 -1
- package/commands/testAccount.js +10 -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 +0 -22
- package/lang/en.js +371 -399
- package/lib/__tests__/accountTypes.test.js +20 -22
- package/lib/__tests__/buildAccount.test.js +28 -63
- 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__/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 +6 -41
- package/lib/accountTypes.js +24 -34
- package/lib/app/__tests__/migrate.test.js +94 -99
- package/lib/app/__tests__/migrate_legacy.test.js +29 -31
- package/lib/app/migrate.d.ts +3 -3
- package/lib/app/migrate.js +127 -145
- 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 +1 -1
- package/lib/buildAccount.js +71 -80
- package/lib/commonOpts.d.ts +1 -1
- package/lib/commonOpts.js +42 -59
- package/lib/configMigrate.js +34 -38
- package/lib/configOptions.js +34 -40
- package/lib/constants.js +31 -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 +32 -41
- package/lib/errorHandlers/suppressError.d.ts +1 -1
- package/lib/errorHandlers/suppressError.js +28 -31
- package/lib/filesystem.js +8 -15
- package/lib/generateSelectors.js +18 -29
- package/lib/hasFeature.d.ts +1 -1
- package/lib/hasFeature.js +3 -6
- 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.js +70 -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 +140 -145
- package/lib/projects/__tests__/LocalDevProcess.test.js +68 -73
- package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +32 -37
- 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__/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 +36 -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 -3
- package/lib/projects/create/v3.js +49 -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 -1
- package/lib/projects/localDev/LocalDevLogger.js +59 -64
- package/lib/projects/localDev/LocalDevManager.d.ts +1 -1
- package/lib/projects/localDev/LocalDevManager.js +106 -111
- package/lib/projects/localDev/LocalDevProcess.d.ts +4 -4
- package/lib/projects/localDev/LocalDevProcess.js +25 -30
- package/lib/projects/localDev/LocalDevState.d.ts +3 -3
- package/lib/projects/localDev/LocalDevState.js +3 -5
- package/lib/projects/localDev/LocalDevWatcher.d.ts +1 -1
- package/lib/projects/localDev/LocalDevWatcher.js +6 -11
- package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +1 -1
- package/lib/projects/localDev/LocalDevWebsocketServer.js +25 -27
- package/lib/projects/localDev/helpers.d.ts +3 -3
- package/lib/projects/localDev/helpers.js +156 -174
- package/lib/projects/structure.d.ts +4 -4
- package/lib/projects/structure.js +32 -78
- package/lib/projects/ui.js +10 -13
- package/lib/projects/upload.d.ts +2 -3
- package/lib/projects/upload.js +55 -65
- package/lib/projects/urls.js +14 -24
- 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/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/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 +1 -1
- package/lib/sandboxes.js +68 -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/boxen.js +11 -14
- package/lib/ui/git.js +14 -20
- package/lib/ui/index.js +55 -73
- package/lib/ui/logger.js +10 -13
- 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 +1 -1
- package/lib/yargsUtils.js +13 -16
- package/mcp-server/server.js +6 -8
- package/mcp-server/tools/index.js +13 -16
- package/mcp-server/tools/project/AddFeatureToProject.d.ts +1 -1
- package/mcp-server/tools/project/AddFeatureToProject.js +35 -39
- package/mcp-server/tools/project/CreateProjectTool.d.ts +1 -1
- package/mcp-server/tools/project/CreateProjectTool.js +46 -50
- package/mcp-server/tools/project/DeployProject.d.ts +1 -1
- package/mcp-server/tools/project/DeployProject.js +18 -22
- 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__/AddFeatureToProject.test.js +12 -14
- package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +13 -15
- package/mcp-server/tools/project/__tests__/DeployProject.test.js +6 -8
- 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.js +3 -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 +15 -11
- package/types/Cms.d.ts +1 -1
- package/types/Cms.js +1 -2
- package/types/LocalDev.d.ts +4 -4
- 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/commands/app/__tests__/install.test.d.ts +0 -1
- package/commands/app/__tests__/install.test.js +0 -52
- package/commands/app/install.d.ts +0 -8
- package/commands/app/install.js +0 -127
package/lib/commonOpts.js
CHANGED
|
@@ -1,35 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports.addTestingOptions = addTestingOptions;
|
|
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
|
+
export function addGlobalOptions(yargs) {
|
|
28
11
|
yargs.version(false);
|
|
29
12
|
yargs.option('debug', {
|
|
30
13
|
alias: 'd',
|
|
31
14
|
default: false,
|
|
32
|
-
describe:
|
|
15
|
+
describe: i18n('lib.commonOpts.options.debug.describe'),
|
|
33
16
|
type: 'boolean',
|
|
34
17
|
});
|
|
35
18
|
yargs.option('network-debug', {
|
|
@@ -39,63 +22,63 @@ function addGlobalOptions(yargs) {
|
|
|
39
22
|
});
|
|
40
23
|
return yargs;
|
|
41
24
|
}
|
|
42
|
-
function addAccountOptions(yargs) {
|
|
25
|
+
export function addAccountOptions(yargs) {
|
|
43
26
|
return yargs.option('account', {
|
|
44
27
|
alias: 'a',
|
|
45
|
-
describe:
|
|
28
|
+
describe: i18n('lib.commonOpts.options.account.describe'),
|
|
46
29
|
type: 'string',
|
|
47
30
|
});
|
|
48
31
|
}
|
|
49
|
-
function addConfigOptions(yargs) {
|
|
32
|
+
export function addConfigOptions(yargs) {
|
|
50
33
|
return yargs.option('config', {
|
|
51
34
|
alias: 'c',
|
|
52
|
-
describe:
|
|
35
|
+
describe: i18n('lib.commonOpts.options.config.describe'),
|
|
53
36
|
type: 'string',
|
|
54
37
|
});
|
|
55
38
|
}
|
|
56
|
-
function addOverwriteOptions(yargs) {
|
|
39
|
+
export function addOverwriteOptions(yargs) {
|
|
57
40
|
return yargs.option('overwrite', {
|
|
58
41
|
alias: 'o',
|
|
59
|
-
describe:
|
|
42
|
+
describe: i18n('lib.commonOpts.options.overwrite.describe'),
|
|
60
43
|
type: 'boolean',
|
|
61
44
|
default: false,
|
|
62
45
|
});
|
|
63
46
|
}
|
|
64
|
-
function addCmsPublishModeOptions(yargs, { read, write }) {
|
|
65
|
-
const cmsPublishModes = `<${Object.values(
|
|
47
|
+
export function addCmsPublishModeOptions(yargs, { read, write }) {
|
|
48
|
+
const cmsPublishModes = `<${Object.values(CMS_PUBLISH_MODE).join(' | ')}>`;
|
|
66
49
|
return yargs.option('cms-publish-mode', {
|
|
67
50
|
alias: 'm',
|
|
68
|
-
describe:
|
|
51
|
+
describe: i18n(`lib.commonOpts.options.modes.describe.${read ? 'read' : write ? 'write' : 'default'}`, { modes: cmsPublishModes }),
|
|
69
52
|
type: 'string',
|
|
70
53
|
});
|
|
71
54
|
}
|
|
72
|
-
function addTestingOptions(yargs) {
|
|
55
|
+
export function addTestingOptions(yargs) {
|
|
73
56
|
return yargs.option('qa', {
|
|
74
|
-
describe:
|
|
57
|
+
describe: i18n('lib.commonOpts.options.qa.describe'),
|
|
75
58
|
type: 'boolean',
|
|
76
59
|
default: false,
|
|
77
60
|
hidden: true,
|
|
78
61
|
});
|
|
79
62
|
}
|
|
80
|
-
function addUseEnvironmentOptions(yargs) {
|
|
63
|
+
export function addUseEnvironmentOptions(yargs) {
|
|
81
64
|
yargs.option('use-env', {
|
|
82
|
-
describe:
|
|
65
|
+
describe: i18n('lib.commonOpts.options.useEnv.describe'),
|
|
83
66
|
type: 'boolean',
|
|
84
67
|
});
|
|
85
68
|
yargs.conflicts('use-env', 'account');
|
|
86
69
|
return yargs;
|
|
87
70
|
}
|
|
88
|
-
function addJSONOutputOptions(yargs) {
|
|
71
|
+
export function addJSONOutputOptions(yargs) {
|
|
89
72
|
return yargs.option('json', {
|
|
90
73
|
alias: 'format-output-as-json',
|
|
91
|
-
describe:
|
|
74
|
+
describe: i18n('lib.commonOpts.options.jsonOutput.describe'),
|
|
92
75
|
type: 'boolean',
|
|
93
76
|
hidden: true,
|
|
94
77
|
});
|
|
95
78
|
}
|
|
96
|
-
async function addCustomHelpOutput(yargs, command, describe) {
|
|
79
|
+
export async function addCustomHelpOutput(yargs, command, describe) {
|
|
97
80
|
try {
|
|
98
|
-
const parsedArgv = (
|
|
81
|
+
const parsedArgv = yargsParser(process.argv.slice(2));
|
|
99
82
|
if (parsedArgv && parsedArgv.help) {
|
|
100
83
|
const commandBase = `hs ${parsedArgv._.slice(0, -1).join(' ')}`;
|
|
101
84
|
// Make sure we are targeting the correct command by confirming that
|
|
@@ -116,7 +99,7 @@ async function addCustomHelpOutput(yargs, command, describe) {
|
|
|
116
99
|
// Format the original help output to be more readable
|
|
117
100
|
let commandHelp = await yargs.getHelp();
|
|
118
101
|
['Options:', 'Commands:', 'Examples:', 'Positionals:'].forEach(header => {
|
|
119
|
-
commandHelp = commandHelp.replace(header,
|
|
102
|
+
commandHelp = commandHelp.replace(header, chalk.bold(header));
|
|
120
103
|
});
|
|
121
104
|
// Remove "hs <command>" from the help output (this shows up for command buckets)
|
|
122
105
|
commandHelp = commandHelp.replace('hs <command>\n', '');
|
|
@@ -124,35 +107,35 @@ async function addCustomHelpOutput(yargs, command, describe) {
|
|
|
124
107
|
if (commandHelp.startsWith('\n')) {
|
|
125
108
|
commandHelp = commandHelp.slice(1);
|
|
126
109
|
}
|
|
127
|
-
|
|
128
|
-
process.exit(
|
|
110
|
+
logger.log(`${uiCommandReference(fullCommand, false)}\n\n${describe ? `${describe}\n\n` : ''}${commandHelp}`);
|
|
111
|
+
process.exit(EXIT_CODES.SUCCESS);
|
|
129
112
|
}
|
|
130
113
|
}
|
|
131
114
|
catch (e) {
|
|
132
115
|
// Ignore error to allow yargs to show the default help output using the command description
|
|
133
|
-
|
|
116
|
+
debugError(e);
|
|
134
117
|
}
|
|
135
118
|
}
|
|
136
|
-
function setLogLevel(options) {
|
|
119
|
+
export function setLogLevel(options) {
|
|
137
120
|
const { debug, networkDebug, json } = options;
|
|
138
121
|
if (json) {
|
|
139
|
-
(
|
|
122
|
+
setLoggerLogLevel(LOG_LEVEL.ERROR);
|
|
140
123
|
}
|
|
141
124
|
else if (debug) {
|
|
142
|
-
(
|
|
125
|
+
setLoggerLogLevel(LOG_LEVEL.DEBUG);
|
|
143
126
|
}
|
|
144
127
|
else {
|
|
145
|
-
(
|
|
128
|
+
setLoggerLogLevel(LOG_LEVEL.LOG);
|
|
146
129
|
}
|
|
147
130
|
if (networkDebug) {
|
|
148
131
|
process.env.HUBSPOT_NETWORK_LOGGING = 'true';
|
|
149
|
-
(
|
|
132
|
+
setLoggerLogLevel(LOG_LEVEL.DEBUG);
|
|
150
133
|
}
|
|
151
134
|
}
|
|
152
|
-
function getCommandName(argv) {
|
|
135
|
+
export function getCommandName(argv) {
|
|
153
136
|
return String(argv && argv._ && argv._[0]) || '';
|
|
154
137
|
}
|
|
155
|
-
function getCmsPublishMode(options) {
|
|
138
|
+
export function getCmsPublishMode(options) {
|
|
156
139
|
// 1. --cmsPublishMode
|
|
157
140
|
const { cmsPublishMode } = options;
|
|
158
141
|
if (cmsPublishMode && typeof cmsPublishMode === 'string') {
|
|
@@ -160,14 +143,14 @@ function getCmsPublishMode(options) {
|
|
|
160
143
|
}
|
|
161
144
|
// 2. config[account].defaultCmsPublishMode
|
|
162
145
|
if (options.derivedAccountId) {
|
|
163
|
-
const accountConfig =
|
|
146
|
+
const accountConfig = getAccountConfig(options.derivedAccountId);
|
|
164
147
|
if (accountConfig && accountConfig.defaultCmsPublishMode) {
|
|
165
148
|
return accountConfig.defaultCmsPublishMode;
|
|
166
149
|
}
|
|
167
150
|
}
|
|
168
151
|
// 3. config.defaultCmsPublishMode
|
|
169
152
|
// 4. DEFAULT_CMS_PUBLISH_MODE
|
|
170
|
-
const config =
|
|
153
|
+
const config = getAndLoadConfigIfNeeded();
|
|
171
154
|
return ((config && config.defaultCmsPublishMode) ||
|
|
172
|
-
|
|
155
|
+
DEFAULT_CMS_PUBLISH_MODE);
|
|
173
156
|
}
|
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.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, } 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,6 @@ 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));
|
|
103
97
|
}
|
package/lib/constants.js
CHANGED
|
@@ -1,41 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
exports.DEFAULT_POLLING_DELAY = 2000;
|
|
10
|
-
exports.PROJECT_CONFIG_FILE = 'hsproject.json';
|
|
11
|
-
exports.PROJECT_BUILD_STATES = {
|
|
1
|
+
export const HUBSPOT_PROJECT_COMPONENTS_GITHUB_PATH = 'HubSpot/hubspot-project-components';
|
|
2
|
+
export const DEFAULT_PROJECT_TEMPLATE_BRANCH = 'main';
|
|
3
|
+
export const FEEDBACK_INTERVAL = 10;
|
|
4
|
+
export const HUBSPOT_FOLDER = '@hubspot';
|
|
5
|
+
export const MARKETPLACE_FOLDER = '@marketplace';
|
|
6
|
+
export const DEFAULT_POLLING_DELAY = 2000;
|
|
7
|
+
export const PROJECT_CONFIG_FILE = 'hsproject.json';
|
|
8
|
+
export const PROJECT_BUILD_STATES = {
|
|
12
9
|
BUILDING: 'BUILDING',
|
|
13
10
|
ENQUEUED: 'ENQUEUED',
|
|
14
11
|
FAILURE: 'FAILURE',
|
|
15
12
|
PENDING: 'PENDING',
|
|
16
13
|
SUCCESS: 'SUCCESS',
|
|
17
14
|
};
|
|
18
|
-
|
|
15
|
+
export const PROJECT_DEPLOY_STATES = {
|
|
19
16
|
DEPLOYING: 'DEPLOYING',
|
|
20
17
|
FAILURE: 'FAILURE',
|
|
21
18
|
PENDING: 'PENDING',
|
|
22
19
|
SUCCESS: 'SUCCESS',
|
|
23
20
|
};
|
|
24
|
-
|
|
25
|
-
STATES: { ...
|
|
21
|
+
export const PROJECT_BUILD_TEXT = {
|
|
22
|
+
STATES: { ...PROJECT_BUILD_STATES },
|
|
26
23
|
STATUS_TEXT: 'Building',
|
|
27
24
|
SUBTASK_KEY: 'subbuildStatuses',
|
|
28
25
|
TYPE_KEY: 'buildType',
|
|
29
26
|
SUBTASK_NAME_KEY: 'buildName',
|
|
30
27
|
};
|
|
31
|
-
|
|
32
|
-
STATES: { ...
|
|
28
|
+
export const PROJECT_DEPLOY_TEXT = {
|
|
29
|
+
STATES: { ...PROJECT_DEPLOY_STATES },
|
|
33
30
|
STATUS_TEXT: 'Deploying',
|
|
34
31
|
SUBTASK_KEY: 'subdeployStatuses',
|
|
35
32
|
TYPE_KEY: 'deployType',
|
|
36
33
|
SUBTASK_NAME_KEY: 'deployName',
|
|
37
34
|
};
|
|
38
|
-
|
|
35
|
+
export const PROJECT_ERROR_TYPES = {
|
|
39
36
|
PROJECT_LOCKED: 'BuildPipelineErrorType.PROJECT_LOCKED',
|
|
40
37
|
MISSING_PROJECT_PROVISION: 'BuildPipelineErrorType.MISSING_PROJECT_PROVISION',
|
|
41
38
|
BUILD_NOT_IN_PROGRESS: 'BuildPipelineErrorType.BUILD_NOT_IN_PROGRESS',
|
|
@@ -43,62 +40,62 @@ exports.PROJECT_ERROR_TYPES = {
|
|
|
43
40
|
SUBDEPLOY_FAILED: 'DeployPipelineErrorType.DEPENDENT_SUBDEPLOY_FAILED',
|
|
44
41
|
DEPLOY_CONTAINS_REMOVALS: 'DeployPipelineErrorType.WARNING_DEPLOY_CONTAINS_REMOVALS',
|
|
45
42
|
};
|
|
46
|
-
|
|
43
|
+
export const PROJECT_TASK_TYPES = {
|
|
47
44
|
PRIVATE_APP: 'private app',
|
|
48
45
|
PUBLIC_APP: 'public app',
|
|
49
46
|
APP_FUNCTION: 'function',
|
|
50
47
|
CRM_CARD_V2: 'card',
|
|
51
48
|
};
|
|
52
|
-
|
|
49
|
+
export const PROJECT_COMPONENT_TYPES = {
|
|
53
50
|
PROJECTS: 'projects',
|
|
54
51
|
COMPONENTS: 'components',
|
|
55
52
|
};
|
|
56
|
-
|
|
53
|
+
export const PLATFORM_VERSION_ERROR_TYPES = {
|
|
57
54
|
PLATFORM_VERSION_NOT_SPECIFIED: 'PlatformVersionErrorType.PLATFORM_VERSION_NOT_SPECIFIED',
|
|
58
55
|
PLATFORM_VERSION_RETIRED: 'PlatformVersionErrorType.PLATFORM_VERSION_RETIRED',
|
|
59
56
|
PLATFORM_VERSION_SPECIFIED_DOES_NOT_EXIST: 'PlatformVersionErrorType.PLATFORM_VERSION_SPECIFIED_DOES_NOT_EXIST',
|
|
60
57
|
};
|
|
61
|
-
|
|
58
|
+
export const IR_COMPONENT_TYPES = {
|
|
62
59
|
APPLICATION: 'APPLICATION',
|
|
63
60
|
CARD: 'CARD',
|
|
64
61
|
};
|
|
65
|
-
|
|
62
|
+
export const APP_DISTRIBUTION_TYPES = {
|
|
66
63
|
MARKETPLACE: 'marketplace',
|
|
67
64
|
PRIVATE: 'private',
|
|
68
65
|
};
|
|
69
|
-
|
|
66
|
+
export const APP_AUTH_TYPES = {
|
|
70
67
|
OAUTH: 'oauth',
|
|
71
68
|
STATIC: 'static',
|
|
72
69
|
};
|
|
73
|
-
|
|
70
|
+
export const FEATURES = {
|
|
74
71
|
UNIFIED_THEME_PREVIEW: 'cms:react:unifiedThemePreview',
|
|
75
72
|
UNIFIED_APPS: 'Developers:UnifiedApps:PrivateBeta',
|
|
76
73
|
};
|
|
77
|
-
|
|
74
|
+
export const LOCAL_DEV_UI_MESSAGE_SEND_TYPES = {
|
|
78
75
|
UPLOAD_SUCCESS: 'server:uploadSuccess',
|
|
79
76
|
UPLOAD_FAILURE: 'server:uploadFailure',
|
|
80
77
|
UPDATE_PROJECT_NODES: 'server:updateProjectNodes',
|
|
81
78
|
UPDATE_APP_DATA: 'server:updateAppData',
|
|
82
79
|
UPDATE_PROJECT_DATA: 'server:updateProjectData',
|
|
83
80
|
};
|
|
84
|
-
|
|
81
|
+
export const LOCAL_DEV_UI_MESSAGE_RECEIVE_TYPES = {
|
|
85
82
|
UPLOAD: 'client:upload',
|
|
86
83
|
};
|
|
87
|
-
|
|
84
|
+
export const APP_INSTALLATION_STATES = {
|
|
88
85
|
NOT_INSTALLED: 'NOT_INSTALLED',
|
|
89
86
|
INSTALLED: 'INSTALLED',
|
|
90
87
|
INSTALLED_WITH_OUTDATED_SCOPES: 'INSTALLED_WITH_OUTDATED_SCOPES',
|
|
91
88
|
};
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
89
|
+
export const staticAuth = 'static';
|
|
90
|
+
export const oAuth = 'oauth';
|
|
91
|
+
export const privateDistribution = 'private';
|
|
92
|
+
export const marketplaceDistribution = 'marketplace';
|
|
93
|
+
export const appComponent = 'app';
|
|
94
|
+
export const GET_STARTED_OPTIONS = {
|
|
98
95
|
APP: 'APP',
|
|
99
96
|
CMS: 'CMS',
|
|
100
97
|
};
|
|
101
|
-
|
|
98
|
+
export const LOCAL_DEV_SERVER_MESSAGE_TYPES = {
|
|
102
99
|
INITIAL: 'INITIAL',
|
|
103
100
|
WEBSOCKET_SERVER_CONNECTED: 'WEBSOCKET_SERVER_CONNECTED',
|
|
104
101
|
};
|
package/lib/customObject.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isSchemaDefinition = isSchemaDefinition;
|
|
4
|
-
exports.isObjectDefinition = isObjectDefinition;
|
|
5
|
-
function isSchemaDefinition(schema) {
|
|
1
|
+
export function isSchemaDefinition(schema) {
|
|
6
2
|
return (typeof schema === 'object' &&
|
|
7
3
|
schema !== null &&
|
|
8
4
|
'labels' in schema &&
|
|
@@ -10,6 +6,6 @@ function isSchemaDefinition(schema) {
|
|
|
10
6
|
'properties' in schema &&
|
|
11
7
|
'requiredProperties' in schema);
|
|
12
8
|
}
|
|
13
|
-
function isObjectDefinition(object) {
|
|
9
|
+
export function isObjectDefinition(object) {
|
|
14
10
|
return typeof object === 'object' && object !== null && 'inputs' in object;
|
|
15
11
|
}
|