@hubspot/cli 7.7.20-experimental.0 → 7.7.21-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 +48 -53
- 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 -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 +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 +124 -130
- 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 +93 -131
- package/commands/project/__tests__/devUnifiedFlow.test.js +135 -140
- 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 +62 -67
- package/commands/project/deploy.d.ts +1 -1
- package/commands/project/deploy.js +72 -77
- 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 +50 -55
- package/commands/testAccount/createConfig.d.ts +2 -2
- 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 -1
- package/lang/en.js +369 -376
- package/lib/__tests__/accountTypes.test.js +20 -22
- package/lib/__tests__/buildAccount.test.js +26 -61
- 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 +59 -67
- 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 +69 -97
- 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 +23 -29
- package/lib/projects/add/v3AddComponent.d.ts +1 -1
- package/lib/projects/add/v3AddComponent.js +35 -41
- 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 +24 -26
- package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
- package/lib/projects/localDev/DevServerManagerV2.js +17 -22
- 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 +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 +55 -64
- 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 +16 -19
- 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 +15 -22
- 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 +12 -23
- 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 +44 -50
- 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 +33 -37
- package/mcp-server/tools/project/CreateProjectTool.d.ts +1 -1
- package/mcp-server/tools/project/CreateProjectTool.js +44 -48
- package/mcp-server/tools/project/DeployProject.d.ts +1 -1
- package/mcp-server/tools/project/DeployProject.js +16 -20
- package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
- package/mcp-server/tools/project/GuidedWalkthroughTool.js +19 -23
- package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
- package/mcp-server/tools/project/UploadProjectTools.js +10 -17
- package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
- package/mcp-server/tools/project/ValidateProjectTool.js +11 -15
- 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/package.json +15 -11
- 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/Yargs.js +1 -2
- package/types/{Cms.d.ts → cms.d.ts} +1 -1
- package/types/cms.js +1 -0
- package/types/sandboxes.js +1 -0
- package/types/Cms.js +0 -2
- package/types/Sandboxes.js +0 -2
- /package/types/{Sandboxes.d.ts → sandboxes.d.ts} +0 -0
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const index_1 = require("@hubspot/local-dev-lib/errors/index");
|
|
10
|
-
const util_1 = require("util");
|
|
1
|
+
import { Doctor } from '../Doctor.js';
|
|
2
|
+
import { hasMissingPackages as _hasMissingPackages } from '../../dependencyManagement.js';
|
|
3
|
+
import { isPortManagerPortAvailable as _isPortManagerPortAvailable } from '@hubspot/local-dev-lib/portManager';
|
|
4
|
+
import { accessTokenForPersonalAccessKey as _accessTokenForPersonalAccessKey, authorizedScopesForPortalAndUser as _authorizedScopesForPortalAndUser, scopesOnAccessToken as _scopesOnAccessToken, } from '@hubspot/local-dev-lib/personalAccessKey';
|
|
5
|
+
import { HubSpotHttpError } from '@hubspot/local-dev-lib/models/HubSpotHttpError';
|
|
6
|
+
import { AxiosError } from 'axios';
|
|
7
|
+
import { isSpecifiedError as _isSpecifiedError } from '@hubspot/local-dev-lib/errors/index';
|
|
8
|
+
import { promisify as _promisify } from 'util';
|
|
11
9
|
vi.mock('@hubspot/local-dev-lib/logger');
|
|
12
10
|
vi.mock('../Diagnosis');
|
|
13
11
|
vi.mock('../../ui/SpinniesManager');
|
|
@@ -18,13 +16,13 @@ vi.mock('@hubspot/local-dev-lib/portManager');
|
|
|
18
16
|
vi.mock('@hubspot/local-dev-lib/personalAccessKey');
|
|
19
17
|
vi.mock('@hubspot/local-dev-lib/errors/index');
|
|
20
18
|
vi.mock('util');
|
|
21
|
-
const hasMissingPackages = vi.mocked(
|
|
22
|
-
const isPortManagerPortAvailable = vi.mocked(
|
|
23
|
-
const utilPromisify = vi.mocked(
|
|
24
|
-
const accessTokenForPersonalAccessKey = vi.mocked(
|
|
25
|
-
const authorizedScopesForPortalAndUser = vi.mocked(
|
|
26
|
-
const scopesOnAccessToken = vi.mocked(
|
|
27
|
-
const isSpecifiedError = vi.mocked(
|
|
19
|
+
const hasMissingPackages = vi.mocked(_hasMissingPackages);
|
|
20
|
+
const isPortManagerPortAvailable = vi.mocked(_isPortManagerPortAvailable);
|
|
21
|
+
const utilPromisify = vi.mocked(_promisify);
|
|
22
|
+
const accessTokenForPersonalAccessKey = vi.mocked(_accessTokenForPersonalAccessKey);
|
|
23
|
+
const authorizedScopesForPortalAndUser = vi.mocked(_authorizedScopesForPortalAndUser);
|
|
24
|
+
const scopesOnAccessToken = vi.mocked(_scopesOnAccessToken);
|
|
25
|
+
const isSpecifiedError = vi.mocked(_isSpecifiedError);
|
|
28
26
|
describe('lib/doctor/Doctor', () => {
|
|
29
27
|
let doctor;
|
|
30
28
|
// @ts-ignore
|
|
@@ -59,7 +57,7 @@ describe('lib/doctor/Doctor', () => {
|
|
|
59
57
|
},
|
|
60
58
|
};
|
|
61
59
|
beforeEach(() => {
|
|
62
|
-
doctor = new
|
|
60
|
+
doctor = new Doctor({
|
|
63
61
|
generateDiagnosticInfo: vi.fn().mockResolvedValue({
|
|
64
62
|
...diagnosticInfo,
|
|
65
63
|
}),
|
|
@@ -85,7 +83,7 @@ describe('lib/doctor/Doctor', () => {
|
|
|
85
83
|
});
|
|
86
84
|
});
|
|
87
85
|
it('should add error section if node version is not available', async () => {
|
|
88
|
-
doctor = new
|
|
86
|
+
doctor = new Doctor({
|
|
89
87
|
generateDiagnosticInfo: vi.fn().mockResolvedValue({
|
|
90
88
|
...diagnosticInfo,
|
|
91
89
|
versions: {},
|
|
@@ -99,7 +97,7 @@ describe('lib/doctor/Doctor', () => {
|
|
|
99
97
|
});
|
|
100
98
|
});
|
|
101
99
|
it('should add error section if minimum node version is not met', async () => {
|
|
102
|
-
doctor = new
|
|
100
|
+
doctor = new Doctor({
|
|
103
101
|
generateDiagnosticInfo: vi.fn().mockResolvedValue({
|
|
104
102
|
...diagnosticInfo,
|
|
105
103
|
versions: { node: '1.0.0' },
|
|
@@ -123,7 +121,7 @@ describe('lib/doctor/Doctor', () => {
|
|
|
123
121
|
});
|
|
124
122
|
});
|
|
125
123
|
it('should add error section if npm is not installed', async () => {
|
|
126
|
-
doctor = new
|
|
124
|
+
doctor = new Doctor({
|
|
127
125
|
generateDiagnosticInfo: vi.fn().mockResolvedValue({
|
|
128
126
|
...diagnosticInfo,
|
|
129
127
|
versions: {},
|
|
@@ -166,7 +164,7 @@ describe('lib/doctor/Doctor', () => {
|
|
|
166
164
|
});
|
|
167
165
|
});
|
|
168
166
|
it('should add an error section if it is unable to determine if the portal is active', async () => {
|
|
169
|
-
accessTokenForPersonalAccessKey.mockRejectedValueOnce(new
|
|
167
|
+
accessTokenForPersonalAccessKey.mockRejectedValueOnce(new HubSpotHttpError('Invalid token', { cause: new AxiosError() }));
|
|
170
168
|
await doctor.diagnose();
|
|
171
169
|
// @ts-expect-error Testing private method
|
|
172
170
|
expect(doctor.diagnosis.addCLIConfigSection).toHaveBeenCalledWith({
|
|
@@ -175,7 +173,7 @@ describe('lib/doctor/Doctor', () => {
|
|
|
175
173
|
});
|
|
176
174
|
});
|
|
177
175
|
it('should add an error section if the portal is inactive', async () => {
|
|
178
|
-
accessTokenForPersonalAccessKey.mockRejectedValueOnce(new
|
|
176
|
+
accessTokenForPersonalAccessKey.mockRejectedValueOnce(new HubSpotHttpError('Invalid token'));
|
|
179
177
|
isSpecifiedError.mockImplementation((err, fields) => {
|
|
180
178
|
return (fields.statusCode === 401 &&
|
|
181
179
|
fields.category === 'INVALID_AUTHENTICATION' &&
|
|
@@ -190,7 +188,7 @@ describe('lib/doctor/Doctor', () => {
|
|
|
190
188
|
});
|
|
191
189
|
});
|
|
192
190
|
it('should add an error section if the portal is not found', async () => {
|
|
193
|
-
accessTokenForPersonalAccessKey.mockRejectedValueOnce(new
|
|
191
|
+
accessTokenForPersonalAccessKey.mockRejectedValueOnce(new HubSpotHttpError('Not found'));
|
|
194
192
|
isSpecifiedError.mockImplementation((err, fields) => {
|
|
195
193
|
return (fields.statusCode === 404 &&
|
|
196
194
|
fields.category === 'INVALID_AUTHENTICATION' &&
|
|
@@ -205,7 +203,7 @@ describe('lib/doctor/Doctor', () => {
|
|
|
205
203
|
});
|
|
206
204
|
});
|
|
207
205
|
it('should add multiple sections if token is invalid but the portal is active', async () => {
|
|
208
|
-
accessTokenForPersonalAccessKey.mockRejectedValueOnce(new
|
|
206
|
+
accessTokenForPersonalAccessKey.mockRejectedValueOnce(new HubSpotHttpError('Not found'));
|
|
209
207
|
isSpecifiedError.mockImplementation((err, fields) => {
|
|
210
208
|
return (fields.statusCode === 401 &&
|
|
211
209
|
fields.category === 'INVALID_AUTHENTICATION' &&
|
|
@@ -226,7 +224,7 @@ describe('lib/doctor/Doctor', () => {
|
|
|
226
224
|
});
|
|
227
225
|
});
|
|
228
226
|
it('should add an error section if we are unable to determine if the portal is active', async () => {
|
|
229
|
-
accessTokenForPersonalAccessKey.mockRejectedValueOnce(new
|
|
227
|
+
accessTokenForPersonalAccessKey.mockRejectedValueOnce(new HubSpotHttpError('Not found'));
|
|
230
228
|
isSpecifiedError.mockReturnValue(false);
|
|
231
229
|
await doctor.diagnose();
|
|
232
230
|
// @ts-expect-error Testing private method
|
package/lib/enums/exitCodes.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EXIT_CODES = void 0;
|
|
4
1
|
/*
|
|
5
2
|
* 0: Successful run
|
|
6
3
|
* 1: Config problem or internal error
|
|
7
4
|
* 2: Warnings or validation issues
|
|
8
5
|
*/
|
|
9
|
-
|
|
6
|
+
export const EXIT_CODES = {
|
|
10
7
|
SUCCESS: 0,
|
|
11
8
|
ERROR: 1,
|
|
12
9
|
WARNING: 2,
|
|
@@ -1,37 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
10
|
-
const index_1 = require("@hubspot/local-dev-lib/errors/index");
|
|
11
|
-
const config_1 = require("@hubspot/local-dev-lib/config");
|
|
12
|
-
const suppressError_1 = require("./suppressError");
|
|
13
|
-
const lang_1 = require("../lang");
|
|
14
|
-
const util_1 = __importDefault(require("util"));
|
|
15
|
-
const ui_1 = require("../ui");
|
|
16
|
-
function logError(error, context) {
|
|
1
|
+
import { logger } from '@hubspot/local-dev-lib/logger';
|
|
2
|
+
import { isHubSpotHttpError, isValidationError, } from '@hubspot/local-dev-lib/errors/index';
|
|
3
|
+
import { getConfig } from '@hubspot/local-dev-lib/config';
|
|
4
|
+
import { shouldSuppressError } from './suppressError.js';
|
|
5
|
+
import { i18n } from '../lang.js';
|
|
6
|
+
import util from 'util';
|
|
7
|
+
import { uiCommandReference } from '../ui/index.js';
|
|
8
|
+
export function logError(error, context) {
|
|
17
9
|
debugError(error, context);
|
|
18
10
|
if (isProjectValidationError(error)) {
|
|
19
|
-
|
|
11
|
+
logger.error(error.message);
|
|
20
12
|
return;
|
|
21
13
|
}
|
|
22
|
-
if (
|
|
14
|
+
if (shouldSuppressError(error, context)) {
|
|
23
15
|
return;
|
|
24
16
|
}
|
|
25
|
-
if (
|
|
26
|
-
if (
|
|
17
|
+
if (isHubSpotHttpError(error) && 'context' in error) {
|
|
18
|
+
if (shouldSuppressError(error, error.context)) {
|
|
27
19
|
return;
|
|
28
20
|
}
|
|
29
21
|
}
|
|
30
|
-
if (
|
|
22
|
+
if (isHubSpotHttpError(error) && context) {
|
|
31
23
|
error.updateContext(context);
|
|
32
24
|
}
|
|
33
|
-
if (
|
|
34
|
-
|
|
25
|
+
if (isHubSpotHttpError(error) && isValidationError(error)) {
|
|
26
|
+
logger.error(error.formattedValidationErrors());
|
|
35
27
|
}
|
|
36
28
|
else if (isErrorWithMessageOrReason(error)) {
|
|
37
29
|
const message = [];
|
|
@@ -40,47 +32,47 @@ function logError(error, context) {
|
|
|
40
32
|
message.push(msg);
|
|
41
33
|
}
|
|
42
34
|
});
|
|
43
|
-
|
|
35
|
+
logger.error(message.join(' '));
|
|
44
36
|
}
|
|
45
37
|
else {
|
|
46
38
|
// Unknown errors
|
|
47
|
-
|
|
39
|
+
logger.error(i18n(`lib.errorHandlers.index.unknownErrorOccurred`));
|
|
48
40
|
}
|
|
49
|
-
if (
|
|
50
|
-
const config =
|
|
41
|
+
if (isHubSpotHttpError(error) && error.code === 'ETIMEDOUT') {
|
|
42
|
+
const config = getConfig();
|
|
51
43
|
const defaultTimeout = config?.httpTimeout;
|
|
52
44
|
// Timeout was caused by the default timeout
|
|
53
45
|
if (error.timeout && defaultTimeout === error.timeout) {
|
|
54
|
-
|
|
46
|
+
logger.error(i18n(`lib.errorHandlers.index.configTimeoutErrorOccurred`, {
|
|
55
47
|
timeout: error.timeout,
|
|
56
|
-
configSetCommand:
|
|
48
|
+
configSetCommand: uiCommandReference('hs config set'),
|
|
57
49
|
}));
|
|
58
50
|
}
|
|
59
51
|
// Timeout was caused by a custom timeout set by the CLI or LDL
|
|
60
52
|
else {
|
|
61
|
-
|
|
53
|
+
logger.error(i18n(`lib.errorHandlers.index.genericTimeoutErrorOccurred`));
|
|
62
54
|
}
|
|
63
55
|
}
|
|
64
56
|
}
|
|
65
|
-
function debugError(error, context) {
|
|
66
|
-
if (
|
|
67
|
-
|
|
57
|
+
export function debugError(error, context) {
|
|
58
|
+
if (isHubSpotHttpError(error)) {
|
|
59
|
+
logger.debug(error.toString());
|
|
68
60
|
}
|
|
69
61
|
else {
|
|
70
|
-
|
|
62
|
+
logger.debug(i18n(`lib.errorHandlers.index.errorOccurred`, { error: String(error) }));
|
|
71
63
|
}
|
|
72
|
-
if (error instanceof Error && error.cause && !
|
|
73
|
-
|
|
74
|
-
cause:
|
|
64
|
+
if (error instanceof Error && error.cause && !isHubSpotHttpError(error)) {
|
|
65
|
+
logger.debug(i18n(`lib.errorHandlers.index.errorCause`, {
|
|
66
|
+
cause: util.inspect(error.cause, false, null, true),
|
|
75
67
|
}));
|
|
76
68
|
}
|
|
77
69
|
if (context) {
|
|
78
|
-
|
|
79
|
-
context:
|
|
70
|
+
logger.debug(i18n(`lib.errorHandlers.index.errorContext`, {
|
|
71
|
+
context: util.inspect(context, false, null, true),
|
|
80
72
|
}));
|
|
81
73
|
}
|
|
82
74
|
}
|
|
83
|
-
class ApiErrorContext {
|
|
75
|
+
export class ApiErrorContext {
|
|
84
76
|
accountId;
|
|
85
77
|
request;
|
|
86
78
|
payload;
|
|
@@ -92,7 +84,6 @@ class ApiErrorContext {
|
|
|
92
84
|
this.projectName = props.projectName || '';
|
|
93
85
|
}
|
|
94
86
|
}
|
|
95
|
-
exports.ApiErrorContext = ApiErrorContext;
|
|
96
87
|
function isProjectValidationError(error) {
|
|
97
88
|
return error instanceof Error && error.name === 'ProjectValidationError';
|
|
98
89
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ApiErrorContext } from './index';
|
|
1
|
+
import { ApiErrorContext } from './index.js';
|
|
2
2
|
export declare function shouldSuppressError(err: unknown, context?: ApiErrorContext): boolean;
|
|
@@ -1,62 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const constants_1 = require("../constants");
|
|
7
|
-
const lang_1 = require("../lang");
|
|
8
|
-
const ui_1 = require("../ui");
|
|
1
|
+
import { isSpecifiedError, isMissingScopeError, } from '@hubspot/local-dev-lib/errors/index';
|
|
2
|
+
import { logger } from '@hubspot/local-dev-lib/logger';
|
|
3
|
+
import { PLATFORM_VERSION_ERROR_TYPES } from '../constants.js';
|
|
4
|
+
import { i18n } from '../lang.js';
|
|
5
|
+
import { uiAccountDescription, uiLine, uiLink, uiCommandReference, } from '../ui/index.js';
|
|
9
6
|
function createPlatformVersionError(err, subCategory) {
|
|
10
7
|
let translationKey = 'unspecifiedPlatformVersion';
|
|
11
8
|
let platformVersion = 'unspecified platformVersion';
|
|
12
9
|
const errorContext = err?.data?.context;
|
|
13
|
-
if (subCategory ===
|
|
10
|
+
if (subCategory === PLATFORM_VERSION_ERROR_TYPES.PLATFORM_VERSION_RETIRED) {
|
|
14
11
|
platformVersion = errorContext?.RETIRED_PLATFORM_VERSION ?? platformVersion;
|
|
15
12
|
translationKey = 'platformVersionRetired';
|
|
16
13
|
}
|
|
17
14
|
else if (subCategory ===
|
|
18
|
-
|
|
15
|
+
PLATFORM_VERSION_ERROR_TYPES.PLATFORM_VERSION_SPECIFIED_DOES_NOT_EXIST) {
|
|
19
16
|
platformVersion = errorContext?.PLATFORM_VERSION ?? platformVersion;
|
|
20
17
|
translationKey = 'nonExistentPlatformVersion';
|
|
21
18
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
uiLine();
|
|
20
|
+
logger.error(i18n(`lib.errorHandlers.suppressErrors.platformVersionErrors.header`));
|
|
21
|
+
logger.log(i18n(`lib.errorHandlers.suppressErrors.platformVersionErrors.${translationKey}`, {
|
|
25
22
|
platformVersion,
|
|
26
23
|
}));
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
docsLink:
|
|
24
|
+
logger.log(i18n(`lib.errorHandlers.suppressErrors.platformVersionErrors.updateProject`));
|
|
25
|
+
logger.log(i18n(`lib.errorHandlers.suppressErrors.platformVersionErrors.betaLink`, {
|
|
26
|
+
docsLink: uiLink(i18n(`lib.errorHandlers.suppressErrors.platformVersionErrors.docsLink`), 'https://developers.hubspot.com/docs/platform/platform-versioning'),
|
|
30
27
|
}));
|
|
31
|
-
|
|
28
|
+
uiLine();
|
|
32
29
|
}
|
|
33
|
-
function shouldSuppressError(err, context) {
|
|
34
|
-
if (
|
|
35
|
-
|
|
30
|
+
export function shouldSuppressError(err, context) {
|
|
31
|
+
if (isMissingScopeError(err)) {
|
|
32
|
+
logger.error(i18n(`lib.errorHandlers.suppressErrors.missingScopeError`, {
|
|
36
33
|
accountName: context?.accountId
|
|
37
|
-
?
|
|
34
|
+
? uiAccountDescription(context.accountId)
|
|
38
35
|
: '',
|
|
39
36
|
request: context?.request || 'request',
|
|
40
|
-
authCommand:
|
|
37
|
+
authCommand: uiCommandReference('hs auth'),
|
|
41
38
|
}));
|
|
42
39
|
return true;
|
|
43
40
|
}
|
|
44
|
-
if (
|
|
45
|
-
subCategory:
|
|
41
|
+
if (isSpecifiedError(err, {
|
|
42
|
+
subCategory: PLATFORM_VERSION_ERROR_TYPES.PLATFORM_VERSION_NOT_SPECIFIED,
|
|
46
43
|
})) {
|
|
47
|
-
createPlatformVersionError(err,
|
|
44
|
+
createPlatformVersionError(err, PLATFORM_VERSION_ERROR_TYPES.PLATFORM_VERSION_NOT_SPECIFIED);
|
|
48
45
|
return true;
|
|
49
46
|
}
|
|
50
|
-
if (
|
|
51
|
-
subCategory:
|
|
47
|
+
if (isSpecifiedError(err, {
|
|
48
|
+
subCategory: PLATFORM_VERSION_ERROR_TYPES.PLATFORM_VERSION_RETIRED,
|
|
52
49
|
})) {
|
|
53
|
-
createPlatformVersionError(err,
|
|
50
|
+
createPlatformVersionError(err, PLATFORM_VERSION_ERROR_TYPES.PLATFORM_VERSION_RETIRED);
|
|
54
51
|
return true;
|
|
55
52
|
}
|
|
56
|
-
if (
|
|
57
|
-
subCategory:
|
|
53
|
+
if (isSpecifiedError(err, {
|
|
54
|
+
subCategory: PLATFORM_VERSION_ERROR_TYPES.PLATFORM_VERSION_SPECIFIED_DOES_NOT_EXIST,
|
|
58
55
|
})) {
|
|
59
|
-
createPlatformVersionError(err,
|
|
56
|
+
createPlatformVersionError(err, PLATFORM_VERSION_ERROR_TYPES.PLATFORM_VERSION_SPECIFIED_DOES_NOT_EXIST);
|
|
60
57
|
return true;
|
|
61
58
|
}
|
|
62
59
|
return false;
|
package/lib/filesystem.js
CHANGED
|
@@ -1,25 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.resolveLocalPath = resolveLocalPath;
|
|
7
|
-
exports.isPathFolder = isPathFolder;
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const path_2 = require("@hubspot/local-dev-lib/path");
|
|
10
|
-
const extensions_1 = require("@hubspot/local-dev-lib/constants/extensions");
|
|
11
|
-
function resolveLocalPath(filepath) {
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { getCwd } from '@hubspot/local-dev-lib/path';
|
|
3
|
+
import { FOLDER_DOT_EXTENSIONS } from '@hubspot/local-dev-lib/constants/extensions';
|
|
4
|
+
export function resolveLocalPath(filepath) {
|
|
12
5
|
return filepath && typeof filepath === 'string'
|
|
13
|
-
?
|
|
6
|
+
? path.resolve(getCwd(), filepath)
|
|
14
7
|
: // Use CWD if optional filepath is not passed.
|
|
15
|
-
|
|
8
|
+
getCwd();
|
|
16
9
|
}
|
|
17
|
-
function isPathFolder(path) {
|
|
10
|
+
export function isPathFolder(path) {
|
|
18
11
|
const splitPath = path.split('/');
|
|
19
12
|
const fileOrFolderName = splitPath[splitPath.length - 1];
|
|
20
13
|
const splitName = fileOrFolderName.split('.');
|
|
21
14
|
if (splitName.length > 1 &&
|
|
22
|
-
|
|
15
|
+
FOLDER_DOT_EXTENSIONS.indexOf(splitName[1]) === -1) {
|
|
23
16
|
return false;
|
|
24
17
|
}
|
|
25
18
|
return true;
|
package/lib/generateSelectors.js
CHANGED
|
@@ -1,37 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getMaxFieldsDepth = getMaxFieldsDepth;
|
|
7
|
-
exports.findFieldsJsonPath = findFieldsJsonPath;
|
|
8
|
-
exports.combineThemeCss = combineThemeCss;
|
|
9
|
-
exports.setPreviewSelectors = setPreviewSelectors;
|
|
10
|
-
exports.generateInheritedSelectors = generateInheritedSelectors;
|
|
11
|
-
exports.generateSelectorsMap = generateSelectorsMap;
|
|
12
|
-
const fs_1 = __importDefault(require("fs"));
|
|
13
|
-
const exitCodes_1 = require("./enums/exitCodes");
|
|
14
|
-
const en_1 = require("../lang/en");
|
|
15
|
-
const logger_1 = require("./ui/logger");
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import { EXIT_CODES } from './enums/exitCodes.js';
|
|
3
|
+
import { commands } from '../lang/en.js';
|
|
4
|
+
import { uiLogger } from './ui/logger.js';
|
|
16
5
|
const CSS_COMMENTS_REGEX = new RegExp(/\/\*.*\*\//, 'g');
|
|
17
6
|
const CSS_PSEUDO_CLASS_REGEX = new RegExp(/:active|:checked|:disabled|:empty|:enabled|:first-of-type|:focus|:hover|:in-range|:invalid|:link|:optional|:out-of-range|:read-only|:read-write|:required|:target|:valid|:visited/, 'g');
|
|
18
7
|
let maxFieldsDepth = 0;
|
|
19
|
-
function getMaxFieldsDepth() {
|
|
8
|
+
export function getMaxFieldsDepth() {
|
|
20
9
|
return maxFieldsDepth;
|
|
21
10
|
}
|
|
22
|
-
function findFieldsJsonPath(basePath) {
|
|
11
|
+
export function findFieldsJsonPath(basePath) {
|
|
23
12
|
const _path = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;
|
|
24
|
-
if (!
|
|
25
|
-
|
|
26
|
-
process.exit(
|
|
13
|
+
if (!fs.existsSync(_path)) {
|
|
14
|
+
uiLogger.error(commands.theme.subcommands.generateSelectors.errors.invalidPath(basePath));
|
|
15
|
+
process.exit(EXIT_CODES.ERROR);
|
|
27
16
|
}
|
|
28
|
-
const files =
|
|
17
|
+
const files = fs.readdirSync(_path);
|
|
29
18
|
if (files.includes('fields.json')) {
|
|
30
19
|
return `${_path}/fields.json`;
|
|
31
20
|
}
|
|
32
21
|
for (let i = 0; i < files.length; i++) {
|
|
33
22
|
const fileName = files[i];
|
|
34
|
-
const isDirectory =
|
|
23
|
+
const isDirectory = fs.lstatSync(`${_path}/${fileName}`).isDirectory();
|
|
35
24
|
if (isDirectory && !fileName.includes('.module')) {
|
|
36
25
|
const fieldsJsonPath = findFieldsJsonPath(`${_path}/${fileName}`);
|
|
37
26
|
if (fieldsJsonPath)
|
|
@@ -40,22 +29,22 @@ function findFieldsJsonPath(basePath) {
|
|
|
40
29
|
}
|
|
41
30
|
return null;
|
|
42
31
|
}
|
|
43
|
-
function combineThemeCss(basePath, cssString = '') {
|
|
32
|
+
export function combineThemeCss(basePath, cssString = '') {
|
|
44
33
|
const _path = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;
|
|
45
|
-
const isDirectory =
|
|
34
|
+
const isDirectory = fs.lstatSync(_path).isDirectory();
|
|
46
35
|
if (isDirectory) {
|
|
47
|
-
const filesList =
|
|
36
|
+
const filesList = fs.readdirSync(_path);
|
|
48
37
|
return filesList.reduce((css, fileName) => {
|
|
49
38
|
const newCss = combineThemeCss(`${_path}/${fileName}`);
|
|
50
39
|
return newCss ? `${css}\n${newCss}` : css;
|
|
51
40
|
}, cssString);
|
|
52
41
|
}
|
|
53
42
|
else if (_path.includes('.css') && !_path.includes('.module')) {
|
|
54
|
-
return `${cssString}\n${
|
|
43
|
+
return `${cssString}\n${fs.readFileSync(_path, 'utf8')}`;
|
|
55
44
|
}
|
|
56
45
|
return null;
|
|
57
46
|
}
|
|
58
|
-
function setPreviewSelectors(fields, fieldPath, selectors, depth = 0) {
|
|
47
|
+
export function setPreviewSelectors(fields, fieldPath, selectors, depth = 0) {
|
|
59
48
|
fields.forEach((field, index) => {
|
|
60
49
|
if (field.name === fieldPath[0]) {
|
|
61
50
|
if (field.children && fieldPath.length > 0) {
|
|
@@ -81,7 +70,7 @@ function setPreviewSelectors(fields, fieldPath, selectors, depth = 0) {
|
|
|
81
70
|
});
|
|
82
71
|
return fields;
|
|
83
72
|
}
|
|
84
|
-
function generateInheritedSelectors(fields) {
|
|
73
|
+
export function generateInheritedSelectors(fields) {
|
|
85
74
|
let finalFieldsJson = [...fields];
|
|
86
75
|
function _generateInheritedSelectors(fieldsToCheck) {
|
|
87
76
|
fieldsToCheck.forEach(field => {
|
|
@@ -103,7 +92,7 @@ function generateInheritedSelectors(fields) {
|
|
|
103
92
|
_generateInheritedSelectors(fields);
|
|
104
93
|
return finalFieldsJson;
|
|
105
94
|
}
|
|
106
|
-
function generateSelectorsMap(fields, fieldKey = []) {
|
|
95
|
+
export function generateSelectorsMap(fields, fieldKey = []) {
|
|
107
96
|
let selectorsMap = {};
|
|
108
97
|
fields.forEach(field => {
|
|
109
98
|
const { children, name, selectors } = field;
|
package/lib/hasFeature.d.ts
CHANGED
package/lib/hasFeature.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const localDevAuth_1 = require("@hubspot/local-dev-lib/api/localDevAuth");
|
|
5
|
-
async function hasFeature(accountId, feature) {
|
|
6
|
-
const { data: { enabledFeatures }, } = await (0, localDevAuth_1.fetchEnabledFeatures)(accountId);
|
|
1
|
+
import { fetchEnabledFeatures } from '@hubspot/local-dev-lib/api/localDevAuth';
|
|
2
|
+
export async function hasFeature(accountId, feature) {
|
|
3
|
+
const { data: { enabledFeatures }, } = await fetchEnabledFeatures(accountId);
|
|
7
4
|
return Boolean(enabledFeatures[feature]);
|
|
8
5
|
}
|
package/lib/interpolation.js
CHANGED
|
@@ -1,29 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.helpers = void 0;
|
|
7
|
-
exports.interpolate = interpolate;
|
|
8
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
-
exports.helpers = {
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
export const helpers = {
|
|
10
3
|
bold: function (stringValue) {
|
|
11
|
-
return
|
|
4
|
+
return chalk.bold(stringValue);
|
|
12
5
|
},
|
|
13
6
|
yellow: function (stringValue) {
|
|
14
|
-
return
|
|
7
|
+
return chalk.reset.yellow(stringValue);
|
|
15
8
|
},
|
|
16
9
|
green: function (stringValue) {
|
|
17
|
-
return
|
|
10
|
+
return chalk.reset.green(stringValue);
|
|
18
11
|
},
|
|
19
12
|
red: function (stringValue) {
|
|
20
|
-
return
|
|
13
|
+
return chalk.reset.red(stringValue);
|
|
21
14
|
},
|
|
22
15
|
cyan: function (stringValue) {
|
|
23
|
-
return
|
|
16
|
+
return chalk.cyan(stringValue);
|
|
24
17
|
},
|
|
25
18
|
orange: function (stringValue) {
|
|
26
|
-
return
|
|
19
|
+
return chalk.hex('#FC9900')(stringValue);
|
|
27
20
|
},
|
|
28
21
|
};
|
|
29
22
|
const delimiters = {
|
|
@@ -80,11 +73,11 @@ function compileHelper(stringValue, helperIdentifier, helperFn) {
|
|
|
80
73
|
return compiledString;
|
|
81
74
|
}
|
|
82
75
|
function compileHelpers(stringValue) {
|
|
83
|
-
return Object.keys(
|
|
84
|
-
return compileHelper(currentStringValue, helperIdentifier,
|
|
76
|
+
return Object.keys(helpers).reduce((currentStringValue, helperIdentifier) => {
|
|
77
|
+
return compileHelper(currentStringValue, helperIdentifier, helpers[helperIdentifier]);
|
|
85
78
|
}, stringValue);
|
|
86
79
|
}
|
|
87
|
-
function interpolate(stringValue, interpolationData) {
|
|
80
|
+
export function interpolate(stringValue, interpolationData) {
|
|
88
81
|
const interpolatedString = interpolation(stringValue, interpolationData);
|
|
89
82
|
const helperCompiledString = compileHelpers(interpolatedString);
|
|
90
83
|
return helperCompiledString;
|
package/lib/lang.d.ts
CHANGED