@squiz/dxp-cli-next 5.33.0-develop.1 → 5.33.0-develop.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/bin/dxp.js +6 -1
- package/dist/dxp.js +4480 -0
- package/package.json +36 -30
- package/lib/ApiService.d.ts +0 -39
- package/lib/ApiService.js +0 -120
- package/lib/ApiService.spec.d.ts +0 -1
- package/lib/ApiService.spec.js +0 -182
- package/lib/ApplicationConfig.d.ts +0 -7
- package/lib/ApplicationConfig.js +0 -38
- package/lib/ApplicationConfig.spec.d.ts +0 -1
- package/lib/ApplicationConfig.spec.js +0 -84
- package/lib/ApplicationStore.d.ts +0 -13
- package/lib/ApplicationStore.js +0 -53
- package/lib/__tests__/cmp/dev-mode.spec.d.ts +0 -1
- package/lib/__tests__/cmp/dev-mode.spec.js +0 -54
- package/lib/__tests__/helpers.d.ts +0 -17
- package/lib/__tests__/helpers.js +0 -54
- package/lib/__tests__/integration/main.spec.d.ts +0 -1
- package/lib/__tests__/integration/main.spec.js +0 -45
- package/lib/__tests__/smoke/validate.spec.d.ts +0 -1
- package/lib/__tests__/smoke/validate.spec.js +0 -37
- package/lib/__tests__/unit/cli.d.ts +0 -0
- package/lib/__tests__/unit/cli.js +0 -7
- package/lib/auth/index.d.ts +0 -3
- package/lib/auth/index.js +0 -14
- package/lib/auth/login/login.d.ts +0 -22
- package/lib/auth/login/login.js +0 -268
- package/lib/auth/login/login.spec.d.ts +0 -1
- package/lib/auth/login/login.spec.js +0 -179
- package/lib/auth/logout/logout.d.ts +0 -3
- package/lib/auth/logout/logout.js +0 -115
- package/lib/auth/logout/logout.spec.d.ts +0 -1
- package/lib/auth/logout/logout.spec.js +0 -67
- package/lib/cdp/constants.d.ts +0 -1
- package/lib/cdp/constants.js +0 -4
- package/lib/cdp/index.d.ts +0 -3
- package/lib/cdp/index.js +0 -16
- package/lib/cdp/instance/activate/activate.d.ts +0 -5
- package/lib/cdp/instance/activate/activate.js +0 -107
- package/lib/cdp/instance/activate/activate.spec.d.ts +0 -1
- package/lib/cdp/instance/activate/activate.spec.js +0 -274
- package/lib/cdp/instance/instanceCommand.d.ts +0 -3
- package/lib/cdp/instance/instanceCommand.js +0 -15
- package/lib/cdp/schema/deploy/deploy.const.d.ts +0 -5
- package/lib/cdp/schema/deploy/deploy.const.js +0 -8
- package/lib/cdp/schema/deploy/deploy.d.ts +0 -4
- package/lib/cdp/schema/deploy/deploy.js +0 -107
- package/lib/cdp/schema/deploy/deploy.spec.d.ts +0 -1
- package/lib/cdp/schema/deploy/deploy.spec.js +0 -137
- package/lib/cdp/schema/schemaCommand.d.ts +0 -3
- package/lib/cdp/schema/schemaCommand.js +0 -15
- package/lib/cdp/utils.d.ts +0 -23
- package/lib/cdp/utils.js +0 -133
- package/lib/cmp/deploy.d.ts +0 -3
- package/lib/cmp/deploy.js +0 -124
- package/lib/cmp/dev-mode-ui.d.ts +0 -4
- package/lib/cmp/dev-mode-ui.js +0 -51
- package/lib/cmp/dev-mode.d.ts +0 -4
- package/lib/cmp/dev-mode.js +0 -58
- package/lib/cmp/edge-components/compiler.d.ts +0 -13
- package/lib/cmp/edge-components/compiler.js +0 -55
- package/lib/cmp/index.d.ts +0 -3
- package/lib/cmp/index.js +0 -18
- package/lib/cmp/init.d.ts +0 -3
- package/lib/cmp/init.js +0 -105
- package/lib/cmp/utils/definitions.d.ts +0 -481
- package/lib/cmp/utils/definitions.js +0 -262
- package/lib/cmp/utils/definitions.spec.d.ts +0 -1
- package/lib/cmp/utils/definitions.spec.js +0 -503
- package/lib/constants.d.ts +0 -1
- package/lib/constants.js +0 -4
- package/lib/datastore/blueprint/add/add.d.ts +0 -3
- package/lib/datastore/blueprint/add/add.js +0 -119
- package/lib/datastore/blueprint/add/add.spec.d.ts +0 -1
- package/lib/datastore/blueprint/add/add.spec.js +0 -134
- package/lib/datastore/blueprint/blueprintCommand.d.ts +0 -3
- package/lib/datastore/blueprint/blueprintCommand.js +0 -21
- package/lib/datastore/blueprint/list/list.d.ts +0 -3
- package/lib/datastore/blueprint/list/list.js +0 -76
- package/lib/datastore/blueprint/list/list.spec.d.ts +0 -1
- package/lib/datastore/blueprint/list/list.spec.js +0 -51
- package/lib/datastore/blueprint/rename/rename.d.ts +0 -3
- package/lib/datastore/blueprint/rename/rename.js +0 -93
- package/lib/datastore/blueprint/rename/rename.spec.d.ts +0 -1
- package/lib/datastore/blueprint/rename/rename.spec.js +0 -142
- package/lib/datastore/blueprint/update/update.d.ts +0 -3
- package/lib/datastore/blueprint/update/update.js +0 -89
- package/lib/datastore/blueprint/update/update.spec.d.ts +0 -1
- package/lib/datastore/blueprint/update/update.spec.js +0 -99
- package/lib/datastore/bundle/bundle.d.ts +0 -3
- package/lib/datastore/bundle/bundle.js +0 -176
- package/lib/datastore/bundle/bundle.spec.d.ts +0 -1
- package/lib/datastore/bundle/bundle.spec.js +0 -94
- package/lib/datastore/index.d.ts +0 -3
- package/lib/datastore/index.js +0 -16
- package/lib/datastore/simulator/add/add.d.ts +0 -3
- package/lib/datastore/simulator/add/add.js +0 -125
- package/lib/datastore/simulator/add/add.spec.d.ts +0 -1
- package/lib/datastore/simulator/add/add.spec.js +0 -114
- package/lib/datastore/simulator/clear/clear.d.ts +0 -3
- package/lib/datastore/simulator/clear/clear.js +0 -70
- package/lib/datastore/simulator/clear/clear.spec.d.ts +0 -1
- package/lib/datastore/simulator/clear/clear.spec.js +0 -224
- package/lib/datastore/simulator/list/list.d.ts +0 -3
- package/lib/datastore/simulator/list/list.js +0 -115
- package/lib/datastore/simulator/list/list.spec.d.ts +0 -1
- package/lib/datastore/simulator/list/list.spec.js +0 -95
- package/lib/datastore/simulator/pause/pause.d.ts +0 -3
- package/lib/datastore/simulator/pause/pause.js +0 -84
- package/lib/datastore/simulator/pause/pause.spec.d.ts +0 -1
- package/lib/datastore/simulator/pause/pause.spec.js +0 -90
- package/lib/datastore/simulator/remove/remove.d.ts +0 -3
- package/lib/datastore/simulator/remove/remove.js +0 -68
- package/lib/datastore/simulator/remove/remove.spec.d.ts +0 -1
- package/lib/datastore/simulator/remove/remove.spec.js +0 -224
- package/lib/datastore/simulator/resume/resume.d.ts +0 -3
- package/lib/datastore/simulator/resume/resume.js +0 -84
- package/lib/datastore/simulator/resume/resume.spec.d.ts +0 -1
- package/lib/datastore/simulator/resume/resume.spec.js +0 -90
- package/lib/datastore/simulator/simulatorCommand.d.ts +0 -3
- package/lib/datastore/simulator/simulatorCommand.js +0 -27
- package/lib/datastore/simulator/upgrade/upgrade.d.ts +0 -3
- package/lib/datastore/simulator/upgrade/upgrade.js +0 -157
- package/lib/datastore/simulator/upgrade/upgrade.spec.d.ts +0 -1
- package/lib/datastore/simulator/upgrade/upgrade.spec.js +0 -199
- package/lib/datastore/simulator/utils.d.ts +0 -29
- package/lib/datastore/simulator/utils.js +0 -218
- package/lib/datastore/simulator/utils.spec.d.ts +0 -1
- package/lib/datastore/simulator/utils.spec.js +0 -201
- package/lib/datastore/utils.d.ts +0 -20
- package/lib/datastore/utils.js +0 -241
- package/lib/datastore/utils.spec.d.ts +0 -1
- package/lib/datastore/utils.spec.js +0 -113
- package/lib/dxp.d.ts +0 -1
- package/lib/dxp.js +0 -57
- package/lib/job-runner/index.d.ts +0 -3
- package/lib/job-runner/index.js +0 -22
- package/lib/job-runner/job/listJobs/listJobs.d.ts +0 -3
- package/lib/job-runner/job/listJobs/listJobs.js +0 -66
- package/lib/job-runner/job/listJobs/listJobs.spec.d.ts +0 -1
- package/lib/job-runner/job/listJobs/listJobs.spec.js +0 -42
- package/lib/job-runner/job/uploadJob/uploadJob.d.ts +0 -3
- package/lib/job-runner/job/uploadJob/uploadJob.js +0 -56
- package/lib/job-runner/job/uploadJob/uploadJob.spec.d.ts +0 -1
- package/lib/job-runner/job/uploadJob/uploadJob.spec.js +0 -42
- package/lib/job-runner/jobContext/listJobContexts.d.ts +0 -3
- package/lib/job-runner/jobContext/listJobContexts.js +0 -66
- package/lib/job-runner/jobContext/listJobContexts.spec.d.ts +0 -1
- package/lib/job-runner/jobContext/listJobContexts.spec.js +0 -58
- package/lib/job-runner/jobExecution/beginJob/beginJob.d.ts +0 -3
- package/lib/job-runner/jobExecution/beginJob/beginJob.js +0 -68
- package/lib/job-runner/jobExecution/beginJob/beginJob.spec.d.ts +0 -1
- package/lib/job-runner/jobExecution/beginJob/beginJob.spec.js +0 -62
- package/lib/job-runner/jobExecution/listJobExecutions/listJobExecutions.d.ts +0 -3
- package/lib/job-runner/jobExecution/listJobExecutions/listJobExecutions.js +0 -67
- package/lib/job-runner/jobExecution/listJobExecutions/listJobExecutions.spec.d.ts +0 -1
- package/lib/job-runner/jobExecution/listJobExecutions/listJobExecutions.spec.js +0 -64
- package/lib/job-runner/jobExecution/terminateJob/terminateJob.d.ts +0 -3
- package/lib/job-runner/jobExecution/terminateJob/terminateJob.js +0 -64
- package/lib/job-runner/jobExecution/terminateJob/terminateJob.spec.d.ts +0 -1
- package/lib/job-runner/jobExecution/terminateJob/terminateJob.spec.js +0 -61
- package/lib/job-runner/utils.d.ts +0 -19
- package/lib/job-runner/utils.js +0 -145
- package/lib/job-runner/utils.spec.d.ts +0 -1
- package/lib/job-runner/utils.spec.js +0 -116
- package/lib/migration/create/create.d.ts +0 -3
- package/lib/migration/create/create.js +0 -56
- package/lib/migration/create/create.spec.d.ts +0 -1
- package/lib/migration/create/create.spec.js +0 -280
- package/lib/migration/get/get.d.ts +0 -3
- package/lib/migration/get/get.js +0 -46
- package/lib/migration/get/get.spec.d.ts +0 -1
- package/lib/migration/get/get.spec.js +0 -287
- package/lib/migration/index.d.ts +0 -3
- package/lib/migration/index.js +0 -24
- package/lib/migration/list/list.d.ts +0 -3
- package/lib/migration/list/list.js +0 -45
- package/lib/migration/list/list.spec.d.ts +0 -1
- package/lib/migration/list/list.spec.js +0 -138
- package/lib/migration/next/next.d.ts +0 -3
- package/lib/migration/next/next.js +0 -75
- package/lib/migration/next/next.spec.d.ts +0 -1
- package/lib/migration/next/next.spec.js +0 -253
- package/lib/migration/pre/pre.d.ts +0 -3
- package/lib/migration/pre/pre.js +0 -54
- package/lib/migration/pre/pre.spec.d.ts +0 -1
- package/lib/migration/pre/pre.spec.js +0 -269
- package/lib/migration/revert/revert.d.ts +0 -3
- package/lib/migration/revert/revert.js +0 -47
- package/lib/migration/revert/revert.spec.d.ts +0 -1
- package/lib/migration/revert/revert.spec.js +0 -153
- package/lib/migration/settings/settings.d.ts +0 -3
- package/lib/migration/settings/settings.js +0 -63
- package/lib/migration/settings/settings.spec.d.ts +0 -1
- package/lib/migration/settings/settings.spec.js +0 -339
- package/lib/migration/types/common.types.d.ts +0 -29
- package/lib/migration/types/common.types.js +0 -2
- package/lib/migration/types/createMigration.types.d.ts +0 -10
- package/lib/migration/types/createMigration.types.js +0 -2
- package/lib/migration/types/getMigration.types.d.ts +0 -5
- package/lib/migration/types/getMigration.types.js +0 -2
- package/lib/migration/types/index.d.ts +0 -7
- package/lib/migration/types/index.js +0 -23
- package/lib/migration/types/listMigrations.types.d.ts +0 -2
- package/lib/migration/types/listMigrations.types.js +0 -2
- package/lib/migration/types/nextStage.types.d.ts +0 -10
- package/lib/migration/types/nextStage.types.js +0 -2
- package/lib/migration/types/preMigration.types.d.ts +0 -10
- package/lib/migration/types/preMigration.types.js +0 -2
- package/lib/migration/types/revert.types.d.ts +0 -6
- package/lib/migration/types/revert.types.js +0 -2
- package/lib/migration/types/settings.types.d.ts +0 -15
- package/lib/migration/types/settings.types.js +0 -2
- package/lib/migration/utils/common.d.ts +0 -39
- package/lib/migration/utils/common.js +0 -134
- package/lib/migration/utils/common.spec.d.ts +0 -1
- package/lib/migration/utils/common.spec.js +0 -165
- package/lib/migration/utils/createMigration.d.ts +0 -33
- package/lib/migration/utils/createMigration.js +0 -125
- package/lib/migration/utils/createMigration.spec.d.ts +0 -1
- package/lib/migration/utils/createMigration.spec.js +0 -259
- package/lib/migration/utils/getMigration.d.ts +0 -2
- package/lib/migration/utils/getMigration.js +0 -41
- package/lib/migration/utils/getMigration.spec.d.ts +0 -1
- package/lib/migration/utils/getMigration.spec.js +0 -156
- package/lib/migration/utils/index.d.ts +0 -9
- package/lib/migration/utils/index.js +0 -25
- package/lib/migration/utils/listMigrations.d.ts +0 -3
- package/lib/migration/utils/listMigrations.js +0 -41
- package/lib/migration/utils/listMigrations.spec.d.ts +0 -1
- package/lib/migration/utils/listMigrations.spec.js +0 -108
- package/lib/migration/utils/loadCctIdsFromFile.d.ts +0 -1
- package/lib/migration/utils/loadCctIdsFromFile.js +0 -32
- package/lib/migration/utils/loadCctIdsFromFile.spec.d.ts +0 -1
- package/lib/migration/utils/loadCctIdsFromFile.spec.js +0 -91
- package/lib/migration/utils/loadStageOptionsFromFile.d.ts +0 -1
- package/lib/migration/utils/loadStageOptionsFromFile.js +0 -32
- package/lib/migration/utils/loadStageOptionsFromFile.spec.d.ts +0 -1
- package/lib/migration/utils/loadStageOptionsFromFile.spec.js +0 -77
- package/lib/migration/utils/nextStage.d.ts +0 -2
- package/lib/migration/utils/nextStage.js +0 -45
- package/lib/migration/utils/nextStage.spec.d.ts +0 -1
- package/lib/migration/utils/nextStage.spec.js +0 -151
- package/lib/migration/utils/options.d.ts +0 -15
- package/lib/migration/utils/options.js +0 -106
- package/lib/migration/utils/options.spec.d.ts +0 -1
- package/lib/migration/utils/options.spec.js +0 -115
- package/lib/migration/utils/promptForMorphConfirmation.d.ts +0 -5
- package/lib/migration/utils/promptForMorphConfirmation.js +0 -55
- package/lib/migration/utils/promptForMorphConfirmation.spec.d.ts +0 -1
- package/lib/migration/utils/promptForMorphConfirmation.spec.js +0 -101
- package/lib/migration/utils/revertMigration.d.ts +0 -2
- package/lib/migration/utils/revertMigration.js +0 -38
- package/lib/migration/utils/revertMigration.spec.d.ts +0 -1
- package/lib/migration/utils/revertMigration.spec.js +0 -95
- package/lib/migration/utils/setMigrationSettings.d.ts +0 -2
- package/lib/migration/utils/setMigrationSettings.js +0 -52
- package/lib/migration/utils/setMigrationSettings.spec.d.ts +0 -1
- package/lib/migration/utils/setMigrationSettings.spec.js +0 -163
- package/lib/page/index.d.ts +0 -3
- package/lib/page/index.js +0 -12
- package/lib/page/layouts/deploy/deploy.d.ts +0 -5
- package/lib/page/layouts/deploy/deploy.js +0 -157
- package/lib/page/layouts/deploy/deploy.spec.d.ts +0 -1
- package/lib/page/layouts/deploy/deploy.spec.js +0 -319
- package/lib/page/layouts/dev/dev.d.ts +0 -5
- package/lib/page/layouts/dev/dev.js +0 -84
- package/lib/page/layouts/dev/dev.spec.d.ts +0 -1
- package/lib/page/layouts/dev/dev.spec.js +0 -271
- package/lib/page/layouts/layouts.d.ts +0 -3
- package/lib/page/layouts/layouts.js +0 -17
- package/lib/page/layouts/layouts.spec.d.ts +0 -1
- package/lib/page/layouts/layouts.spec.js +0 -29
- package/lib/page/layouts/validation/index.d.ts +0 -3
- package/lib/page/layouts/validation/index.js +0 -9
- package/lib/page/layouts/validation/property-consistency.d.ts +0 -7
- package/lib/page/layouts/validation/property-consistency.js +0 -92
- package/lib/page/layouts/validation/property-consistency.spec.d.ts +0 -1
- package/lib/page/layouts/validation/property-consistency.spec.js +0 -305
- package/lib/page/layouts/validation/validateLayoutFormat.d.ts +0 -2
- package/lib/page/layouts/validation/validateLayoutFormat.js +0 -27
- package/lib/page/layouts/validation/validateLayoutFormat.spec.d.ts +0 -1
- package/lib/page/layouts/validation/validateLayoutFormat.spec.js +0 -42
- package/lib/page/layouts/validation/zone-consistency.d.ts +0 -7
- package/lib/page/layouts/validation/zone-consistency.js +0 -50
- package/lib/page/layouts/validation/zone-consistency.spec.d.ts +0 -1
- package/lib/page/layouts/validation/zone-consistency.spec.js +0 -99
- package/lib/page/templates/validation.d.ts +0 -11
- package/lib/page/templates/validation.js +0 -30
- package/lib/page/templates/validation.spec.d.ts +0 -1
- package/lib/page/templates/validation.spec.js +0 -89
- package/lib/page/utils/definitions.d.ts +0 -552
- package/lib/page/utils/definitions.js +0 -241
- package/lib/page/utils/definitions.spec.d.ts +0 -1
- package/lib/page/utils/definitions.spec.js +0 -749
- package/lib/page/utils/normalize.d.ts +0 -8
- package/lib/page/utils/normalize.js +0 -54
- package/lib/page/utils/normalize.spec.d.ts +0 -1
- package/lib/page/utils/normalize.spec.js +0 -315
- package/lib/page/utils/parse-args.d.ts +0 -44
- package/lib/page/utils/parse-args.js +0 -119
- package/lib/page/utils/parse-args.spec.d.ts +0 -1
- package/lib/page/utils/parse-args.spec.js +0 -284
- package/lib/page/utils/render.d.ts +0 -51
- package/lib/page/utils/render.js +0 -112
- package/lib/page/utils/render.spec.d.ts +0 -1
- package/lib/page/utils/render.spec.js +0 -134
- package/lib/page/utils/server.d.ts +0 -12
- package/lib/page/utils/server.js +0 -201
- package/lib/page/utils/server.spec.d.ts +0 -1
- package/lib/page/utils/server.spec.js +0 -275
- package/lib/porter/constants.d.ts +0 -11
- package/lib/porter/constants.js +0 -14
- package/lib/porter/index.d.ts +0 -3
- package/lib/porter/index.js +0 -24
- package/lib/porter/port/abort/abort.d.ts +0 -3
- package/lib/porter/port/abort/abort.js +0 -80
- package/lib/porter/port/abort/abort.spec.d.ts +0 -1
- package/lib/porter/port/abort/abort.spec.js +0 -182
- package/lib/porter/port/get/get.d.ts +0 -3
- package/lib/porter/port/get/get.js +0 -96
- package/lib/porter/port/get/get.spec.d.ts +0 -1
- package/lib/porter/port/get/get.spec.js +0 -277
- package/lib/porter/port/start/start.d.ts +0 -3
- package/lib/porter/port/start/start.js +0 -82
- package/lib/porter/port/start/start.spec.d.ts +0 -1
- package/lib/porter/port/start/start.spec.js +0 -198
- package/lib/porter/project/add/add.d.ts +0 -3
- package/lib/porter/project/add/add.js +0 -138
- package/lib/porter/project/add/add.spec.d.ts +0 -1
- package/lib/porter/project/add/add.spec.js +0 -269
- package/lib/porter/project/get/get.d.ts +0 -3
- package/lib/porter/project/get/get.js +0 -65
- package/lib/porter/project/get/get.spec.d.ts +0 -1
- package/lib/porter/project/get/get.spec.js +0 -185
- package/lib/porter/project/remove/remove.d.ts +0 -3
- package/lib/porter/project/remove/remove.js +0 -69
- package/lib/porter/project/remove/remove.spec.d.ts +0 -1
- package/lib/porter/project/remove/remove.spec.js +0 -201
- package/lib/porter/types.d.ts +0 -5
- package/lib/porter/types.js +0 -2
- package/lib/porter/utils/BuildDXPUrl/BuildDXPUrl.d.ts +0 -4
- package/lib/porter/utils/BuildDXPUrl/BuildDXPUrl.js +0 -34
- package/lib/porter/utils/BuildPorterUrl/BuildPorterUrl.d.ts +0 -1
- package/lib/porter/utils/BuildPorterUrl/BuildPorterUrl.js +0 -21
- package/lib/porter/utils/BuildPorterUrl/BuildPorterUrl.spec.d.ts +0 -1
- package/lib/porter/utils/BuildPorterUrl/BuildPorterUrl.spec.js +0 -52
- package/lib/porter/utils/CoreUtils/CoreUtils.d.ts +0 -2
- package/lib/porter/utils/CoreUtils/CoreUtils.js +0 -13
- package/lib/porter/utils/CoreUtils/CoreUtils.spec.d.ts +0 -1
- package/lib/porter/utils/CoreUtils/CoreUtils.spec.js +0 -36
- package/lib/porter/utils/DoesPathExist/DoesPathExist.d.ts +0 -1
- package/lib/porter/utils/DoesPathExist/DoesPathExist.js +0 -27
- package/lib/porter/utils/DoesPathExist/DoesPathExist.spec.d.ts +0 -1
- package/lib/porter/utils/DoesPathExist/DoesPathExist.spec.js +0 -40
- package/lib/porter/utils/ErrorUtils/ErrorUtils.d.ts +0 -4
- package/lib/porter/utils/ErrorUtils/ErrorUtils.js +0 -66
- package/lib/porter/utils/ErrorUtils/ErrorUtils.spec.d.ts +0 -1
- package/lib/porter/utils/ErrorUtils/ErrorUtils.spec.js +0 -176
- package/lib/porter/utils/GetProjectConfig/GetProjectConfig.d.ts +0 -2
- package/lib/porter/utils/GetProjectConfig/GetProjectConfig.js +0 -33
- package/lib/porter/utils/GetProjectConfig/GetProjectConfig.spec.d.ts +0 -1
- package/lib/porter/utils/GetProjectConfig/GetProjectConfig.spec.js +0 -50
- package/lib/porter/utils/GetProjectName/GetProjectName.d.ts +0 -4
- package/lib/porter/utils/GetProjectName/GetProjectName.js +0 -30
- package/lib/porter/utils/GetProjectName/GetProjectName.spec.d.ts +0 -1
- package/lib/porter/utils/GetProjectName/GetProjectName.spec.js +0 -91
- package/lib/porter/utils/index.d.ts +0 -7
- package/lib/porter/utils/index.js +0 -23
package/lib/ApplicationStore.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
var _a;
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.deleteApplicationFile = exports.saveApplicationFile = exports.getApplicationFile = exports.STORE_FILES = exports.APP_NAME = void 0;
|
|
17
|
-
const env_paths_1 = __importDefault(require("env-paths"));
|
|
18
|
-
const promises_1 = __importDefault(require("fs/promises"));
|
|
19
|
-
const path_1 = __importDefault(require("path"));
|
|
20
|
-
exports.APP_NAME = (_a = process.env.APP_NAME) !== null && _a !== void 0 ? _a : 'dxp-cli';
|
|
21
|
-
exports.STORE_FILES = {
|
|
22
|
-
sessionCookie: { name: 'session-cookie', type: 'data' },
|
|
23
|
-
sessionConfig: { name: 'session-config', type: 'config' },
|
|
24
|
-
};
|
|
25
|
-
const APPLICATION_FILE_PATHS = (0, env_paths_1.default)(exports.APP_NAME);
|
|
26
|
-
function getApplicationFile({ name: filename, type }) {
|
|
27
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
try {
|
|
29
|
-
return yield promises_1.default.readFile(path_1.default.join(APPLICATION_FILE_PATHS[type], filename), {
|
|
30
|
-
encoding: 'utf-8',
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
catch (e) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
exports.getApplicationFile = getApplicationFile;
|
|
39
|
-
function saveApplicationFile({ name: filename, type }, content) {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
yield promises_1.default.mkdir(APPLICATION_FILE_PATHS[type], { recursive: true });
|
|
42
|
-
yield promises_1.default.writeFile(path_1.default.join(APPLICATION_FILE_PATHS[type], filename), content);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
exports.saveApplicationFile = saveApplicationFile;
|
|
46
|
-
function deleteApplicationFile({ name: filename, type, }) {
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
yield promises_1.default.rm(path_1.default.join(APPLICATION_FILE_PATHS[type], filename), {
|
|
49
|
-
force: true,
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
exports.deleteApplicationFile = deleteApplicationFile;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const dev_mode_1 = require("../../cmp/dev-mode");
|
|
13
|
-
describe('cmp dev', () => {
|
|
14
|
-
it('correctly parses the port', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
-
const program = (0, dev_mode_1.buildDevModeCommand)()
|
|
16
|
-
.exitOverride()
|
|
17
|
-
.action(() => { });
|
|
18
|
-
program.parse(['node', 'dxp-cli', 'dev', '--port', '3005']);
|
|
19
|
-
const opts = program.opts();
|
|
20
|
-
expect(opts.port).toStrictEqual(3005);
|
|
21
|
-
}));
|
|
22
|
-
it('defaults the port to 3000', () => {
|
|
23
|
-
const program = (0, dev_mode_1.buildDevModeCommand)()
|
|
24
|
-
.exitOverride()
|
|
25
|
-
.action(() => { });
|
|
26
|
-
program.parse(['node', 'dxp-cli', 'dev']);
|
|
27
|
-
const opts = program.opts();
|
|
28
|
-
expect(opts.port).toStrictEqual(3000);
|
|
29
|
-
});
|
|
30
|
-
it.each(['3000', '3001', '65535', '1024'])('correctly parses the port (%s)', (attemptedPort) => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
|
-
const program = (0, dev_mode_1.buildDevModeCommand)()
|
|
32
|
-
.exitOverride()
|
|
33
|
-
.action(() => { });
|
|
34
|
-
program.parse(['node', 'dxp-cli', 'dev', '--port', attemptedPort]);
|
|
35
|
-
const opts = program.opts();
|
|
36
|
-
expect(typeof opts.port).toStrictEqual('number');
|
|
37
|
-
}));
|
|
38
|
-
it.each([
|
|
39
|
-
'hello_world',
|
|
40
|
-
'3_000',
|
|
41
|
-
'65_535',
|
|
42
|
-
'1000',
|
|
43
|
-
'100',
|
|
44
|
-
'1_000_000',
|
|
45
|
-
'1000000',
|
|
46
|
-
'abc_1000',
|
|
47
|
-
'1000arst',
|
|
48
|
-
])('errors when port (%s) is not a number between 1000-65535', attemptedPort => {
|
|
49
|
-
const program = (0, dev_mode_1.buildDevModeCommand)()
|
|
50
|
-
.exitOverride()
|
|
51
|
-
.action(() => { });
|
|
52
|
-
expect(() => program.parse(['node', 'dxp-cli', 'dev', '--port', attemptedPort])).toThrowError('Port must be a number between 1024-65535');
|
|
53
|
-
});
|
|
54
|
-
});
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import execa from 'execa';
|
|
2
|
-
declare type RunOptions = {
|
|
3
|
-
nodeOptions?: string;
|
|
4
|
-
nodePath?: string;
|
|
5
|
-
timeout?: number;
|
|
6
|
-
expectedFailure?: boolean;
|
|
7
|
-
};
|
|
8
|
-
declare type SpawnOptions = RunOptions & {
|
|
9
|
-
cwd: string;
|
|
10
|
-
};
|
|
11
|
-
declare type SpawnFunction<T> = (execPath: string, args: string[], options: SpawnOptions) => T;
|
|
12
|
-
/**
|
|
13
|
-
* Helper function to run CLI command in a given folder
|
|
14
|
-
*/
|
|
15
|
-
export declare function runCLI(dir: string, args?: string[], options?: RunOptions): execa.ExecaSyncReturnValue;
|
|
16
|
-
export declare const spawnScript: SpawnFunction<execa.ExecaSyncReturnValue>;
|
|
17
|
-
export {};
|
package/lib/__tests__/helpers.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.spawnScript = exports.runCLI = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const execa_1 = __importDefault(require("execa"));
|
|
9
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
10
|
-
const TEST_CLI_PATH = path_1.default.resolve(__dirname, './integration/bin.js');
|
|
11
|
-
/**
|
|
12
|
-
* Helper function to run CLI command in a given folder
|
|
13
|
-
*/
|
|
14
|
-
function runCLI(dir, args, options = {
|
|
15
|
-
expectedFailure: false,
|
|
16
|
-
}) {
|
|
17
|
-
return (0, exports.spawnScript)(process.execPath, [TEST_CLI_PATH, ...(args || [])], Object.assign(Object.assign({}, options), { cwd: dir }));
|
|
18
|
-
}
|
|
19
|
-
exports.runCLI = runCLI;
|
|
20
|
-
const spawnScript = (execPath, args, options) => {
|
|
21
|
-
const execArgs = getExecaOptions(options);
|
|
22
|
-
const result = execa_1.default.sync(execPath, args, execArgs);
|
|
23
|
-
handleTestFailure(execPath, options, result, args);
|
|
24
|
-
return result;
|
|
25
|
-
};
|
|
26
|
-
exports.spawnScript = spawnScript;
|
|
27
|
-
function getExecaOptions(options) {
|
|
28
|
-
const isRelative = !path_1.default.isAbsolute(options.cwd);
|
|
29
|
-
const cwd = isRelative ? path_1.default.resolve(__dirname, options.cwd) : options.cwd;
|
|
30
|
-
const env = Object.assign({}, process.env, { FORCE_COLOR: '0' });
|
|
31
|
-
if (options.nodeOptions) {
|
|
32
|
-
env.NODE_OPTIONS = options.nodeOptions;
|
|
33
|
-
}
|
|
34
|
-
if (options.nodePath) {
|
|
35
|
-
env.NODE_PATH = options.nodePath;
|
|
36
|
-
}
|
|
37
|
-
return {
|
|
38
|
-
cwd,
|
|
39
|
-
env,
|
|
40
|
-
reject: false,
|
|
41
|
-
timeout: options.timeout || 0,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
function handleTestFailure(cmd, options, result, args) {
|
|
45
|
-
if (!options.expectedFailure && result.code !== 0) {
|
|
46
|
-
console.log(`Running ${cmd} command failed for unexpected reason. Here's more info:
|
|
47
|
-
${chalk_1.default.bold('cmd:')} ${cmd}
|
|
48
|
-
${chalk_1.default.bold('options:')} ${JSON.stringify(options)}
|
|
49
|
-
${chalk_1.default.bold('args:')} ${(args || []).join(' ')}
|
|
50
|
-
${chalk_1.default.bold('stderr:')} ${result.stderr}
|
|
51
|
-
${chalk_1.default.bold('stdout:')} ${result.stdout}
|
|
52
|
-
${chalk_1.default.bold('code:')} ${result.code}`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const helpers_1 = require("../helpers");
|
|
4
|
-
describe('dxp', () => {
|
|
5
|
-
it('should display the help contents', () => {
|
|
6
|
-
const { stdout } = (0, helpers_1.runCLI)(process.cwd(), ['--help']);
|
|
7
|
-
expect(stdout).toContain('Usage: dxp-next [options] [command]');
|
|
8
|
-
});
|
|
9
|
-
it('should show all available commands', () => {
|
|
10
|
-
var _a;
|
|
11
|
-
const { stdout } = (0, helpers_1.runCLI)(process.cwd(), ['--help']);
|
|
12
|
-
const commandsText = (_a = stdout
|
|
13
|
-
.match(/Commands\:(.*)/is)) === null || _a === void 0 ? void 0 : _a[1].split('\n').map(a => a.trim()).filter(a => !!a);
|
|
14
|
-
expect(commandsText).toEqual([
|
|
15
|
-
'auth Authenticate into the DXP-Next CLI',
|
|
16
|
-
'cmp Component Service Commands',
|
|
17
|
-
'job-runner Job Runner Service Commands',
|
|
18
|
-
'datastore Datastore Service Commands',
|
|
19
|
-
'cdp Customer Data Platform Service Commands',
|
|
20
|
-
'page Page Content Service Commands',
|
|
21
|
-
// TODO: Migration is hidden behind feature flag.
|
|
22
|
-
// 'migration AI Page Migration Service Commands',
|
|
23
|
-
// TODO: Porter is hidden behind feature flag.
|
|
24
|
-
// 'porter Porter Service Commands',
|
|
25
|
-
]);
|
|
26
|
-
});
|
|
27
|
-
it('if ENABLE_PORTER set to true, porter command should be visible', () => {
|
|
28
|
-
var _a;
|
|
29
|
-
process.env.ENABLE_PORTER = 'true';
|
|
30
|
-
const { stdout } = (0, helpers_1.runCLI)(process.cwd(), ['--help']);
|
|
31
|
-
const commandsText = (_a = stdout
|
|
32
|
-
.match(/Commands\:(.*)/is)) === null || _a === void 0 ? void 0 : _a[1].split('\n').map(a => a.trim()).filter(a => !!a);
|
|
33
|
-
expect(commandsText).toEqual([
|
|
34
|
-
'auth Authenticate into the DXP-Next CLI',
|
|
35
|
-
'cmp Component Service Commands',
|
|
36
|
-
'job-runner Job Runner Service Commands',
|
|
37
|
-
'datastore Datastore Service Commands',
|
|
38
|
-
'cdp Customer Data Platform Service Commands',
|
|
39
|
-
// TODO: Migration is hidden behind feature flag.
|
|
40
|
-
// 'migration AI Page Migration Service Commands',
|
|
41
|
-
'page Page Content Service Commands',
|
|
42
|
-
'porter Porter Service Commands',
|
|
43
|
-
]);
|
|
44
|
-
});
|
|
45
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const child_process_1 = require("child_process");
|
|
4
|
-
describe('Smoke Test - Validate release', () => {
|
|
5
|
-
const packageName = '@squiz/dxp-cli-next';
|
|
6
|
-
const executeDxpCommand = (command) => {
|
|
7
|
-
let commandOutput;
|
|
8
|
-
try {
|
|
9
|
-
commandOutput = (0, child_process_1.execSync)(command, { encoding: 'utf8' });
|
|
10
|
-
}
|
|
11
|
-
catch (error) {
|
|
12
|
-
// Capturing the output of the command since execSync thinks its an error due to
|
|
13
|
-
// it being a non-zero output
|
|
14
|
-
commandOutput = error.stdout || error.stderr;
|
|
15
|
-
console.log(error);
|
|
16
|
-
}
|
|
17
|
-
return commandOutput;
|
|
18
|
-
};
|
|
19
|
-
describe('Commands', () => {
|
|
20
|
-
const commandAssertionSet = [
|
|
21
|
-
{ command: '--help', assertion: 'Usage: dxp-next [options] [command]' },
|
|
22
|
-
{ command: 'auth', assertion: 'Authenticate into the DXP-Next CLI' },
|
|
23
|
-
{ command: 'cmp', assertion: 'Component Service Commands' },
|
|
24
|
-
{ command: 'job-runner', assertion: 'Job Runner Service Commands' },
|
|
25
|
-
{ command: 'datastore', assertion: 'Datastore Service Commands' },
|
|
26
|
-
{ command: 'cdp', assertion: 'Customer Data Platform Service Commands' },
|
|
27
|
-
];
|
|
28
|
-
commandAssertionSet.forEach(commandSet => {
|
|
29
|
-
it(`should be able to execute the ${commandSet.command} successfully`, () => {
|
|
30
|
-
const commandResult = executeDxpCommand(`dxp-next ${commandSet.command}`);
|
|
31
|
-
expect(commandResult).not.toContain('error');
|
|
32
|
-
console.log(commandResult.trim());
|
|
33
|
-
expect(commandResult).toContain(commandSet.assertion);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
});
|
|
File without changes
|
package/lib/auth/index.d.ts
DELETED
package/lib/auth/index.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const commander_1 = require("commander");
|
|
7
|
-
const login_1 = __importDefault(require("./login/login"));
|
|
8
|
-
const logout_1 = __importDefault(require("./logout/logout"));
|
|
9
|
-
const authCommand = new commander_1.Command('auth');
|
|
10
|
-
authCommand
|
|
11
|
-
.description('Authenticate into the DXP-Next CLI')
|
|
12
|
-
.addCommand((0, login_1.default)())
|
|
13
|
-
.addCommand((0, logout_1.default)());
|
|
14
|
-
exports.default = authCommand;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
interface LoginOptions {
|
|
3
|
-
dxpBaseUrl: string;
|
|
4
|
-
overrideSession: boolean | undefined;
|
|
5
|
-
region: string;
|
|
6
|
-
tenant: string | undefined;
|
|
7
|
-
username: string;
|
|
8
|
-
}
|
|
9
|
-
export declare type GetTenantsResponse = {
|
|
10
|
-
agencies: Array<any>;
|
|
11
|
-
organisations: Array<{
|
|
12
|
-
id: string;
|
|
13
|
-
name: string;
|
|
14
|
-
userRoles: Array<string>;
|
|
15
|
-
}>;
|
|
16
|
-
};
|
|
17
|
-
declare const createLoginCommand: () => Command;
|
|
18
|
-
/**
|
|
19
|
-
* Poll for the authorised DXP session.
|
|
20
|
-
*/
|
|
21
|
-
export declare function pollForDxpSession(options: LoginOptions, sessionId: string): Promise<unknown>;
|
|
22
|
-
export default createLoginCommand;
|
package/lib/auth/login/login.js
DELETED
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
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 (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.pollForDxpSession = void 0;
|
|
39
|
-
const cli_color_1 = __importDefault(require("cli-color"));
|
|
40
|
-
const commander_1 = require("commander");
|
|
41
|
-
const ApiService_1 = require("../../ApiService");
|
|
42
|
-
const ApplicationStore_1 = require("../../ApplicationStore");
|
|
43
|
-
const opener_1 = __importDefault(require("opener"));
|
|
44
|
-
const ora_1 = __importDefault(require("ora"));
|
|
45
|
-
const crypto_1 = require("crypto");
|
|
46
|
-
const constants_1 = require("../../constants");
|
|
47
|
-
const AUTH_TIMEOUT = 300000;
|
|
48
|
-
const createLoginCommand = () => {
|
|
49
|
-
const loginCommand = new commander_1.Command('login')
|
|
50
|
-
.name('login')
|
|
51
|
-
.description('Login to the DXP platform')
|
|
52
|
-
.addOption(new commander_1.Option('--dxp-base-url <baseURL>', 'DXP Console URL')
|
|
53
|
-
.env('DXP_BASE_URL')
|
|
54
|
-
.default(constants_1.PRODUCTION_URL))
|
|
55
|
-
.addOption(new commander_1.Option('--region <region>').choices(['au', 'us', 'uk']).default('au'))
|
|
56
|
-
.addOption(new commander_1.Option('--override-session', 'Override the existing authorized session if it exists'))
|
|
57
|
-
.addOption(new commander_1.Option('--tenant <tenantID>'))
|
|
58
|
-
.configureOutput({
|
|
59
|
-
outputError(str, write) {
|
|
60
|
-
write(cli_color_1.default.red(str));
|
|
61
|
-
},
|
|
62
|
-
})
|
|
63
|
-
.action((options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
|
-
try {
|
|
65
|
-
const spinner = (0, ora_1.default)().start();
|
|
66
|
-
yield handleLoginRequest(options);
|
|
67
|
-
const availableTenants = yield handleGetTenantsRequest(options);
|
|
68
|
-
spinner.stop();
|
|
69
|
-
if (options.tenant == undefined) {
|
|
70
|
-
const selectedTenant = yield promptForTenant(availableTenants);
|
|
71
|
-
options.tenant = selectedTenant;
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
validateTenant(options.tenant, availableTenants);
|
|
75
|
-
}
|
|
76
|
-
return yield writeTenantToSessionConfig(options);
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
if (!!process.env.DEBUG && error.stack) {
|
|
80
|
-
loginCommand.error(error.stack);
|
|
81
|
-
}
|
|
82
|
-
if (error.message) {
|
|
83
|
-
loginCommand.error(cli_color_1.default.red(error.message));
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
loginCommand.error(cli_color_1.default.red('An unknown error occurred'));
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}));
|
|
90
|
-
return loginCommand;
|
|
91
|
-
};
|
|
92
|
-
function handleLoginRequest(options) {
|
|
93
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
-
if (!options.overrideSession) {
|
|
95
|
-
// Check if currently stored session is still authorised.
|
|
96
|
-
const hasValidDxpSession = yield checkAuthorisation(options);
|
|
97
|
-
if (hasValidDxpSession) {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
const sessionId = yield openSSOLogin(options);
|
|
102
|
-
yield pollForDxpSession(options, sessionId);
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
function checkAuthorisation(options) {
|
|
106
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
const apiService = new ApiService_1.ApiService();
|
|
108
|
-
// Just need to make sure no extra slash at the end
|
|
109
|
-
const baseUrl = options.dxpBaseUrl.replace(/\/$/, '');
|
|
110
|
-
const { region } = options;
|
|
111
|
-
const healthCheckUrl = `${baseUrl}/__dxp/${region}/dxp/health`;
|
|
112
|
-
const response = yield apiService.client.get(healthCheckUrl);
|
|
113
|
-
return response.status === 200;
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Return the session ID token and open the DXP login page in the default browser.
|
|
118
|
-
*/
|
|
119
|
-
function openSSOLogin(options) {
|
|
120
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
// Just need to make sure no extra slash at the end
|
|
122
|
-
const baseUrl = options.dxpBaseUrl.replace(/\/$/, '');
|
|
123
|
-
// Generate a unique session to track the login request
|
|
124
|
-
const sessionId = `cli_${(0, crypto_1.randomUUID)()}`;
|
|
125
|
-
const tokenData = { sessionId };
|
|
126
|
-
const sessionToken = Buffer.from(JSON.stringify(tokenData)).toString('base64');
|
|
127
|
-
const loginUrl = `${baseUrl}/__sso/cli/login?code=${sessionToken}`;
|
|
128
|
-
(0, opener_1.default)(loginUrl);
|
|
129
|
-
return sessionToken;
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Make a request for the authorised DXP session.
|
|
134
|
-
*/
|
|
135
|
-
function retrieveDxpSession(options, sessionId) {
|
|
136
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
137
|
-
const apiService = new ApiService_1.ApiService();
|
|
138
|
-
// Just need to make sure no extra slash at the end
|
|
139
|
-
const baseUrl = options.dxpBaseUrl.replace(/\/$/, '');
|
|
140
|
-
const pollingUrl = `${baseUrl}/__sso/cli/session`;
|
|
141
|
-
const pollingResponse = yield apiService.client.get(pollingUrl, {
|
|
142
|
-
params: { code: sessionId },
|
|
143
|
-
});
|
|
144
|
-
switch (pollingResponse.status) {
|
|
145
|
-
case 200:
|
|
146
|
-
console.log('Login successful');
|
|
147
|
-
yield (0, ApplicationStore_1.saveApplicationFile)(ApplicationStore_1.STORE_FILES.sessionConfig, JSON.stringify({
|
|
148
|
-
baseUrl,
|
|
149
|
-
region: options.region,
|
|
150
|
-
}));
|
|
151
|
-
return true;
|
|
152
|
-
case 404:
|
|
153
|
-
// Return false to allow polling to continue.
|
|
154
|
-
return false;
|
|
155
|
-
default:
|
|
156
|
-
throw new Error(`An error occurred during login ${pollingResponse.data.message
|
|
157
|
-
? `"${pollingResponse.data.message}"`
|
|
158
|
-
: ''} (code: ${pollingResponse.status})`.trim());
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Poll for the authorised DXP session.
|
|
164
|
-
*/
|
|
165
|
-
function pollForDxpSession(options, sessionId) {
|
|
166
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
167
|
-
return new Promise((resolve, reject) => {
|
|
168
|
-
const errHandler = (err) => {
|
|
169
|
-
reject(err);
|
|
170
|
-
};
|
|
171
|
-
const checkSessionTimeout = setTimeout(() => {
|
|
172
|
-
reject('Timed out waiting for authorization, please try again.');
|
|
173
|
-
}, AUTH_TIMEOUT);
|
|
174
|
-
const poll = () => __awaiter(this, void 0, void 0, function* () {
|
|
175
|
-
const isSessionCreated = yield retrieveDxpSession(options, sessionId);
|
|
176
|
-
if (!isSessionCreated) {
|
|
177
|
-
setTimeout(() => {
|
|
178
|
-
poll().catch(errHandler);
|
|
179
|
-
}, 2000);
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
clearTimeout(checkSessionTimeout);
|
|
183
|
-
resolve(true);
|
|
184
|
-
});
|
|
185
|
-
poll().catch(errHandler);
|
|
186
|
-
});
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
exports.pollForDxpSession = pollForDxpSession;
|
|
190
|
-
function handleGetTenantsRequest(options) {
|
|
191
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
192
|
-
const apiService = new ApiService_1.ApiService();
|
|
193
|
-
const baseUrl = options.dxpBaseUrl.replace(/\/$/, '');
|
|
194
|
-
const tenantsUrl = `${baseUrl}/__dxp/${options.region}/dxp/access/tenants`;
|
|
195
|
-
const tenantsResponse = yield apiService.client.get(tenantsUrl);
|
|
196
|
-
switch (tenantsResponse.status) {
|
|
197
|
-
case 200:
|
|
198
|
-
return tenantsResponse.data;
|
|
199
|
-
default:
|
|
200
|
-
throw new Error(`An error occurred fetching tenants ${tenantsResponse.data.message
|
|
201
|
-
? `"${tenantsResponse.data.message}"`
|
|
202
|
-
: ''} (code: ${tenantsResponse.status})`.trim());
|
|
203
|
-
}
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
function promptForTenant(tenants) {
|
|
207
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
208
|
-
//Our tsconfig module is commonjs so we need to use require here and only version ^8.0.0 of inquirer as latest is default esm
|
|
209
|
-
const inquirer = yield Promise.resolve().then(() => __importStar(require('inquirer')));
|
|
210
|
-
const tenantChoices = formatTenantResponseForInquirer(tenants);
|
|
211
|
-
const selectedTenant = yield inquirer.default.prompt([
|
|
212
|
-
{
|
|
213
|
-
type: 'list',
|
|
214
|
-
name: 'selectedTenantId',
|
|
215
|
-
message: 'Select a tenant: ',
|
|
216
|
-
choices: tenantChoices,
|
|
217
|
-
},
|
|
218
|
-
]);
|
|
219
|
-
//return the tenant ID
|
|
220
|
-
return selectedTenant.selectedTenantId;
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
function formatTenantResponseForInquirer(tenants) {
|
|
224
|
-
return tenants.organisations.map(tenant => {
|
|
225
|
-
return {
|
|
226
|
-
name: `${tenant.name} : (${tenant.id})`,
|
|
227
|
-
value: tenant.id,
|
|
228
|
-
};
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
function validateTenant(tenant, tenants) {
|
|
232
|
-
if (tenants.organisations.some(t => t.id === tenant)) {
|
|
233
|
-
return true;
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
let tenantListErrorString = undefined;
|
|
237
|
-
if (tenants.organisations.length > 5) {
|
|
238
|
-
const initialTenants = tenants.organisations.slice(0, 5).map(t => t.name);
|
|
239
|
-
tenantListErrorString = `${initialTenants} ... and ${tenants.organisations.length - 5} more}`;
|
|
240
|
-
}
|
|
241
|
-
else {
|
|
242
|
-
tenantListErrorString = tenants.organisations.map(t => t.name).join(', ');
|
|
243
|
-
}
|
|
244
|
-
throw new Error(`
|
|
245
|
-
The tenant ID you provided : ${tenant} does not correspond to a tenant that you have access to.\n
|
|
246
|
-
Please ensure that you are using the correct ID and that you have the appropriate permissions to access this tenant.
|
|
247
|
-
Here is a list of the tenants you have access to: ${tenantListErrorString || 'None'}
|
|
248
|
-
`);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
function writeTenantToSessionConfig(options) {
|
|
252
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
253
|
-
const baseUrl = options.dxpBaseUrl.replace(/\/$/, '');
|
|
254
|
-
try {
|
|
255
|
-
yield (0, ApplicationStore_1.saveApplicationFile)(ApplicationStore_1.STORE_FILES.sessionConfig, JSON.stringify({
|
|
256
|
-
baseUrl,
|
|
257
|
-
tenant: options.tenant,
|
|
258
|
-
region: options.region,
|
|
259
|
-
}));
|
|
260
|
-
console.log('Tenant saved to session');
|
|
261
|
-
return;
|
|
262
|
-
}
|
|
263
|
-
catch (error) {
|
|
264
|
-
throw new Error(`An error occurred during saving of tenant: ${error}`);
|
|
265
|
-
}
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
exports.default = createLoginCommand;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|