@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
|
@@ -1,71 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.CONFIG_FILES = void 0;
|
|
37
|
-
exports.getComponentTypeFromConfigFile = getComponentTypeFromConfigFile;
|
|
38
|
-
exports.loadConfigFile = loadConfigFile;
|
|
39
|
-
exports.getAppCardConfigs = getAppCardConfigs;
|
|
40
|
-
exports.getIsLegacyApp = getIsLegacyApp;
|
|
41
|
-
exports.findProjectComponents = findProjectComponents;
|
|
42
|
-
exports.getProjectComponentTypes = getProjectComponentTypes;
|
|
43
|
-
exports.getComponentUid = getComponentUid;
|
|
44
|
-
exports.componentIsApp = componentIsApp;
|
|
45
|
-
exports.componentIsPublicApp = componentIsPublicApp;
|
|
46
|
-
exports.isAppIRNode = isAppIRNode;
|
|
47
|
-
const fs = __importStar(require("fs"));
|
|
48
|
-
const path = __importStar(require("path"));
|
|
49
|
-
const fs_1 = require("@hubspot/local-dev-lib/fs");
|
|
50
|
-
const logger_1 = require("@hubspot/local-dev-lib/logger");
|
|
51
|
-
const index_1 = require("../errorHandlers/index");
|
|
52
|
-
const Projects_1 = require("../../types/Projects");
|
|
53
|
-
const constants_1 = require("../constants");
|
|
54
|
-
exports.CONFIG_FILES = {
|
|
55
|
-
[Projects_1.ComponentTypes.PrivateApp]: 'app.json',
|
|
56
|
-
[Projects_1.ComponentTypes.PublicApp]: 'public-app.json',
|
|
57
|
-
[Projects_1.ComponentTypes.HublTheme]: 'theme.json',
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import { walk } from '@hubspot/local-dev-lib/fs';
|
|
4
|
+
import { logger } from '@hubspot/local-dev-lib/logger';
|
|
5
|
+
import { logError } from '../errorHandlers/index.js';
|
|
6
|
+
import { ComponentTypes, } from '../../types/Projects.js';
|
|
7
|
+
import { IR_COMPONENT_TYPES } from '../constants.js';
|
|
8
|
+
export const CONFIG_FILES = {
|
|
9
|
+
[ComponentTypes.PrivateApp]: 'app.json',
|
|
10
|
+
[ComponentTypes.PublicApp]: 'public-app.json',
|
|
11
|
+
[ComponentTypes.HublTheme]: 'theme.json',
|
|
58
12
|
};
|
|
59
|
-
function getComponentTypeFromConfigFile(configFile) {
|
|
13
|
+
export function getComponentTypeFromConfigFile(configFile) {
|
|
60
14
|
let key;
|
|
61
|
-
for (key in
|
|
62
|
-
if (
|
|
15
|
+
for (key in CONFIG_FILES) {
|
|
16
|
+
if (CONFIG_FILES[key] === configFile) {
|
|
63
17
|
return key;
|
|
64
18
|
}
|
|
65
19
|
}
|
|
66
20
|
return null;
|
|
67
21
|
}
|
|
68
|
-
function loadConfigFile(configPath) {
|
|
22
|
+
export function loadConfigFile(configPath) {
|
|
69
23
|
if (configPath) {
|
|
70
24
|
try {
|
|
71
25
|
const source = fs.readFileSync(configPath);
|
|
@@ -73,12 +27,12 @@ function loadConfigFile(configPath) {
|
|
|
73
27
|
return parsedConfig;
|
|
74
28
|
}
|
|
75
29
|
catch (e) {
|
|
76
|
-
|
|
30
|
+
logger.debug(e);
|
|
77
31
|
}
|
|
78
32
|
}
|
|
79
33
|
return null;
|
|
80
34
|
}
|
|
81
|
-
function getAppCardConfigs(appConfig, appPath) {
|
|
35
|
+
export function getAppCardConfigs(appConfig, appPath) {
|
|
82
36
|
const cardConfigs = [];
|
|
83
37
|
let cards;
|
|
84
38
|
if (appConfig && appConfig.extensions && appConfig.extensions.crm) {
|
|
@@ -97,7 +51,7 @@ function getAppCardConfigs(appConfig, appPath) {
|
|
|
97
51
|
}
|
|
98
52
|
return cardConfigs;
|
|
99
53
|
}
|
|
100
|
-
function getIsLegacyApp(appConfig, appPath) {
|
|
54
|
+
export function getIsLegacyApp(appConfig, appPath) {
|
|
101
55
|
let hasAnyReactExtensions = false;
|
|
102
56
|
if (appConfig && 'extensions' in appConfig) {
|
|
103
57
|
const cardConfigs = getAppCardConfigs(appConfig, appPath);
|
|
@@ -117,23 +71,23 @@ function getIsLegacyApp(appConfig, appPath) {
|
|
|
117
71
|
}
|
|
118
72
|
return !hasAnyReactExtensions;
|
|
119
73
|
}
|
|
120
|
-
async function findProjectComponents(projectSourceDir) {
|
|
74
|
+
export async function findProjectComponents(projectSourceDir) {
|
|
121
75
|
const components = [];
|
|
122
76
|
let projectFiles = [];
|
|
123
77
|
try {
|
|
124
|
-
projectFiles = await
|
|
78
|
+
projectFiles = await walk(projectSourceDir);
|
|
125
79
|
}
|
|
126
80
|
catch (e) {
|
|
127
|
-
|
|
81
|
+
logError(e);
|
|
128
82
|
}
|
|
129
83
|
projectFiles.forEach(projectFile => {
|
|
130
84
|
// Find app components
|
|
131
85
|
const { base, dir } = path.parse(projectFile);
|
|
132
|
-
if (Object.values(
|
|
86
|
+
if (Object.values(CONFIG_FILES).includes(base)) {
|
|
133
87
|
const parsedConfig = loadConfigFile(projectFile);
|
|
134
88
|
if (parsedConfig) {
|
|
135
89
|
const isLegacy = getIsLegacyApp(parsedConfig, dir);
|
|
136
|
-
const isHublTheme = base ===
|
|
90
|
+
const isHublTheme = base === CONFIG_FILES[ComponentTypes.HublTheme];
|
|
137
91
|
const componentType = getComponentTypeFromConfigFile(base);
|
|
138
92
|
if (componentType) {
|
|
139
93
|
components.push({
|
|
@@ -148,12 +102,12 @@ async function findProjectComponents(projectSourceDir) {
|
|
|
148
102
|
});
|
|
149
103
|
return components;
|
|
150
104
|
}
|
|
151
|
-
function getProjectComponentTypes(components) {
|
|
105
|
+
export function getProjectComponentTypes(components) {
|
|
152
106
|
const projectContents = {};
|
|
153
107
|
components.forEach(({ type }) => (projectContents[type] = true));
|
|
154
108
|
return projectContents;
|
|
155
109
|
}
|
|
156
|
-
function getComponentUid(component) {
|
|
110
|
+
export function getComponentUid(component) {
|
|
157
111
|
if (!component) {
|
|
158
112
|
return null;
|
|
159
113
|
}
|
|
@@ -164,13 +118,13 @@ function getComponentUid(component) {
|
|
|
164
118
|
return component.config.data.uid;
|
|
165
119
|
}
|
|
166
120
|
}
|
|
167
|
-
function componentIsApp(component) {
|
|
168
|
-
return (component?.type ===
|
|
169
|
-
component?.type ===
|
|
121
|
+
export function componentIsApp(component) {
|
|
122
|
+
return (component?.type === ComponentTypes.PublicApp ||
|
|
123
|
+
component?.type === ComponentTypes.PrivateApp);
|
|
170
124
|
}
|
|
171
|
-
function componentIsPublicApp(component) {
|
|
172
|
-
return component?.type ===
|
|
125
|
+
export function componentIsPublicApp(component) {
|
|
126
|
+
return component?.type === ComponentTypes.PublicApp;
|
|
173
127
|
}
|
|
174
|
-
function isAppIRNode(component) {
|
|
175
|
-
return component.componentType ===
|
|
128
|
+
export function isAppIRNode(component) {
|
|
129
|
+
return component.componentType === IR_COMPONENT_TYPES.APPLICATION;
|
|
176
130
|
}
|
package/lib/projects/ui.js
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
(
|
|
11
|
-
logger_1.uiLogger.log(en_1.lib.projects.logFeedbackMessage.feedbackHeader);
|
|
12
|
-
(0, ui_1.uiLine)();
|
|
13
|
-
logger_1.uiLogger.log(en_1.lib.projects.logFeedbackMessage.feedbackMessage);
|
|
1
|
+
import { uiLogger } from '../ui/logger.js';
|
|
2
|
+
import { FEEDBACK_INTERVAL } from '../constants.js';
|
|
3
|
+
import { uiLine } from '../ui/index.js';
|
|
4
|
+
import { lib } from '../../lang/en.js';
|
|
5
|
+
export function logFeedbackMessage(buildId) {
|
|
6
|
+
if (buildId > 0 && buildId % FEEDBACK_INTERVAL === 0) {
|
|
7
|
+
uiLine();
|
|
8
|
+
uiLogger.log(lib.projects.logFeedbackMessage.feedbackHeader);
|
|
9
|
+
uiLine();
|
|
10
|
+
uiLogger.log(lib.projects.logFeedbackMessage.feedbackMessage);
|
|
14
11
|
}
|
|
15
12
|
}
|
package/lib/projects/upload.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FileResult } from 'tmp';
|
|
2
|
-
import {
|
|
3
|
-
import { ProjectConfig } from '../../types/Projects';
|
|
2
|
+
import { ProjectConfig } from '../../types/Projects.js';
|
|
4
3
|
type ProjectUploadCallbackFunction<T> = (accountId: number, projectConfig: ProjectConfig, tempFile: FileResult, buildId: number) => Promise<T>;
|
|
5
4
|
type ProjectUploadResult<T> = {
|
|
6
5
|
result?: T;
|
|
@@ -21,5 +20,5 @@ type HandleProjectUploadArg<T> = {
|
|
|
21
20
|
export declare function handleProjectUpload<T>({ accountId, projectConfig, projectDir, callbackFunc, profile, uploadMessage, forceCreate, isUploadCommand, sendIR, skipValidation, }: HandleProjectUploadArg<T>): Promise<ProjectUploadResult<T>>;
|
|
22
21
|
export declare function validateSourceDirectory(srcDir: string, projectConfig: ProjectConfig): void;
|
|
23
22
|
export declare function validateNoHSMetaMismatch(srcDir: string, projectConfig: ProjectConfig): Promise<void>;
|
|
24
|
-
export declare function handleTranslate(projectDir: string, projectConfig: ProjectConfig, accountId: number, skipValidation: boolean, profile: string | undefined): Promise<
|
|
23
|
+
export declare function handleTranslate(projectDir: string, projectConfig: ProjectConfig, accountId: number, skipValidation: boolean, profile: string | undefined): Promise<unknown>;
|
|
25
24
|
export {};
|
package/lib/projects/upload.js
CHANGED
|
@@ -1,88 +1,79 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const SpinniesManager_1 = __importDefault(require("../ui/SpinniesManager"));
|
|
18
|
-
const ui_1 = require("../ui");
|
|
19
|
-
const errorHandlers_1 = require("../errorHandlers");
|
|
20
|
-
const node_util_1 = __importDefault(require("node:util"));
|
|
21
|
-
const en_1 = require("../../lang/en");
|
|
22
|
-
const ensureProjectExists_1 = require("./ensureProjectExists");
|
|
23
|
-
const logger_1 = require("../ui/logger");
|
|
24
|
-
const buildAndDeploy_1 = require("./buildAndDeploy");
|
|
25
|
-
const exitCodes_1 = require("../enums/exitCodes");
|
|
1
|
+
import archiver from 'archiver';
|
|
2
|
+
import tmp from 'tmp';
|
|
3
|
+
import fs from 'fs-extra';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { uploadProject } from '@hubspot/local-dev-lib/api/projects';
|
|
6
|
+
import { shouldIgnoreFile } from '@hubspot/local-dev-lib/ignoreRules';
|
|
7
|
+
import { isTranslationError, translate, projectContainsHsMetaFiles, } from '@hubspot/project-parsing-lib';
|
|
8
|
+
import SpinniesManager from '../ui/SpinniesManager.js';
|
|
9
|
+
import { uiAccountDescription } from '../ui/index.js';
|
|
10
|
+
import { logError } from '../errorHandlers/index.js';
|
|
11
|
+
import util from 'node:util';
|
|
12
|
+
import { lib } from '../../lang/en.js';
|
|
13
|
+
import { ensureProjectExists } from './ensureProjectExists.js';
|
|
14
|
+
import { uiLogger } from '../ui/logger.js';
|
|
15
|
+
import { useV3Api } from './buildAndDeploy.js';
|
|
16
|
+
import { EXIT_CODES } from '../enums/exitCodes.js';
|
|
26
17
|
async function uploadProjectFiles(accountId, projectName, filePath, uploadMessage, platformVersion, intermediateRepresentation) {
|
|
27
|
-
|
|
28
|
-
const accountIdentifier =
|
|
29
|
-
|
|
30
|
-
text:
|
|
18
|
+
SpinniesManager.init({});
|
|
19
|
+
const accountIdentifier = uiAccountDescription(accountId) || `${accountId}`;
|
|
20
|
+
SpinniesManager.add('upload', {
|
|
21
|
+
text: lib.projectUpload.uploadProjectFiles.add(projectName, accountIdentifier),
|
|
31
22
|
succeedColor: 'white',
|
|
32
23
|
});
|
|
33
24
|
let buildId;
|
|
34
25
|
let error;
|
|
35
26
|
try {
|
|
36
|
-
const { data: upload } = await
|
|
27
|
+
const { data: upload } = await uploadProject(accountId, projectName, filePath, uploadMessage, platformVersion, intermediateRepresentation);
|
|
37
28
|
buildId = upload.buildId;
|
|
38
|
-
|
|
39
|
-
text:
|
|
29
|
+
SpinniesManager.succeed('upload', {
|
|
30
|
+
text: lib.projectUpload.uploadProjectFiles.succeed(projectName, accountIdentifier),
|
|
40
31
|
});
|
|
41
32
|
if (buildId) {
|
|
42
|
-
|
|
33
|
+
uiLogger.debug(lib.projectUpload.uploadProjectFiles.buildCreated(projectName, buildId));
|
|
43
34
|
}
|
|
44
35
|
}
|
|
45
36
|
catch (err) {
|
|
46
|
-
|
|
47
|
-
text:
|
|
37
|
+
SpinniesManager.fail('upload', {
|
|
38
|
+
text: lib.projectUpload.uploadProjectFiles.fail(projectName, accountIdentifier),
|
|
48
39
|
});
|
|
49
40
|
error = err;
|
|
50
41
|
}
|
|
51
42
|
return { buildId, error };
|
|
52
43
|
}
|
|
53
|
-
async function handleProjectUpload({ accountId, projectConfig, projectDir, callbackFunc, profile, uploadMessage = '', forceCreate = false, isUploadCommand = false, sendIR = false, skipValidation = false, }) {
|
|
54
|
-
const srcDir =
|
|
44
|
+
export async function handleProjectUpload({ accountId, projectConfig, projectDir, callbackFunc, profile, uploadMessage = '', forceCreate = false, isUploadCommand = false, sendIR = false, skipValidation = false, }) {
|
|
45
|
+
const srcDir = path.resolve(projectDir, projectConfig.srcDir);
|
|
55
46
|
try {
|
|
56
47
|
validateSourceDirectory(srcDir, projectConfig);
|
|
57
48
|
}
|
|
58
49
|
catch (e) {
|
|
59
|
-
|
|
60
|
-
process.exit(
|
|
50
|
+
logError(e);
|
|
51
|
+
process.exit(EXIT_CODES.ERROR);
|
|
61
52
|
}
|
|
62
53
|
try {
|
|
63
54
|
await validateNoHSMetaMismatch(srcDir, projectConfig);
|
|
64
55
|
}
|
|
65
56
|
catch (e) {
|
|
66
|
-
|
|
67
|
-
process.exit(
|
|
57
|
+
logError(e);
|
|
58
|
+
process.exit(EXIT_CODES.ERROR);
|
|
68
59
|
}
|
|
69
|
-
const tempFile =
|
|
70
|
-
|
|
71
|
-
const output =
|
|
72
|
-
const archive = (
|
|
60
|
+
const tempFile = tmp.fileSync({ postfix: '.zip' });
|
|
61
|
+
uiLogger.debug(lib.projectUpload.handleProjectUpload.compressing(tempFile.name));
|
|
62
|
+
const output = fs.createWriteStream(tempFile.name);
|
|
63
|
+
const archive = archiver('zip');
|
|
73
64
|
const result = new Promise(resolve => output.on('close', async function () {
|
|
74
|
-
|
|
65
|
+
uiLogger.debug(lib.projectUpload.handleProjectUpload.compressed(archive.pointer()));
|
|
75
66
|
let intermediateRepresentation;
|
|
76
67
|
if (sendIR) {
|
|
77
68
|
try {
|
|
78
69
|
intermediateRepresentation = await handleTranslate(projectDir, projectConfig, accountId, skipValidation, profile);
|
|
79
70
|
}
|
|
80
71
|
catch (e) {
|
|
81
|
-
|
|
82
|
-
process.exit(
|
|
72
|
+
logError(e);
|
|
73
|
+
process.exit(EXIT_CODES.ERROR);
|
|
83
74
|
}
|
|
84
75
|
}
|
|
85
|
-
await
|
|
76
|
+
await ensureProjectExists(accountId, projectConfig.name, {
|
|
86
77
|
forceCreate,
|
|
87
78
|
uploadCommand: isUploadCommand,
|
|
88
79
|
});
|
|
@@ -98,11 +89,11 @@ async function handleProjectUpload({ accountId, projectConfig, projectDir, callb
|
|
|
98
89
|
archive.pipe(output);
|
|
99
90
|
let loggedIgnoredNodeModule = false;
|
|
100
91
|
archive.directory(srcDir, false, file => {
|
|
101
|
-
const ignored =
|
|
92
|
+
const ignored = shouldIgnoreFile(file.name, true);
|
|
102
93
|
if (ignored) {
|
|
103
94
|
const isNodeModule = file.name.includes('node_modules');
|
|
104
95
|
if (!isNodeModule || !loggedIgnoredNodeModule) {
|
|
105
|
-
|
|
96
|
+
uiLogger.debug(lib.projectUpload.handleProjectUpload.fileFiltered(file.name));
|
|
106
97
|
}
|
|
107
98
|
if (isNodeModule && !loggedIgnoredNodeModule) {
|
|
108
99
|
loggedIgnoredNodeModule = true;
|
|
@@ -113,41 +104,40 @@ async function handleProjectUpload({ accountId, projectConfig, projectDir, callb
|
|
|
113
104
|
archive.finalize();
|
|
114
105
|
return result;
|
|
115
106
|
}
|
|
116
|
-
function validateSourceDirectory(srcDir, projectConfig) {
|
|
117
|
-
const filenames =
|
|
107
|
+
export function validateSourceDirectory(srcDir, projectConfig) {
|
|
108
|
+
const filenames = fs.readdirSync(srcDir);
|
|
118
109
|
if (!filenames || filenames.length === 0) {
|
|
119
|
-
const validationError = new Error(
|
|
110
|
+
const validationError = new Error(lib.projectUpload.handleProjectUpload.emptySource(projectConfig.srcDir));
|
|
120
111
|
validationError.name = 'ProjectValidationError';
|
|
121
112
|
throw validationError;
|
|
122
113
|
}
|
|
123
114
|
}
|
|
124
|
-
async function validateNoHSMetaMismatch(srcDir, projectConfig) {
|
|
125
|
-
const hasHsMetaFiles = await
|
|
126
|
-
if (!
|
|
127
|
-
const validationError = new Error(
|
|
115
|
+
export async function validateNoHSMetaMismatch(srcDir, projectConfig) {
|
|
116
|
+
const hasHsMetaFiles = await projectContainsHsMetaFiles(srcDir);
|
|
117
|
+
if (!useV3Api(projectConfig.platformVersion) && hasHsMetaFiles) {
|
|
118
|
+
const validationError = new Error(lib.projectUpload.wrongPlatformVersionMetaFiles);
|
|
128
119
|
validationError.name = 'ProjectValidationError';
|
|
129
120
|
throw validationError;
|
|
130
121
|
}
|
|
131
122
|
}
|
|
132
|
-
async function handleTranslate(projectDir, projectConfig, accountId, skipValidation, profile) {
|
|
123
|
+
export async function handleTranslate(projectDir, projectConfig, accountId, skipValidation, profile) {
|
|
133
124
|
try {
|
|
134
|
-
const intermediateRepresentation = await
|
|
135
|
-
projectSourceDir:
|
|
125
|
+
const intermediateRepresentation = await translate({
|
|
126
|
+
projectSourceDir: path.join(projectDir, projectConfig.srcDir),
|
|
136
127
|
platformVersion: projectConfig.platformVersion,
|
|
137
128
|
accountId,
|
|
138
129
|
}, { skipValidation, profile });
|
|
139
|
-
|
|
130
|
+
uiLogger.debug(util.inspect(intermediateRepresentation, false, null, true));
|
|
140
131
|
return intermediateRepresentation;
|
|
141
132
|
}
|
|
142
133
|
catch (e) {
|
|
143
|
-
if (
|
|
134
|
+
if (isTranslationError(e)) {
|
|
144
135
|
const validationError = new Error(e.toString());
|
|
145
136
|
validationError.name = 'ProjectValidationError';
|
|
146
137
|
throw validationError;
|
|
147
138
|
}
|
|
148
139
|
else {
|
|
149
|
-
|
|
140
|
+
logError(e);
|
|
150
141
|
}
|
|
151
142
|
}
|
|
152
|
-
return undefined;
|
|
153
143
|
}
|
package/lib/projects/urls.js
CHANGED
|
@@ -1,49 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.getDeveloperOverviewUrl = getDeveloperOverviewUrl;
|
|
5
|
-
exports.getProjectDetailUrl = getProjectDetailUrl;
|
|
6
|
-
exports.getProjectSettingsUrl = getProjectSettingsUrl;
|
|
7
|
-
exports.getProjectActivityUrl = getProjectActivityUrl;
|
|
8
|
-
exports.getProjectBuildDetailUrl = getProjectBuildDetailUrl;
|
|
9
|
-
exports.getProjectDeployDetailUrl = getProjectDeployDetailUrl;
|
|
10
|
-
exports.getLocalDevUiUrl = getLocalDevUiUrl;
|
|
11
|
-
const urls_1 = require("@hubspot/local-dev-lib/urls");
|
|
12
|
-
const config_1 = require("@hubspot/local-dev-lib/config");
|
|
13
|
-
const environments_1 = require("@hubspot/local-dev-lib/constants/environments");
|
|
1
|
+
import { getHubSpotWebsiteOrigin } from '@hubspot/local-dev-lib/urls';
|
|
2
|
+
import { getEnv } from '@hubspot/local-dev-lib/config';
|
|
3
|
+
import { ENVIRONMENTS } from '@hubspot/local-dev-lib/constants/environments';
|
|
14
4
|
function getBaseUrl(accountId) {
|
|
15
|
-
return
|
|
5
|
+
return getHubSpotWebsiteOrigin(getEnv(accountId) === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD);
|
|
16
6
|
}
|
|
17
7
|
function getProjectHomeUrl(accountId) {
|
|
18
8
|
return `${getBaseUrl(accountId)}/developer-projects/${accountId}`;
|
|
19
9
|
}
|
|
20
|
-
function getProjectComponentDistributionUrl(projectName, componentName, accountId) {
|
|
21
|
-
const baseUrl =
|
|
10
|
+
export function getProjectComponentDistributionUrl(projectName, componentName, accountId) {
|
|
11
|
+
const baseUrl = getHubSpotWebsiteOrigin(getEnv(accountId) === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD);
|
|
22
12
|
return `${baseUrl}/developer-projects/${accountId}/project/${projectName}/component/${componentName}/distribution`;
|
|
23
13
|
}
|
|
24
|
-
function getDeveloperOverviewUrl(accountId) {
|
|
25
|
-
const baseUrl =
|
|
14
|
+
export function getDeveloperOverviewUrl(accountId) {
|
|
15
|
+
const baseUrl = getHubSpotWebsiteOrigin(getEnv(accountId) === 'qa' ? ENVIRONMENTS.QA : ENVIRONMENTS.PROD);
|
|
26
16
|
return `${baseUrl}/developer-overview/${accountId}`;
|
|
27
17
|
}
|
|
28
|
-
function getProjectDetailUrl(projectName, accountId) {
|
|
18
|
+
export function getProjectDetailUrl(projectName, accountId) {
|
|
29
19
|
if (!projectName)
|
|
30
20
|
return;
|
|
31
21
|
return `${getProjectHomeUrl(accountId)}/project/${projectName}`;
|
|
32
22
|
}
|
|
33
|
-
function getProjectSettingsUrl(projectName, accountId) {
|
|
23
|
+
export function getProjectSettingsUrl(projectName, accountId) {
|
|
34
24
|
if (!projectName)
|
|
35
25
|
return;
|
|
36
26
|
return `${getProjectDetailUrl(projectName, accountId)}/settings`;
|
|
37
27
|
}
|
|
38
|
-
function getProjectActivityUrl(projectName, accountId) {
|
|
28
|
+
export function getProjectActivityUrl(projectName, accountId) {
|
|
39
29
|
return `${getProjectDetailUrl(projectName, accountId)}/activity`;
|
|
40
30
|
}
|
|
41
|
-
function getProjectBuildDetailUrl(projectName, buildId, accountId) {
|
|
31
|
+
export function getProjectBuildDetailUrl(projectName, buildId, accountId) {
|
|
42
32
|
return `${getProjectActivityUrl(projectName, accountId)}/build/${buildId}`;
|
|
43
33
|
}
|
|
44
|
-
function getProjectDeployDetailUrl(projectName, deployId, accountId) {
|
|
34
|
+
export function getProjectDeployDetailUrl(projectName, deployId, accountId) {
|
|
45
35
|
return `${getProjectActivityUrl(projectName, accountId)}/deploy/${deployId}`;
|
|
46
36
|
}
|
|
47
|
-
function getLocalDevUiUrl(accountId) {
|
|
37
|
+
export function getLocalDevUiUrl(accountId) {
|
|
48
38
|
return `${getBaseUrl(accountId)}/developer-projects-local-dev/${accountId}`;
|
|
49
39
|
}
|
package/lib/projects/watch.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProjectConfig } from '../../types/Projects';
|
|
1
|
+
import { ProjectConfig } from '../../types/Projects.js';
|
|
2
2
|
type ProjectWatchHandlerFunction = (accountId: number, projectName: string, currentBuildId: number) => Promise<void> | void;
|
|
3
3
|
export declare function createWatcher(accountId: number, projectConfig: ProjectConfig, projectDir: string, handleBuildStatusFn: ProjectWatchHandlerFunction, handleUserInputFn: ProjectWatchHandlerFunction): Promise<void>;
|
|
4
4
|
export {};
|