@vendure/cloud 0.4.0 → 0.5.0-dev.20261014172655.g652e750
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 +44 -10
- package/dist/cli/arguments.d.ts.map +1 -1
- package/dist/cli/arguments.js +9 -31
- package/dist/cli/arguments.js.map +1 -1
- package/dist/cli/command.d.ts.map +1 -1
- package/dist/cli/command.js +13 -30
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/deployment/arguments.d.ts.map +1 -1
- package/dist/cli/commands/deployment/arguments.js +1 -8
- package/dist/cli/commands/deployment/arguments.js.map +1 -1
- package/dist/cli/commands/deployment/build-logs.d.ts.map +1 -1
- package/dist/cli/commands/deployment/build-logs.js +12 -16
- package/dist/cli/commands/deployment/build-logs.js.map +1 -1
- package/dist/cli/commands/deployment/deploy.d.ts.map +1 -1
- package/dist/cli/commands/deployment/deploy.js +88 -45
- package/dist/cli/commands/deployment/deploy.js.map +1 -1
- package/dist/cli/commands/deployment/index.d.ts.map +1 -1
- package/dist/cli/commands/deployment/index.js +18 -30
- package/dist/cli/commands/deployment/index.js.map +1 -1
- package/dist/cli/commands/deployment/list.d.ts.map +1 -1
- package/dist/cli/commands/deployment/list.js +5 -5
- package/dist/cli/commands/deployment/list.js.map +1 -1
- package/dist/cli/commands/deployment/log-export.d.ts.map +1 -1
- package/dist/cli/commands/deployment/log-export.js +14 -27
- package/dist/cli/commands/deployment/log-export.js.map +1 -1
- package/dist/cli/commands/deployment/log-query-output.d.ts.map +1 -1
- package/dist/cli/commands/deployment/log-query-output.js +18 -32
- package/dist/cli/commands/deployment/log-query-output.js.map +1 -1
- package/dist/cli/commands/deployment/logs.d.ts.map +1 -1
- package/dist/cli/commands/deployment/logs.js +52 -72
- package/dist/cli/commands/deployment/logs.js.map +1 -1
- package/dist/cli/commands/deployment/options.d.ts.map +1 -1
- package/dist/cli/commands/deployment/options.js +11 -20
- package/dist/cli/commands/deployment/options.js.map +1 -1
- package/dist/cli/commands/deployment/plan-format.d.ts.map +1 -1
- package/dist/cli/commands/deployment/plan-format.js +2 -2
- package/dist/cli/commands/deployment/plan-format.js.map +1 -1
- package/dist/cli/commands/deployment/plan.d.ts.map +1 -1
- package/dist/cli/commands/deployment/plan.js +7 -8
- package/dist/cli/commands/deployment/plan.js.map +1 -1
- package/dist/cli/commands/deployment/recovery.d.ts.map +1 -1
- package/dist/cli/commands/deployment/recovery.js +25 -35
- package/dist/cli/commands/deployment/recovery.js.map +1 -1
- package/dist/cli/commands/deployment/rollback.d.ts.map +1 -1
- package/dist/cli/commands/deployment/rollback.js +58 -12
- package/dist/cli/commands/deployment/rollback.js.map +1 -1
- package/dist/cli/commands/deployment/shared.d.ts.map +1 -1
- package/dist/cli/commands/deployment/shared.js +4 -7
- package/dist/cli/commands/deployment/shared.js.map +1 -1
- package/dist/cli/commands/deployment/show.d.ts.map +1 -1
- package/dist/cli/commands/deployment/show.js +8 -9
- package/dist/cli/commands/deployment/show.js.map +1 -1
- package/dist/cli/commands/deployment/source.d.ts.map +1 -1
- package/dist/cli/commands/deployment/source.js +2 -2
- package/dist/cli/commands/deployment/source.js.map +1 -1
- package/dist/cli/commands/deployment/status.d.ts.map +1 -1
- package/dist/cli/commands/deployment/status.js +10 -11
- package/dist/cli/commands/deployment/status.js.map +1 -1
- package/dist/cli/commands/deployment/teardown.js +22 -31
- package/dist/cli/commands/deployment/teardown.js.map +1 -1
- package/dist/cli/commands/identity-context/context.d.ts.map +1 -1
- package/dist/cli/commands/identity-context/context.js +3 -4
- package/dist/cli/commands/identity-context/context.js.map +1 -1
- package/dist/cli/commands/identity-context/index.d.ts.map +1 -1
- package/dist/cli/commands/identity-context/index.js +16 -50
- package/dist/cli/commands/identity-context/index.js.map +1 -1
- package/dist/cli/commands/identity-context/keys.d.ts.map +1 -1
- package/dist/cli/commands/identity-context/keys.js +13 -15
- package/dist/cli/commands/identity-context/keys.js.map +1 -1
- package/dist/cli/commands/identity-context/use.js +1 -1
- package/dist/cli/commands/identity-context/use.js.map +1 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +9 -20
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/project-config/config/build-fields.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/build-fields.js +2 -3
- package/dist/cli/commands/project-config/config/build-fields.js.map +1 -1
- package/dist/cli/commands/project-config/config/build.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/build.js +8 -9
- package/dist/cli/commands/project-config/config/build.js.map +1 -1
- package/dist/cli/commands/project-config/config/desired-state.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/desired-state.js +10 -12
- package/dist/cli/commands/project-config/config/desired-state.js.map +1 -1
- package/dist/cli/commands/project-config/config/email/domain.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/email/domain.js +12 -9
- package/dist/cli/commands/project-config/config/email/domain.js.map +1 -1
- package/dist/cli/commands/project-config/config/email/events.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/email/events.js +9 -9
- package/dist/cli/commands/project-config/config/email/events.js.map +1 -1
- package/dist/cli/commands/project-config/config/email/index.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/email/index.js +5 -6
- package/dist/cli/commands/project-config/config/email/index.js.map +1 -1
- package/dist/cli/commands/project-config/config/email/test-sending.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/email/test-sending.js +6 -5
- package/dist/cli/commands/project-config/config/email/test-sending.js.map +1 -1
- package/dist/cli/commands/project-config/config/index.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/index.js +8 -10
- package/dist/cli/commands/project-config/config/index.js.map +1 -1
- package/dist/cli/commands/project-config/config/runtime.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/runtime.js +10 -21
- package/dist/cli/commands/project-config/config/runtime.js.map +1 -1
- package/dist/cli/commands/project-config/config/set.js +3 -3
- package/dist/cli/commands/project-config/config/set.js.map +1 -1
- package/dist/cli/commands/project-config/config/show.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/show.js +7 -7
- package/dist/cli/commands/project-config/config/show.js.map +1 -1
- package/dist/cli/commands/project-config/env/add.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/add.js +4 -3
- package/dist/cli/commands/project-config/env/add.js.map +1 -1
- package/dist/cli/commands/project-config/env/get.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/get.js +7 -2
- package/dist/cli/commands/project-config/env/get.js.map +1 -1
- package/dist/cli/commands/project-config/env/import.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/import.js +15 -8
- package/dist/cli/commands/project-config/env/import.js.map +1 -1
- package/dist/cli/commands/project-config/env/index.js +7 -8
- package/dist/cli/commands/project-config/env/index.js.map +1 -1
- package/dist/cli/commands/project-config/env/list.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/list.js +29 -8
- package/dist/cli/commands/project-config/env/list.js.map +1 -1
- package/dist/cli/commands/project-config/env/metadata-options.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/metadata-options.js +0 -1
- package/dist/cli/commands/project-config/env/metadata-options.js.map +1 -1
- package/dist/cli/commands/project-config/env/pull.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/pull.js +22 -8
- package/dist/cli/commands/project-config/env/pull.js.map +1 -1
- package/dist/cli/commands/project-config/env/read-value.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/read-value.js +8 -4
- package/dist/cli/commands/project-config/env/read-value.js.map +1 -1
- package/dist/cli/commands/project-config/env/rm.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/rm.js +4 -3
- package/dist/cli/commands/project-config/env/rm.js.map +1 -1
- package/dist/cli/commands/project-config/env/run.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/run.js +9 -8
- package/dist/cli/commands/project-config/env/run.js.map +1 -1
- package/dist/cli/commands/project-config/env/update.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/update.js +4 -3
- package/dist/cli/commands/project-config/env/update.js.map +1 -1
- package/dist/cli/commands/project-config/environment/create.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/create.js +5 -6
- package/dist/cli/commands/project-config/environment/create.js.map +1 -1
- package/dist/cli/commands/project-config/environment/delete.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/delete.js +6 -6
- package/dist/cli/commands/project-config/environment/delete.js.map +1 -1
- package/dist/cli/commands/project-config/environment/find.js +3 -3
- package/dist/cli/commands/project-config/environment/find.js.map +1 -1
- package/dist/cli/commands/project-config/environment/index.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/index.js +8 -10
- package/dist/cli/commands/project-config/environment/index.js.map +1 -1
- package/dist/cli/commands/project-config/environment/initial-superadmin.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/initial-superadmin.js +4 -5
- package/dist/cli/commands/project-config/environment/initial-superadmin.js.map +1 -1
- package/dist/cli/commands/project-config/environment/list.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/list.js +5 -5
- package/dist/cli/commands/project-config/environment/list.js.map +1 -1
- package/dist/cli/commands/project-config/environment/regions.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/regions.js +3 -3
- package/dist/cli/commands/project-config/environment/regions.js.map +1 -1
- package/dist/cli/commands/project-config/environment/show.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/show.js +3 -4
- package/dist/cli/commands/project-config/environment/show.js.map +1 -1
- package/dist/cli/commands/project-config/environment/update.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/update.js +3 -4
- package/dist/cli/commands/project-config/environment/update.js.map +1 -1
- package/dist/cli/commands/project-config/index.js +5 -5
- package/dist/cli/commands/project-config/index.js.map +1 -1
- package/dist/cli/commands/project-config/init/build-detection.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/build-detection.js +4 -4
- package/dist/cli/commands/project-config/init/build-detection.js.map +1 -1
- package/dist/cli/commands/project-config/init/index.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/index.js +4 -5
- package/dist/cli/commands/project-config/init/index.js.map +1 -1
- package/dist/cli/commands/project-config/init/init.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/init.js +18 -22
- package/dist/cli/commands/project-config/init/init.js.map +1 -1
- package/dist/cli/commands/project-config/options.d.ts.map +1 -1
- package/dist/cli/commands/project-config/options.js +9 -14
- package/dist/cli/commands/project-config/options.js.map +1 -1
- package/dist/cli/commands/project-config/project/create.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/create.js +3 -3
- package/dist/cli/commands/project-config/project/create.js.map +1 -1
- package/dist/cli/commands/project-config/project/delete.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/delete.js +4 -5
- package/dist/cli/commands/project-config/project/delete.js.map +1 -1
- package/dist/cli/commands/project-config/project/index.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/index.js +4 -5
- package/dist/cli/commands/project-config/project/index.js.map +1 -1
- package/dist/cli/commands/project-config/project/link.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/link.js +4 -4
- package/dist/cli/commands/project-config/project/link.js.map +1 -1
- package/dist/cli/commands/project-config/project/list.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/list.js +5 -5
- package/dist/cli/commands/project-config/project/list.js.map +1 -1
- package/dist/cli/commands/project-config/project/show.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/show.js +11 -14
- package/dist/cli/commands/project-config/project/show.js.map +1 -1
- package/dist/cli/commands/project-config/project/subscription-state.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/subscription-state.js +17 -20
- package/dist/cli/commands/project-config/project/subscription-state.js.map +1 -1
- package/dist/cli/commands/project-config/project/unlink.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/unlink.js +2 -3
- package/dist/cli/commands/project-config/project/unlink.js.map +1 -1
- package/dist/cli/commands/project-config/project/update.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/update.js +3 -4
- package/dist/cli/commands/project-config/project/update.js.map +1 -1
- package/dist/cli/commands/project-config/source/connect.d.ts.map +1 -1
- package/dist/cli/commands/project-config/source/connect.js +24 -26
- package/dist/cli/commands/project-config/source/connect.js.map +1 -1
- package/dist/cli/commands/project-config/source/disconnect.d.ts.map +1 -1
- package/dist/cli/commands/project-config/source/disconnect.js +4 -4
- package/dist/cli/commands/project-config/source/disconnect.js.map +1 -1
- package/dist/cli/commands/project-config/source/index.js +7 -7
- package/dist/cli/commands/project-config/source/index.js.map +1 -1
- package/dist/cli/commands/project-config/source/map.d.ts.map +1 -1
- package/dist/cli/commands/project-config/source/map.js +12 -16
- package/dist/cli/commands/project-config/source/map.js.map +1 -1
- package/dist/cli/commands/project-config/source/repos.d.ts.map +1 -1
- package/dist/cli/commands/project-config/source/repos.js +5 -5
- package/dist/cli/commands/project-config/source/repos.js.map +1 -1
- package/dist/cli/commands/project-config/source/status.d.ts.map +1 -1
- package/dist/cli/commands/project-config/source/status.js +16 -25
- package/dist/cli/commands/project-config/source/status.js.map +1 -1
- package/dist/cli/commands/runtime-data/backup.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/backup.js +34 -36
- package/dist/cli/commands/runtime-data/backup.js.map +1 -1
- package/dist/cli/commands/runtime-data/index.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/index.js +38 -39
- package/dist/cli/commands/runtime-data/index.js.map +1 -1
- package/dist/cli/commands/runtime-data/resource.d.ts +1 -0
- package/dist/cli/commands/runtime-data/resource.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/resource.js +52 -32
- package/dist/cli/commands/runtime-data/resource.js.map +1 -1
- package/dist/cli/commands/runtime-data/restore.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/restore.js +32 -45
- package/dist/cli/commands/runtime-data/restore.js.map +1 -1
- package/dist/cli/commands/runtime-data/seeds.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/seeds.js +24 -26
- package/dist/cli/commands/runtime-data/seeds.js.map +1 -1
- package/dist/cli/commands/runtime-data/tunnel.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/tunnel.js +33 -43
- package/dist/cli/commands/runtime-data/tunnel.js.map +1 -1
- package/dist/cli/host-arguments.d.ts.map +1 -1
- package/dist/cli/host-arguments.js +10 -18
- package/dist/cli/host-arguments.js.map +1 -1
- package/dist/cli/host-nodes.js +1 -1
- package/dist/cli/host-nodes.js.map +1 -1
- package/dist/cli/index.d.ts +10 -13
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +22 -33
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/lib/api-client.d.ts +10 -5
- package/dist/cli/lib/api-client.d.ts.map +1 -1
- package/dist/cli/lib/api-client.js +23 -42
- package/dist/cli/lib/api-client.js.map +1 -1
- package/dist/cli/lib/auth.d.ts +4 -145
- package/dist/cli/lib/auth.d.ts.map +1 -1
- package/dist/cli/lib/auth.js +8 -515
- package/dist/cli/lib/auth.js.map +1 -1
- package/dist/cli/lib/cli-login.d.ts +12 -0
- package/dist/cli/lib/cli-login.d.ts.map +1 -0
- package/dist/cli/lib/cli-login.js +155 -0
- package/dist/cli/lib/cli-login.js.map +1 -0
- package/dist/cli/lib/cloud-api-url.d.ts +2 -0
- package/dist/cli/lib/cloud-api-url.d.ts.map +1 -0
- package/dist/cli/lib/cloud-api-url.js +3 -0
- package/dist/cli/lib/cloud-api-url.js.map +1 -0
- package/dist/cli/lib/commit.d.ts.map +1 -1
- package/dist/cli/lib/commit.js +2 -3
- package/dist/cli/lib/commit.js.map +1 -1
- package/dist/cli/lib/config-revisions.d.ts +9 -0
- package/dist/cli/lib/config-revisions.d.ts.map +1 -0
- package/dist/cli/lib/config-revisions.js +52 -0
- package/dist/cli/lib/config-revisions.js.map +1 -0
- package/dist/cli/lib/config.d.ts +0 -4
- package/dist/cli/lib/config.d.ts.map +1 -1
- package/dist/cli/lib/config.js +3 -5
- package/dist/cli/lib/config.js.map +1 -1
- package/dist/cli/lib/console-pairing.d.ts +1 -14
- package/dist/cli/lib/console-pairing.d.ts.map +1 -1
- package/dist/cli/lib/console-pairing.js +48 -60
- package/dist/cli/lib/console-pairing.js.map +1 -1
- package/dist/cli/lib/contract/backup-schedule-reasons.d.ts.map +1 -1
- package/dist/cli/lib/contract/backup-schedule-reasons.js +3 -7
- package/dist/cli/lib/contract/backup-schedule-reasons.js.map +1 -1
- package/dist/cli/lib/contract/build-settings.d.ts +1 -1
- package/dist/cli/lib/contract/build-settings.d.ts.map +1 -1
- package/dist/cli/lib/contract/build-settings.js +12 -18
- package/dist/cli/lib/contract/build-settings.js.map +1 -1
- package/dist/cli/lib/contract/database.d.ts.map +1 -1
- package/dist/cli/lib/contract/database.js +7 -13
- package/dist/cli/lib/contract/database.js.map +1 -1
- package/dist/cli/lib/contract/deployment-resource-labels.d.ts.map +1 -1
- package/dist/cli/lib/contract/deployment-resource-labels.js +2 -6
- package/dist/cli/lib/contract/deployment-resource-labels.js.map +1 -1
- package/dist/cli/lib/contract/deployments.d.ts +1 -0
- package/dist/cli/lib/contract/deployments.d.ts.map +1 -1
- package/dist/cli/lib/contract/deployments.js +32 -40
- package/dist/cli/lib/contract/deployments.js.map +1 -1
- package/dist/cli/lib/contract/desired-state.d.ts +3 -1
- package/dist/cli/lib/contract/desired-state.d.ts.map +1 -1
- package/dist/cli/lib/contract/desired-state.js +33 -50
- package/dist/cli/lib/contract/desired-state.js.map +1 -1
- package/dist/cli/lib/contract/env-vars.d.ts +37 -0
- package/dist/cli/lib/contract/env-vars.d.ts.map +1 -0
- package/dist/cli/lib/contract/env-vars.js +6 -0
- package/dist/cli/lib/contract/env-vars.js.map +1 -0
- package/dist/cli/lib/contract/foreign-credentials.d.ts +14 -27
- package/dist/cli/lib/contract/foreign-credentials.d.ts.map +1 -1
- package/dist/cli/lib/contract/foreign-credentials.js +19 -32
- package/dist/cli/lib/contract/foreign-credentials.js.map +1 -1
- package/dist/cli/lib/contract/logs.d.ts.map +1 -1
- package/dist/cli/lib/contract/logs.js +26 -34
- package/dist/cli/lib/contract/logs.js.map +1 -1
- package/dist/cli/lib/contract/managed-email.d.ts.map +1 -1
- package/dist/cli/lib/contract/managed-email.js +2 -3
- package/dist/cli/lib/contract/managed-email.js.map +1 -1
- package/dist/cli/lib/contract/permission-denied.d.ts +16 -0
- package/dist/cli/lib/contract/permission-denied.d.ts.map +1 -0
- package/dist/cli/lib/contract/permission-denied.js +20 -0
- package/dist/cli/lib/contract/permission-denied.js.map +1 -0
- package/dist/cli/lib/contract/projects.d.ts.map +1 -1
- package/dist/cli/lib/contract/projects.js +2 -3
- package/dist/cli/lib/contract/projects.js.map +1 -1
- package/dist/cli/lib/contract/public-error-details.d.ts.map +1 -1
- package/dist/cli/lib/contract/public-error-details.js +28 -43
- package/dist/cli/lib/contract/public-error-details.js.map +1 -1
- package/dist/cli/lib/contract/regions.js +2 -2
- package/dist/cli/lib/contract/regions.js.map +1 -1
- package/dist/cli/lib/contract/runtime-operations.d.ts.map +1 -1
- package/dist/cli/lib/contract/runtime-operations.js +11 -21
- package/dist/cli/lib/contract/runtime-operations.js.map +1 -1
- package/dist/cli/lib/contract/seeds.d.ts.map +1 -1
- package/dist/cli/lib/contract/seeds.js +12 -21
- package/dist/cli/lib/contract/seeds.js.map +1 -1
- package/dist/cli/lib/contract/source-disconnect-reasons.d.ts.map +1 -1
- package/dist/cli/lib/contract/source-disconnect-reasons.js +9 -17
- package/dist/cli/lib/contract/source-disconnect-reasons.js.map +1 -1
- package/dist/cli/lib/contract/source-repository.d.ts.map +1 -1
- package/dist/cli/lib/contract/source-repository.js +5 -9
- package/dist/cli/lib/contract/source-repository.js.map +1 -1
- package/dist/cli/lib/contract/wire-types.d.ts.map +1 -1
- package/dist/cli/lib/contract/wire-types.js +3 -8
- package/dist/cli/lib/contract/wire-types.js.map +1 -1
- package/dist/cli/lib/contract/wire-values.d.ts.map +1 -1
- package/dist/cli/lib/contract/wire-values.js +2 -3
- package/dist/cli/lib/contract/wire-values.js.map +1 -1
- package/dist/cli/lib/dotenv.d.ts +6 -0
- package/dist/cli/lib/dotenv.d.ts.map +1 -1
- package/dist/cli/lib/dotenv.js +62 -20
- package/dist/cli/lib/dotenv.js.map +1 -1
- package/dist/cli/lib/env-file.d.ts.map +1 -1
- package/dist/cli/lib/env-file.js +5 -11
- package/dist/cli/lib/env-file.js.map +1 -1
- package/dist/cli/lib/env-preflight.d.ts +6 -1
- package/dist/cli/lib/env-preflight.d.ts.map +1 -1
- package/dist/cli/lib/env-preflight.js +91 -63
- package/dist/cli/lib/env-preflight.js.map +1 -1
- package/dist/cli/lib/errors.d.ts +17 -49
- package/dist/cli/lib/errors.d.ts.map +1 -1
- package/dist/cli/lib/errors.js +47 -106
- package/dist/cli/lib/errors.js.map +1 -1
- package/dist/cli/lib/format.d.ts.map +1 -1
- package/dist/cli/lib/format.js +3 -5
- package/dist/cli/lib/format.js.map +1 -1
- package/dist/cli/lib/invocation.d.ts +4 -5
- package/dist/cli/lib/invocation.d.ts.map +1 -1
- package/dist/cli/lib/invocation.js +5 -33
- package/dist/cli/lib/invocation.js.map +1 -1
- package/dist/cli/lib/log-stream.d.ts.map +1 -1
- package/dist/cli/lib/log-stream.js +15 -23
- package/dist/cli/lib/log-stream.js.map +1 -1
- package/dist/cli/lib/logger.d.ts.map +1 -1
- package/dist/cli/lib/logger.js +7 -12
- package/dist/cli/lib/logger.js.map +1 -1
- package/dist/cli/lib/organization.d.ts.map +1 -1
- package/dist/cli/lib/organization.js +5 -13
- package/dist/cli/lib/organization.js.map +1 -1
- package/dist/cli/lib/project-link.d.ts.map +1 -1
- package/dist/cli/lib/project-link.js +2 -4
- package/dist/cli/lib/project-link.js.map +1 -1
- package/dist/cli/lib/resolve.d.ts +1 -6
- package/dist/cli/lib/resolve.d.ts.map +1 -1
- package/dist/cli/lib/resolve.js +26 -48
- package/dist/cli/lib/resolve.js.map +1 -1
- package/dist/cli/lib/source-repository-link.d.ts.map +1 -1
- package/dist/cli/lib/source-repository-link.js +6 -9
- package/dist/cli/lib/source-repository-link.js.map +1 -1
- package/dist/cli/lib/terminal-output.d.ts +4 -0
- package/dist/cli/lib/terminal-output.d.ts.map +1 -1
- package/dist/cli/lib/terminal-output.js +35 -18
- package/dist/cli/lib/terminal-output.js.map +1 -1
- package/dist/cli/lib/types.d.ts +3 -7
- package/dist/cli/lib/types.d.ts.map +1 -1
- package/dist/cli/lib/types.js.map +1 -1
- package/dist/cli/lib/utf8.d.ts +2 -0
- package/dist/cli/lib/utf8.d.ts.map +1 -0
- package/dist/cli/lib/utf8.js +12 -0
- package/dist/cli/lib/utf8.js.map +1 -0
- package/dist/cli/root-options.d.ts.map +1 -1
- package/dist/cli/root-options.js +11 -14
- package/dist/cli/root-options.js.map +1 -1
- package/dist/cli-plugin.d.ts.map +1 -1
- package/dist/cli-plugin.js +2 -6
- package/dist/cli-plugin.js.map +1 -1
- package/dist/cloud-config-module.js +2 -2
- package/dist/cloud-config-module.js.map +1 -1
- package/dist/dev/cli-host.d.ts.map +1 -1
- package/dist/dev/cli-host.js +16 -19
- package/dist/dev/cli-host.js.map +1 -1
- package/dist/dev/dashboard-vite-config.d.ts.map +1 -1
- package/dist/dev/dashboard-vite-config.js +17 -20
- package/dist/dev/dashboard-vite-config.js.map +1 -1
- package/dist/dev/dev-command.d.ts.map +1 -1
- package/dist/dev/dev-command.js +72 -55
- package/dist/dev/dev-command.js.map +1 -1
- package/dist/dev/dev-config.d.ts +3 -0
- package/dist/dev/dev-config.d.ts.map +1 -1
- package/dist/dev/dev-config.js +43 -13
- package/dist/dev/dev-config.js.map +1 -1
- package/dist/dev/dev-migrate.js +7 -11
- package/dist/dev/dev-migrate.js.map +1 -1
- package/dist/dev/dev-process.d.ts.map +1 -1
- package/dist/dev/dev-process.js +6 -10
- package/dist/dev/dev-process.js.map +1 -1
- package/dist/dev/dev-server.js +7 -9
- package/dist/dev/dev-server.js.map +1 -1
- package/dist/dev/dev-worker.js +5 -3
- package/dist/dev/dev-worker.js.map +1 -1
- package/dist/dev/local-services.d.ts.map +1 -1
- package/dist/dev/local-services.js +152 -106
- package/dist/dev/local-services.js.map +1 -1
- package/dist/dev/project-layout.d.ts.map +1 -1
- package/dist/dev/project-layout.js +12 -17
- package/dist/dev/project-layout.js.map +1 -1
- package/dist/dev/project-plugin-scope.d.ts +2 -0
- package/dist/dev/project-plugin-scope.d.ts.map +1 -0
- package/dist/dev/project-plugin-scope.js +38 -0
- package/dist/dev/project-plugin-scope.js.map +1 -0
- package/dist/entrypoint.js +2 -0
- package/dist/entrypoint.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -6
- package/dist/index.js.map +1 -1
- package/dist/local-asset-server.d.ts.map +1 -1
- package/dist/local-asset-server.js +7 -13
- package/dist/local-asset-server.js.map +1 -1
- package/dist/local-cache-plugin.d.ts.map +1 -1
- package/dist/local-cache-plugin.js +20 -28
- package/dist/local-cache-plugin.js.map +1 -1
- package/dist/local-cache.d.ts.map +1 -1
- package/dist/local-cache.js +40 -55
- package/dist/local-cache.js.map +1 -1
- package/dist/local-core.d.ts.map +1 -1
- package/dist/local-core.js +3 -5
- package/dist/local-core.js.map +1 -1
- package/dist/local-dashboard-plugin.d.ts.map +1 -1
- package/dist/local-dashboard-plugin.js +6 -11
- package/dist/local-dashboard-plugin.js.map +1 -1
- package/dist/local-database.d.ts.map +1 -1
- package/dist/local-database.js +20 -23
- package/dist/local-database.js.map +1 -1
- package/dist/local-durable-execution-plugin.d.ts +12 -0
- package/dist/local-durable-execution-plugin.d.ts.map +1 -1
- package/dist/local-durable-execution-plugin.js +296 -24
- package/dist/local-durable-execution-plugin.js.map +1 -1
- package/dist/local-runtime-guard.d.ts +2 -0
- package/dist/local-runtime-guard.d.ts.map +1 -1
- package/dist/local-runtime-guard.js +40 -3
- package/dist/local-runtime-guard.js.map +1 -1
- package/dist/local-runtime.d.ts.map +1 -1
- package/dist/local-runtime.js +51 -48
- package/dist/local-runtime.js.map +1 -1
- package/package.json +16 -10
- package/dist/cli/commands/identity-context/login.d.ts +0 -2
- package/dist/cli/commands/identity-context/login.d.ts.map +0 -1
- package/dist/cli/commands/identity-context/login.js +0 -158
- package/dist/cli/commands/identity-context/login.js.map +0 -1
- package/dist/cli/commands/identity-context/logout.d.ts +0 -2
- package/dist/cli/commands/identity-context/logout.d.ts.map +0 -1
- package/dist/cli/commands/identity-context/logout.js +0 -11
- package/dist/cli/commands/identity-context/logout.js.map +0 -1
- package/dist/cli/commands/identity-context/org-switch.d.ts +0 -3
- package/dist/cli/commands/identity-context/org-switch.d.ts.map +0 -1
- package/dist/cli/commands/identity-context/org-switch.js +0 -83
- package/dist/cli/commands/identity-context/org-switch.js.map +0 -1
- package/dist/cli/commands/identity-context/whoami.d.ts +0 -3
- package/dist/cli/commands/identity-context/whoami.d.ts.map +0 -1
- package/dist/cli/commands/identity-context/whoami.js +0 -101
- package/dist/cli/commands/identity-context/whoami.js.map +0 -1
- package/dist/cli/lib/console-credential.d.ts +0 -55
- package/dist/cli/lib/console-credential.d.ts.map +0 -1
- package/dist/cli/lib/console-credential.js +0 -164
- package/dist/cli/lib/console-credential.js.map +0 -1
- package/dist/cli/lib/console-origins.d.ts +0 -30
- package/dist/cli/lib/console-origins.d.ts.map +0 -1
- package/dist/cli/lib/console-origins.js +0 -87
- package/dist/cli/lib/console-origins.js.map +0 -1
- package/dist/cli/lib/console-session-lock.d.ts +0 -39
- package/dist/cli/lib/console-session-lock.d.ts.map +0 -1
- package/dist/cli/lib/console-session-lock.js +0 -235
- package/dist/cli/lib/console-session-lock.js.map +0 -1
- package/dist/cli/lib/console-session.d.ts +0 -47
- package/dist/cli/lib/console-session.d.ts.map +0 -1
- package/dist/cli/lib/console-session.js +0 -235
- package/dist/cli/lib/console-session.js.map +0 -1
- package/dist/cli/lib/file-lock.d.ts +0 -23
- package/dist/cli/lib/file-lock.d.ts.map +0 -1
- package/dist/cli/lib/file-lock.js +0 -121
- package/dist/cli/lib/file-lock.js.map +0 -1
|
@@ -1,32 +1,27 @@
|
|
|
1
1
|
import { readFileSync, readdirSync, statSync } from "node:fs";
|
|
2
|
-
import { extname, join } from "node:path";
|
|
2
|
+
import { extname, join, relative } from "node:path";
|
|
3
3
|
import { appDirSchema } from "./contract/build-settings.js";
|
|
4
|
-
import { parseDotEnv } from "./dotenv.js";
|
|
5
|
-
import {
|
|
4
|
+
import { DotEnvSyntaxError, parseDotEnv } from "./dotenv.js";
|
|
5
|
+
import { CLOUD_INVOCATION } from "./invocation.js";
|
|
6
6
|
import { findProjectRoot } from "./project-link.js";
|
|
7
|
+
import { readUtf8 } from "./utf8.js";
|
|
7
8
|
// Environment-variable preflight for `deploy` and `deploy plan`: which variables the local app
|
|
8
9
|
// directory appears to need, and which of those the target VC Environment does not have.
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
// control plane's managed env var manifest emits for the datastore, cache,
|
|
17
|
-
// object-storage and search integrations. Keep it in step by hand — or replace
|
|
18
|
-
// it with a control-plane managed-keys endpoint (CLO-251).
|
|
10
|
+
// Its `appDir` import pulls in `zod`, so a command's `run` reaches this module only through
|
|
11
|
+
// `await import(...)`. `test/cli-published-surface.test.ts` fails if loading the CLI plugin
|
|
12
|
+
// reaches it.
|
|
13
|
+
// Env vars the platform injects itself. The customer is not expected to set them, and on a
|
|
14
|
+
// first-ever deploy they are not yet persisted on the environment to subtract. Hand-mirrored from
|
|
15
|
+
// the control plane's managed env var manifest for the datastore, cache, object-storage and
|
|
16
|
+
// search integrations (CLO-251 tracks a managed-keys endpoint).
|
|
19
17
|
const MANAGED_ENV_KEY_PREFIXES = ["DB_", "REDIS_", "TYPESENSE_", "MINIO_"];
|
|
20
18
|
const MANAGED_ENV_KEYS = new Set(["DATABASE_URL", "ASSET_UPLOAD_DIR", "PGSSLMODE"]);
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
// them is noise rather than a missing-config signal (e.g. NODE_ENV parked in a
|
|
24
|
-
// customer `.env`, or PORT which the server always reads with a fallback).
|
|
19
|
+
// Runtime keys that Node or the host defines or that default locally, such as NODE_ENV in a
|
|
20
|
+
// customer `.env` or PORT, which the server reads with a fallback. Warning about them is noise.
|
|
25
21
|
const CONVENTIONAL_ENV_KEYS = new Set(["NODE_ENV", "PORT"]);
|
|
26
|
-
// `.env` only.
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
// them, and reading them all reports the lot as the customer's own (CLO-532).
|
|
22
|
+
// `.env` only. A name in `.env.example` is not evidence the deployed app reads it, and a repository
|
|
23
|
+
// with one per package would report every unrelated service's configuration as the customer's
|
|
24
|
+
// own (CLO-532).
|
|
30
25
|
const DOTENV_FILENAMES = new Set([".env"]);
|
|
31
26
|
const SOURCE_EXTENSIONS = new Set([".ts", ".mts", ".cts", ".js", ".mjs", ".cjs"]);
|
|
32
27
|
const SKIPPED_DIRECTORIES = new Set([
|
|
@@ -39,25 +34,28 @@ const SKIPPED_DIRECTORIES = new Set([
|
|
|
39
34
|
"e2e",
|
|
40
35
|
"node_modules",
|
|
41
36
|
]);
|
|
42
|
-
// Specs sit beside
|
|
43
|
-
//
|
|
37
|
+
// Specs sit beside their source in most repositories, so excluding directories does not keep their
|
|
38
|
+
// fixtures out of the list.
|
|
44
39
|
const TEST_FILENAME_PATTERN = /\.(?:spec|test)\.[cm]?[jt]s$/;
|
|
45
40
|
const MAX_DEPTH = 8;
|
|
46
41
|
const MAX_SOURCE_FILES = 2000;
|
|
47
42
|
const MAX_SOURCE_FILE_BYTES = 1_000_000;
|
|
43
|
+
const MAX_DIAGNOSTIC_PATH_LENGTH = 200;
|
|
44
|
+
const MAX_DIAGNOSTIC_KEY_LENGTH = 64;
|
|
45
|
+
class LocalDotEnvPreflightError extends Error {
|
|
46
|
+
}
|
|
48
47
|
export function isPlatformManagedKey(key) {
|
|
49
48
|
if (MANAGED_ENV_KEYS.has(key) || CONVENTIONAL_ENV_KEYS.has(key))
|
|
50
49
|
return true;
|
|
51
50
|
return MANAGED_ENV_KEY_PREFIXES.some((p) => key.startsWith(p));
|
|
52
51
|
}
|
|
53
|
-
// Regex sweep for `process.env.FOO`, `process.env["FOO"]
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
// occurrence has an inline fallback (`|| ...` / `?? ...`) and so won't crash.
|
|
52
|
+
// Regex sweep for `process.env.FOO`, `process.env["FOO"]` and `process.env['FOO']`. It misses
|
|
53
|
+
// destructuring and computed keys. Maps each key to whether any occurrence has an inline fallback
|
|
54
|
+
// (`|| ...` / `?? ...`).
|
|
57
55
|
export function scanEnvRefs(content) {
|
|
58
56
|
const refs = new Map();
|
|
59
|
-
// The trailing `(\|\||\?\?)?` captures an inline fallback right after the
|
|
60
|
-
//
|
|
57
|
+
// The trailing `(\|\||\?\?)?` captures an inline fallback right after the reference; `?.` is not
|
|
58
|
+
// one, so it stays undefined there.
|
|
61
59
|
const re = /process\.env(?:\.([A-Za-z_$][\w$]*)|\[\s*(['"])([A-Za-z_$][\w$]*)\2\s*\])\s*(\|\||\?\?)?/g;
|
|
62
60
|
let match = re.exec(content);
|
|
63
61
|
while (match !== null) {
|
|
@@ -70,10 +68,10 @@ export function scanEnvRefs(content) {
|
|
|
70
68
|
}
|
|
71
69
|
return refs;
|
|
72
70
|
}
|
|
73
|
-
// Keys
|
|
74
|
-
//
|
|
75
|
-
// the code already defaults it, so a missing value won't crash the boot.
|
|
71
|
+
// Keys declared in a `.env` file or referenced in non-test source. A reference with an inline
|
|
72
|
+
// fallback is dropped because a missing value will not crash the boot.
|
|
76
73
|
export function collectExpectedEnvKeys(appPath) {
|
|
74
|
+
const projectRoot = findProjectRoot(appPath) ?? appPath;
|
|
77
75
|
const dotEnvKeys = new Set();
|
|
78
76
|
const sourceRefs = new Map();
|
|
79
77
|
let filesScanned = 0;
|
|
@@ -97,7 +95,7 @@ export function collectExpectedEnvKeys(appPath) {
|
|
|
97
95
|
continue;
|
|
98
96
|
const path = join(dir, entry.name);
|
|
99
97
|
if (DOTENV_FILENAMES.has(entry.name)) {
|
|
100
|
-
for (const key of readDotEnvKeys(path))
|
|
98
|
+
for (const key of readDotEnvKeys(path, projectRoot))
|
|
101
99
|
dotEnvKeys.add(key);
|
|
102
100
|
continue;
|
|
103
101
|
}
|
|
@@ -125,9 +123,8 @@ export function findMissingEnvVars(params) {
|
|
|
125
123
|
.filter((key) => !params.defined.has(key) && !isPlatformManagedKey(key))
|
|
126
124
|
.sort();
|
|
127
125
|
}
|
|
128
|
-
//
|
|
129
|
-
//
|
|
130
|
-
// failure ends the check rather than blocking a deploy.
|
|
126
|
+
// Scans the app directory, fetches the keys already set on the environment, and returns the
|
|
127
|
+
// referenced-but-unset ones. An I/O failure ends the check without blocking a deploy.
|
|
131
128
|
export async function resolveEnvVarPreflight(params) {
|
|
132
129
|
if (!isDirectory(params.appPath)) {
|
|
133
130
|
return {
|
|
@@ -135,13 +132,28 @@ export async function resolveEnvVarPreflight(params) {
|
|
|
135
132
|
reason: `the recorded app directory is not present at ${params.appPath}`,
|
|
136
133
|
};
|
|
137
134
|
}
|
|
138
|
-
|
|
135
|
+
let expected;
|
|
136
|
+
try {
|
|
137
|
+
expected = collectExpectedEnvKeys(params.appPath);
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
return {
|
|
141
|
+
status: "not-checked",
|
|
142
|
+
reason: error instanceof LocalDotEnvPreflightError
|
|
143
|
+
? error.message
|
|
144
|
+
: "the local environment-variable check could not finish",
|
|
145
|
+
};
|
|
146
|
+
}
|
|
139
147
|
if (expected.length === 0)
|
|
140
148
|
return { status: "checked", missing: [] };
|
|
141
149
|
let defined;
|
|
142
150
|
try {
|
|
143
151
|
const vars = await params.client.get(`/environments/${params.environmentId}/env-vars`);
|
|
144
152
|
defined = new Set(vars.map((v) => v.key));
|
|
153
|
+
for (const key of params.heldBack?.added ?? [])
|
|
154
|
+
defined.delete(key);
|
|
155
|
+
for (const key of params.heldBack?.removed ?? [])
|
|
156
|
+
defined.add(key);
|
|
145
157
|
}
|
|
146
158
|
catch {
|
|
147
159
|
return {
|
|
@@ -151,11 +163,10 @@ export async function resolveEnvVarPreflight(params) {
|
|
|
151
163
|
}
|
|
152
164
|
return { status: "checked", missing: findMissingEnvVars({ expected, defined }) };
|
|
153
165
|
}
|
|
154
|
-
// Command-facing entry point: resolves the project root
|
|
155
|
-
//
|
|
156
|
-
//
|
|
157
|
-
|
|
158
|
-
export async function runEnvVarPreflight(client, environmentId) {
|
|
166
|
+
// Command-facing entry point: resolves the project root (walking up to the project link, falling
|
|
167
|
+
// back to the working directory), narrows it to the app directory the deploy builds, then runs the
|
|
168
|
+
// check.
|
|
169
|
+
export async function runEnvVarPreflight(client, environmentId, heldBack) {
|
|
159
170
|
const appDir = await fetchAppDir(client, environmentId);
|
|
160
171
|
if (appDir === null) {
|
|
161
172
|
return {
|
|
@@ -168,6 +179,7 @@ export async function runEnvVarPreflight(client, environmentId) {
|
|
|
168
179
|
client,
|
|
169
180
|
environmentId,
|
|
170
181
|
appPath: appDir === "" ? projectRoot : join(projectRoot, appDir),
|
|
182
|
+
heldBack,
|
|
171
183
|
});
|
|
172
184
|
}
|
|
173
185
|
export function formatEnvPreflightSkipped(reason) {
|
|
@@ -183,19 +195,14 @@ export function formatMissingEnvVarsWarning(missing, environmentSlug) {
|
|
|
183
195
|
"",
|
|
184
196
|
"The check reads the app directory's `.env` and searches its source for `process.env`. A",
|
|
185
197
|
"text search can name a variable the deployed app never reads and miss one it does. Add",
|
|
186
|
-
`the ones your app needs with \`${
|
|
198
|
+
`the ones your app needs with \`${CLOUD_INVOCATION} env add <KEY>\`, then re-run the deploy.`,
|
|
187
199
|
];
|
|
188
200
|
return lines.join("\n");
|
|
189
201
|
}
|
|
190
|
-
// The repository-relative app directory
|
|
191
|
-
//
|
|
192
|
-
//
|
|
193
|
-
//
|
|
194
|
-
//
|
|
195
|
-
// A path means scan that directory. `""` means the app is at the repository
|
|
196
|
-
// root. `null` means the setting could not be read, which is not the same as an
|
|
197
|
-
// app at the root: scanning the root in that case reports every sibling app's
|
|
198
|
-
// variables as the customer's own.
|
|
202
|
+
// The repository-relative app directory from the environment's Source Build Settings, where
|
|
203
|
+
// `vendure init --app-dir` and `vendure config build set --app-dir` record it. A path means scan
|
|
204
|
+
// that directory. `""` means the app is at the repository root. `null` means the setting could not
|
|
205
|
+
// be read; scanning the root then would report every sibling app's variables as the customer's own.
|
|
199
206
|
async function fetchAppDir(client, environmentId) {
|
|
200
207
|
try {
|
|
201
208
|
const response = await client.get(`/environments/${environmentId}/source-build-settings`);
|
|
@@ -205,13 +212,11 @@ async function fetchAppDir(client, environmentId) {
|
|
|
205
212
|
return null;
|
|
206
213
|
}
|
|
207
214
|
}
|
|
208
|
-
// The response is untrusted and
|
|
209
|
-
//
|
|
210
|
-
//
|
|
211
|
-
//
|
|
212
|
-
//
|
|
213
|
-
// the whole document would fail this read outright the first time the control plane adds a setting
|
|
214
|
-
// a released CLI has never heard of.
|
|
215
|
+
// The response is untrusted and `appDir` is joined onto a local path, so an absolute path or a `..`
|
|
216
|
+
// segment would send the scan outside the project root. A value the schema rejects is read as
|
|
217
|
+
// unknown.
|
|
218
|
+
// Only the field rule is borrowed. The object schema is strict, so parsing the whole document would
|
|
219
|
+
// fail when the control plane adds a setting a released CLI does not know.
|
|
215
220
|
function readAppDir(response) {
|
|
216
221
|
if (!isRecord(response))
|
|
217
222
|
return null;
|
|
@@ -238,13 +243,36 @@ function isDirectory(path) {
|
|
|
238
243
|
return false;
|
|
239
244
|
}
|
|
240
245
|
}
|
|
241
|
-
function readDotEnvKeys(path) {
|
|
246
|
+
function readDotEnvKeys(path, projectRoot) {
|
|
242
247
|
try {
|
|
243
|
-
return Object.keys(parseDotEnv(
|
|
248
|
+
return Object.keys(parseDotEnv(readUtf8(path, "A local .env file")));
|
|
244
249
|
}
|
|
245
|
-
catch {
|
|
246
|
-
|
|
250
|
+
catch (error) {
|
|
251
|
+
const file = formatDiagnosticToken(relative(projectRoot, path), MAX_DIAGNOSTIC_PATH_LENGTH);
|
|
252
|
+
let problem = "could not be read or parsed as UTF-8 text";
|
|
253
|
+
if (error instanceof DotEnvSyntaxError &&
|
|
254
|
+
Number.isSafeInteger(error.line) &&
|
|
255
|
+
error.line > 0 &&
|
|
256
|
+
(error.key === undefined || (typeof error.key === "string" && /^[\w.-]+$/.test(error.key)))) {
|
|
257
|
+
problem =
|
|
258
|
+
error.key === undefined
|
|
259
|
+
? `has an invalid assignment at line ${error.line}`
|
|
260
|
+
: `has quotes that do not enclose the whole value at line ${error.line} for key ${formatDiagnosticToken(error.key, MAX_DIAGNOSTIC_KEY_LENGTH)}`;
|
|
261
|
+
}
|
|
262
|
+
throw new LocalDotEnvPreflightError(`the local .env file ${file} ${problem}`);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
function formatDiagnosticToken(value, maximumLength) {
|
|
266
|
+
let result = '"';
|
|
267
|
+
for (const character of value) {
|
|
268
|
+
const encoded = JSON.stringify(character)
|
|
269
|
+
.slice(1, -1)
|
|
270
|
+
.replace(/[^\x20-\x7e]/g, (unit) => `\\u${unit.charCodeAt(0).toString(16).padStart(4, "0")}`);
|
|
271
|
+
if (result.length + encoded.length + 4 > maximumLength)
|
|
272
|
+
return `${result}..."`;
|
|
273
|
+
result += encoded;
|
|
247
274
|
}
|
|
275
|
+
return `${result}"`;
|
|
248
276
|
}
|
|
249
277
|
function readSourceRefs(path) {
|
|
250
278
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-preflight.js","sourceRoot":"","sources":["../../../src/cli/lib/env-preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"env-preflight.js","sourceRoot":"","sources":["../../../src/cli/lib/env-preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,+FAA+F;AAC/F,yFAAyF;AACzF,4FAA4F;AAC5F,4FAA4F;AAC5F,cAAc;AAEd,2FAA2F;AAC3F,kGAAkG;AAClG,4FAA4F;AAC5F,gEAAgE;AAChE,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAC3E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;AAEpF,4FAA4F;AAC5F,gGAAgG;AAChG,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5D,oGAAoG;AACpG,8FAA8F;AAC9F,iBAAiB;AACjB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3C,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAClF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,MAAM;IACN,QAAQ;IACR,WAAW;IACX,WAAW;IACX,OAAO;IACP,MAAM;IACN,KAAK;IACL,cAAc;CACf,CAAC,CAAC;AAEH,mGAAmG;AACnG,4BAA4B;AAC5B,MAAM,qBAAqB,GAAG,8BAA8B,CAAC;AAE7D,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,qBAAqB,GAAG,SAAS,CAAC;AACxC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,MAAM,yBAA0B,SAAQ,KAAK;CAAG;AAEhD,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,8FAA8F;AAC9F,kGAAkG;AAClG,yBAAyB;AACzB,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;IACxC,iGAAiG;IACjG,oCAAoC;IACpC,MAAM,EAAE,GACN,2FAA2F,CAAC;IAC9F,IAAI,KAAK,GAA2B,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,KAAK,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8FAA8F;AAC9F,uEAAuE;AACvE,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC9C,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,KAAa,EAAQ,EAAE;QACjD,IAAI,KAAK,GAAG,SAAS;YAAE,OAAO;QAC9B,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAClF,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC;oBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzE,SAAS;YACX,CAAC;YACD,IAAI,YAAY,IAAI,gBAAgB;gBAAE,SAAS;YAC/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAAE,SAAS;YAC1D,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YACrD,YAAY,EAAE,CAAC;YACf,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAElB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACjE,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,SAAS;QAC3C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAGlC;IACC,OAAO,MAAM,CAAC,QAAQ;SACnB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;SACvE,IAAI,EAAE,CAAC;AACZ,CAAC;AAiBD,4FAA4F;AAC5F,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAK5C;IACC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,gDAAgD,MAAM,CAAC,OAAO,EAAE;SACzE,CAAC;IACJ,CAAC;IACD,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EACJ,KAAK,YAAY,yBAAyB;gBACxC,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,uDAAuD;SAC9D,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACrE,IAAI,OAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAClC,iBAAiB,MAAM,CAAC,aAAa,WAAW,CACjD,CAAC;QACF,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,iEAAiE;SAC1E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACnF,CAAC;AAED,iGAAiG;AACjG,mGAAmG;AACnG,SAAS;AACT,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAA8B,EAC9B,aAAqB,EACrB,QAAuB;IAEvB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,mEAAmE;SAC5E,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,eAAe,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvD,OAAO,sBAAsB,CAAC;QAC5B,MAAM;QACN,aAAa;QACb,OAAO,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;QAChE,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACtD,OAAO;QACL,4DAA4D,MAAM,GAAG;QACrE,8EAA8E;KAC/E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAA0B,EAC1B,eAAuB;IAEvB,MAAM,KAAK,GAAG;QACZ,qFAAqF,eAAe,IAAI;QACxG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;QACnC,EAAE;QACF,yFAAyF;QACzF,wFAAwF;QACxF,kCAAkC,gBAAgB,2CAA2C;KAC9F,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,4FAA4F;AAC5F,iGAAiG;AACjG,mGAAmG;AACnG,oGAAoG;AACpG,KAAK,UAAU,WAAW,CACxB,MAA8B,EAC9B,aAAqB;IAErB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,iBAAiB,aAAa,wBAAwB,CACvD,CAAC;QACF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,oGAAoG;AACpG,8FAA8F;AAC9F,WAAW;AACX,oGAAoG;AACpG,2EAA2E;AAC3E,SAAS,UAAU,CAAC,QAAiB;IACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,6EAA6E;IAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAExE,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,WAAmB;IACvD,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAC5F,IAAI,OAAO,GAAG,2CAA2C,CAAC;QAC1D,IACE,KAAK,YAAY,iBAAiB;YAClC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;YAChC,KAAK,CAAC,IAAI,GAAG,CAAC;YACd,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAC3F,CAAC;YACD,OAAO;gBACL,KAAK,CAAC,GAAG,KAAK,SAAS;oBACrB,CAAC,CAAC,qCAAqC,KAAK,CAAC,IAAI,EAAE;oBACnD,CAAC,CAAC,0DAA0D,KAAK,CAAC,IAAI,YAAY,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC;QACtJ,CAAC;QACD,MAAM,IAAI,yBAAyB,CAAC,uBAAuB,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,aAAqB;IACjE,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;aACtC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACZ,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAChG,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa;YAAE,OAAO,GAAG,MAAM,MAAM,CAAC;QAC/E,MAAM,IAAI,OAAO,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,MAAM,GAAG,CAAC;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,qBAAqB;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAC7D,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,MAA4B,EAAE,MAA4B;IAC3E,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
|
package/dist/cli/lib/errors.d.ts
CHANGED
|
@@ -2,64 +2,32 @@ import { type ForeignCredential } from "./contract/foreign-credentials.js";
|
|
|
2
2
|
export declare class ApiError extends Error {
|
|
3
3
|
readonly status: number;
|
|
4
4
|
readonly body: unknown;
|
|
5
|
-
|
|
5
|
+
readonly credentialKind?: "apiKey" | "userLogin" | undefined;
|
|
6
|
+
constructor(status: number, body: unknown, credentialKind?: "apiKey" | "userLogin" | undefined);
|
|
6
7
|
}
|
|
7
8
|
export declare class ForeignCredentialError extends Error {
|
|
8
9
|
readonly kind: ForeignCredential;
|
|
9
10
|
constructor(kind: ForeignCredential);
|
|
10
11
|
}
|
|
11
|
-
export declare
|
|
12
|
-
|
|
12
|
+
export declare const CliLoginFailure: {
|
|
13
|
+
readonly NOT_LOGGED_IN: "notLoggedIn";
|
|
14
|
+
readonly SESSION_REJECTED: "sessionRejected";
|
|
15
|
+
readonly REAUTHENTICATION_REQUIRED: "reauthenticationRequired";
|
|
16
|
+
readonly LOCK_UNAVAILABLE: "lockUnavailable";
|
|
17
|
+
readonly UNSTORABLE: "unstorable";
|
|
18
|
+
readonly REFRESH_UNAVAILABLE: "refreshUnavailable";
|
|
19
|
+
readonly UNCLASSIFIED: "unclassified";
|
|
20
|
+
};
|
|
21
|
+
export type CliLoginFailure = (typeof CliLoginFailure)[keyof typeof CliLoginFailure];
|
|
22
|
+
export declare class CliLoginError extends Error {
|
|
23
|
+
readonly failure: CliLoginFailure;
|
|
24
|
+
constructor(failure: CliLoginFailure, message: string, options?: {
|
|
13
25
|
cause?: unknown;
|
|
14
26
|
});
|
|
15
27
|
}
|
|
16
|
-
export declare class
|
|
17
|
-
constructor(
|
|
18
|
-
cause?: unknown;
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
export declare class RefreshUnavailableError extends SessionRefreshError {
|
|
22
|
-
constructor(options?: {
|
|
23
|
-
cause?: unknown;
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
export declare class SessionUnstorableError extends SessionRefreshError {
|
|
27
|
-
readonly directory: string;
|
|
28
|
-
constructor(directory: string, options?: {
|
|
29
|
-
cause?: unknown;
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* The command that re-establishes the shared Console session on this machine.
|
|
34
|
-
*
|
|
35
|
-
* It belongs to Vendure Platform rather than to Cloud, and it is named literally rather than
|
|
36
|
-
* through `cloudInvocation()` for that reason. Platform's own messages name the same command, so a
|
|
37
|
-
* person following either tool's advice runs one thing. Cloud never mints a Console session: the
|
|
38
|
-
* browser approval that produces one is Platform's, and telling someone to run a Cloud login here
|
|
39
|
-
* would send them to a second sign-in this whole feature exists to remove.
|
|
40
|
-
*/
|
|
41
|
-
export declare const CONSOLE_LINK_COMMAND = "vendure console link";
|
|
42
|
-
export declare class ConsoleSessionRejectedError extends SessionRefreshError {
|
|
43
|
-
constructor(options?: {
|
|
44
|
-
cause?: unknown;
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
export declare class ConsoleSessionNotAcceptedError extends SessionRefreshError {
|
|
48
|
-
constructor(options?: {
|
|
49
|
-
cause?: unknown;
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
export declare class ConsoleSessionUnavailableError extends SessionRefreshError {
|
|
53
|
-
constructor(options?: {
|
|
54
|
-
cause?: unknown;
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
export declare class ConsoleSessionLockUnavailableError extends SessionRefreshError {
|
|
58
|
-
constructor(options?: {
|
|
59
|
-
cause?: unknown;
|
|
60
|
-
});
|
|
28
|
+
export declare class LoginPairingError extends Error {
|
|
29
|
+
constructor(message: string);
|
|
61
30
|
}
|
|
62
|
-
export declare function toSessionRefreshError(error: unknown): SessionRefreshError;
|
|
63
31
|
export declare function formatCommandErrorMessage(error: unknown): string;
|
|
64
32
|
export declare function reportCommandError(error: unknown, options?: {
|
|
65
33
|
json?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/errors.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,mCAAmC,CAAC;AAO3C,qBAAa,QAAS,SAAQ,KAAK;aAEf,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,OAAO;aAEb,cAAc,CAAC,EAAE,QAAQ,GAAG,WAAW;gBAHvC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EAEb,cAAc,CAAC,EAAE,QAAQ,GAAG,WAAW,YAAA;CAK1D;AAID,qBAAa,sBAAuB,SAAQ,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,iBAAiB;gBAAvB,IAAI,EAAE,iBAAiB;CAI7C;AAGD,eAAO,MAAM,eAAe;;;;;;;;CAQlB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF,qBAAa,aAAc,SAAQ,KAAK;IAEpC,QAAQ,CAAC,OAAO,EAAE,eAAe;gBAAxB,OAAO,EAAE,eAAe,EACjC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKhC;AAID,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAID,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA2BhE;AAID,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAS3F"}
|
package/dist/cli/lib/errors.js
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import * as prompts from "@clack/prompts";
|
|
2
1
|
import { ZodError } from "zod";
|
|
3
2
|
import { foreignCredentialRefusal, } from "./contract/foreign-credentials.js";
|
|
3
|
+
import { isPermissionDeniedBody } from "./contract/permission-denied.js";
|
|
4
4
|
import { formatInlineUserFacingErrorReason } from "./error-output.js";
|
|
5
|
-
import {
|
|
5
|
+
import { AUTH_LOGIN_COMMAND, AUTH_STATUS_COMMAND } from "./invocation.js";
|
|
6
6
|
import { logger } from "./logger.js";
|
|
7
|
+
import { output } from "./terminal-output.js";
|
|
7
8
|
export class ApiError extends Error {
|
|
8
9
|
status;
|
|
9
10
|
body;
|
|
10
|
-
|
|
11
|
+
credentialKind;
|
|
12
|
+
constructor(status, body,
|
|
13
|
+
// Which credential the refused request ran under, when the client knows it.
|
|
14
|
+
credentialKind) {
|
|
11
15
|
super(`API request failed with status ${status}`);
|
|
12
16
|
this.status = status;
|
|
13
17
|
this.body = body;
|
|
18
|
+
this.credentialKind = credentialKind;
|
|
14
19
|
this.name = "ApiError";
|
|
15
20
|
}
|
|
16
21
|
}
|
|
@@ -19,114 +24,52 @@ export class ApiError extends Error {
|
|
|
19
24
|
export class ForeignCredentialError extends Error {
|
|
20
25
|
kind;
|
|
21
26
|
constructor(kind) {
|
|
22
|
-
super(
|
|
27
|
+
super(foreignCredentialRefusal(kind));
|
|
23
28
|
this.kind = kind;
|
|
24
29
|
this.name = "ForeignCredentialError";
|
|
25
30
|
}
|
|
26
31
|
}
|
|
27
|
-
//
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
// Why the Vendure CLI login supplied no token. Each kind needs a different next step.
|
|
33
|
+
export const CliLoginFailure = {
|
|
34
|
+
NOT_LOGGED_IN: "notLoggedIn",
|
|
35
|
+
SESSION_REJECTED: "sessionRejected",
|
|
36
|
+
REAUTHENTICATION_REQUIRED: "reauthenticationRequired",
|
|
37
|
+
LOCK_UNAVAILABLE: "lockUnavailable",
|
|
38
|
+
UNSTORABLE: "unstorable",
|
|
39
|
+
REFRESH_UNAVAILABLE: "refreshUnavailable",
|
|
40
|
+
UNCLASSIFIED: "unclassified",
|
|
41
|
+
};
|
|
42
|
+
export class CliLoginError extends Error {
|
|
43
|
+
failure;
|
|
44
|
+
constructor(failure, message, options) {
|
|
34
45
|
super(message, options);
|
|
35
|
-
this.
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
// The authentication service rejected the stored refresh token outright — it was revoked, expired,
|
|
39
|
-
// or already consumed. Definitive: the stored credentials are worthless and only a fresh login
|
|
40
|
-
// recovers.
|
|
41
|
-
export class RefreshTokenRejectedError extends SessionRefreshError {
|
|
42
|
-
constructor(options) {
|
|
43
|
-
super(`Your CLI session has expired. Run \`${cloudInvocation()} login\` to re-authenticate.`, options);
|
|
44
|
-
this.name = "RefreshTokenRejectedError";
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
// The refresh could not be completed — network failure, timeout, or an unhealthy service.
|
|
48
|
-
// Transient: the stored refresh token may still be valid, so credentials must survive.
|
|
49
|
-
export class RefreshUnavailableError extends SessionRefreshError {
|
|
50
|
-
constructor(options) {
|
|
51
|
-
super(`Could not reach the authentication service to refresh your CLI session. Check your connection and try again — run \`${cloudInvocation()} login\` if it keeps failing.`, options);
|
|
52
|
-
this.name = "RefreshUnavailableError";
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
// The renewed session could not be stored. A refresh token is single-use, so a write that fails
|
|
56
|
-
// after the exchange leaves the consumed token as the machine's only credential; this is raised
|
|
57
|
-
// before the exchange instead, and nothing on disk was touched.
|
|
58
|
-
export class SessionUnstorableError extends SessionRefreshError {
|
|
59
|
-
directory;
|
|
60
|
-
constructor(directory, options) {
|
|
61
|
-
super(`Cannot save a renewed CLI session to ${directory}. Your stored login was left as it is, so nothing was lost. Check that the directory is writable and has free space, then run the command again.`, options);
|
|
62
|
-
this.directory = directory;
|
|
63
|
-
this.name = "SessionUnstorableError";
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* The command that re-establishes the shared Console session on this machine.
|
|
68
|
-
*
|
|
69
|
-
* It belongs to Vendure Platform rather than to Cloud, and it is named literally rather than
|
|
70
|
-
* through `cloudInvocation()` for that reason. Platform's own messages name the same command, so a
|
|
71
|
-
* person following either tool's advice runs one thing. Cloud never mints a Console session: the
|
|
72
|
-
* browser approval that produces one is Platform's, and telling someone to run a Cloud login here
|
|
73
|
-
* would send them to a second sign-in this whole feature exists to remove.
|
|
74
|
-
*/
|
|
75
|
-
export const CONSOLE_LINK_COMMAND = "vendure console link";
|
|
76
|
-
// Console refused the stored refresh grant, or the shared session is no longer on disk. Definitive:
|
|
77
|
-
// only a fresh browser approval recovers, and that approval is Platform's to run.
|
|
78
|
-
export class ConsoleSessionRejectedError extends SessionRefreshError {
|
|
79
|
-
constructor(options) {
|
|
80
|
-
super(`Your Vendure Console session has expired. Run \`${CONSOLE_LINK_COMMAND}\` and sign in, or run \`${cloudInvocation()} login\` to use a Vendure Cloud login instead.`, options);
|
|
81
|
-
this.name = "ConsoleSessionRejectedError";
|
|
46
|
+
this.failure = failure;
|
|
47
|
+
this.name = "CliLoginError";
|
|
82
48
|
}
|
|
83
49
|
}
|
|
84
|
-
// The
|
|
85
|
-
//
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
super(`Vendure Cloud did not accept your Vendure Console session. Your session was left as it is. Run \`${cloudInvocation()} whoami\` to see how you are signed in, or \`${cloudInvocation()} login\` to use a Vendure Cloud login instead.`, options);
|
|
91
|
-
this.name = "ConsoleSessionNotAcceptedError";
|
|
50
|
+
// The Vendure CLI login is for a Vendure Console the target control plane does not accept. Thrown
|
|
51
|
+
// before the token leaves the machine.
|
|
52
|
+
export class LoginPairingError extends Error {
|
|
53
|
+
constructor(message) {
|
|
54
|
+
super(message);
|
|
55
|
+
this.name = "LoginPairingError";
|
|
92
56
|
}
|
|
93
57
|
}
|
|
94
|
-
//
|
|
95
|
-
//
|
|
96
|
-
// and the next attempt gets a straight answer.
|
|
97
|
-
export class ConsoleSessionUnavailableError extends SessionRefreshError {
|
|
98
|
-
constructor(options) {
|
|
99
|
-
super("Could not reach Vendure Console to renew your session. Check your connection and try again.", options);
|
|
100
|
-
this.name = "ConsoleSessionUnavailableError";
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
// The Console session lock could not be taken. It says nothing about the session, so nothing is
|
|
104
|
-
// refreshed, written or removed. Reporting it as "no session" would send a person to the browser to
|
|
105
|
-
// sign in over a session that is fine and is being renewed as they are asked.
|
|
106
|
-
export class ConsoleSessionLockUnavailableError extends SessionRefreshError {
|
|
107
|
-
constructor(options) {
|
|
108
|
-
super("Another Vendure process is using the Console session. Try again.", options);
|
|
109
|
-
this.name = "ConsoleSessionLockUnavailableError";
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
export function toSessionRefreshError(error) {
|
|
113
|
-
if (error instanceof SessionRefreshError) {
|
|
114
|
-
return error;
|
|
115
|
-
}
|
|
116
|
-
return new SessionRefreshError(sessionRefreshFailedMessage(), { cause: error });
|
|
117
|
-
}
|
|
118
|
-
// What the customer is told a failure was. Separated from writing it so the same classification
|
|
119
|
-
// serves the terminal and `--json`, and so it can be asserted without a process that exits.
|
|
58
|
+
// Classifies a failure for the terminal and `--json`, separate from writing it so tests need no
|
|
59
|
+
// process that exits.
|
|
120
60
|
export function formatCommandErrorMessage(error) {
|
|
121
61
|
if (error instanceof ApiError && error.status === 401) {
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
62
|
+
// This 401 survived one renewal, so the credential itself was rejected. Nothing is cleared.
|
|
63
|
+
if (error.credentialKind === "apiKey") {
|
|
64
|
+
return "Vendure Cloud did not accept the API key passed with --token or VENDURE_CLOUD_TOKEN. Check that it has not been revoked.";
|
|
65
|
+
}
|
|
66
|
+
if (error.credentialKind === "userLogin") {
|
|
67
|
+
return `Vendure Cloud did not accept your Vendure CLI login. Run \`${AUTH_STATUS_COMMAND}\` to check it, and sign in again with \`${AUTH_LOGIN_COMMAND}\`.`;
|
|
68
|
+
}
|
|
69
|
+
return `Vendure Cloud did not accept the credential. Check the API key passed with --token or VENDURE_CLOUD_TOKEN, or run \`${AUTH_STATUS_COMMAND}\` and sign in again with \`${AUTH_LOGIN_COMMAND}\`.`;
|
|
127
70
|
}
|
|
128
|
-
if (error instanceof
|
|
129
|
-
return error.
|
|
71
|
+
if (error instanceof ApiError && error.status === 403 && isPermissionDeniedBody(error.body)) {
|
|
72
|
+
return `You do not have permission for this action. It requires \`${error.body.requiredPermission}\`. Ask an administrator of your Vendure Cloud organization to grant it.`;
|
|
130
73
|
}
|
|
131
74
|
if (error instanceof ApiError) {
|
|
132
75
|
return `API error (${error.status}): ${formatApiErrorBody(error.body)}`;
|
|
@@ -142,9 +85,8 @@ export function formatCommandErrorMessage(error) {
|
|
|
142
85
|
}
|
|
143
86
|
return "Unknown command error.";
|
|
144
87
|
}
|
|
145
|
-
// Reports the failure and
|
|
146
|
-
//
|
|
147
|
-
// exited itself would take that decision away from the host mid-run.
|
|
88
|
+
// Reports the failure and returns the process exit code. It does not exit: the Vendure CLI host
|
|
89
|
+
// calls `process.exit` with whatever a command action returns.
|
|
148
90
|
export function reportCommandError(error, options = {}) {
|
|
149
91
|
logger.error({ error: error instanceof Error ? errorForLog(error) : error }, "Command failed");
|
|
150
92
|
const message = formatCommandErrorMessage(error);
|
|
@@ -152,7 +94,7 @@ export function reportCommandError(error, options = {}) {
|
|
|
152
94
|
process.stderr.write(`${JSON.stringify({ error: { message } })}\n`);
|
|
153
95
|
return 1;
|
|
154
96
|
}
|
|
155
|
-
|
|
97
|
+
output.error(message);
|
|
156
98
|
return 1;
|
|
157
99
|
}
|
|
158
100
|
function errorForLog(error) {
|
|
@@ -165,9 +107,8 @@ function errorForLog(error) {
|
|
|
165
107
|
...(cause === undefined ? {} : { cause }),
|
|
166
108
|
};
|
|
167
109
|
}
|
|
168
|
-
// NestJS wraps thrown HttpExceptions as `{ message, error, statusCode }`. Surface
|
|
169
|
-
//
|
|
170
|
-
// not the envelope.
|
|
110
|
+
// NestJS wraps thrown HttpExceptions as `{ message, error, statusCode }`. Surface the message (or
|
|
111
|
+
// the array of messages for ValidationPipe failures), not the envelope.
|
|
171
112
|
function formatApiErrorBody(body) {
|
|
172
113
|
if (typeof body === "string")
|
|
173
114
|
return formatApiErrorMessage(body);
|