@contember/cli 2.1.0-beta.2 → 2.2.0-alpha.1
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/CLAUDE.md +14 -1
- package/dist/development/index.cjs +5 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +5 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/run.cjs +3 -3
- package/dist/development/run.cjs.map +1 -1
- package/dist/development/run.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsGetEventCommand.cjs.map +1 -1
- package/dist/development/src/commands/actions/ActionsGetEventCommand.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.cjs.map +1 -1
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.cjs.map +1 -1
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.cjs.map +1 -1
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.cjs.map +1 -1
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsStopEventCommand.cjs.map +1 -1
- package/dist/development/src/commands/actions/ActionsStopEventCommand.js.map +1 -1
- package/dist/development/src/commands/deploy/DeployCommand.cjs +3 -1
- package/dist/development/src/commands/deploy/DeployCommand.cjs.map +1 -1
- package/dist/development/src/commands/deploy/DeployCommand.js +3 -1
- package/dist/development/src/commands/deploy/DeployCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationAmendCommand.cjs +26 -4
- package/dist/development/src/commands/migrations/MigrationAmendCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationAmendCommand.js +26 -4
- package/dist/development/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationDescribeCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationDescribeCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationDiffCommand.cjs +39 -3
- package/dist/development/src/commands/migrations/MigrationDiffCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationDiffCommand.js +39 -3
- package/dist/development/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationExecuteCommand.cjs +3 -1
- package/dist/development/src/commands/migrations/MigrationExecuteCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationExecuteCommand.js +3 -1
- package/dist/development/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationInitStateCommand.cjs +26 -0
- package/dist/development/src/commands/migrations/MigrationInitStateCommand.cjs.map +1 -0
- package/dist/development/src/commands/migrations/MigrationInitStateCommand.js +26 -0
- package/dist/development/src/commands/migrations/MigrationInitStateCommand.js.map +1 -0
- package/dist/development/src/commands/migrations/MigrationRebaseCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationRebaseCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationSnapshotCommand.cjs +28 -0
- package/dist/development/src/commands/migrations/MigrationSnapshotCommand.cjs.map +1 -0
- package/dist/development/src/commands/migrations/MigrationSnapshotCommand.js +28 -0
- package/dist/development/src/commands/migrations/MigrationSnapshotCommand.js.map +1 -0
- package/dist/development/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationVerifySnapshotCommand.cjs +23 -0
- package/dist/development/src/commands/migrations/MigrationVerifySnapshotCommand.cjs.map +1 -0
- package/dist/development/src/commands/migrations/MigrationVerifySnapshotCommand.js +23 -0
- package/dist/development/src/commands/migrations/MigrationVerifySnapshotCommand.js.map +1 -0
- package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.cjs +2 -2
- package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.cjs.map +1 -1
- package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.js.map +1 -1
- package/dist/development/src/commands/project/ProjectPrintSchemaCommand.cjs.map +1 -1
- package/dist/development/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
- package/dist/development/src/commands/project/ProjectValidateCommand.cjs.map +1 -1
- package/dist/development/src/commands/project/ProjectValidateCommand.js.map +1 -1
- package/dist/development/src/commands/tenant/TenantApplyCommand.cjs +39 -0
- package/dist/development/src/commands/tenant/TenantApplyCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/TenantApplyCommand.js +39 -0
- package/dist/development/src/commands/tenant/TenantApplyCommand.js.map +1 -0
- package/dist/development/src/commands/transfer/ExportCommand.cjs.map +1 -1
- package/dist/development/src/commands/transfer/ExportCommand.js.map +1 -1
- package/dist/development/src/commands/transfer/ImportCommand.cjs.map +1 -1
- package/dist/development/src/commands/transfer/ImportCommand.js.map +1 -1
- package/dist/development/src/commands/transfer/TransferCommand.cjs.map +1 -1
- package/dist/development/src/commands/transfer/TransferCommand.js.map +1 -1
- package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.cjs.map +1 -1
- package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.js.map +1 -1
- package/dist/development/src/consts.cjs +2 -2
- package/dist/development/src/consts.cjs.map +1 -1
- package/dist/development/src/dic.cjs +60 -10
- package/dist/development/src/dic.cjs.map +1 -1
- package/dist/development/src/dic.js +61 -11
- package/dist/development/src/dic.js.map +1 -1
- package/dist/development/src/lib/SystemClientProvider.cjs.map +1 -1
- package/dist/development/src/lib/SystemClientProvider.js.map +1 -1
- package/dist/development/src/lib/TenantClientProvider.cjs.map +1 -1
- package/dist/development/src/lib/TenantClientProvider.js.map +1 -1
- package/dist/development/src/lib/VersionChecker.cjs +2 -2
- package/dist/development/src/lib/VersionChecker.cjs.map +1 -1
- package/dist/development/src/lib/VersionChecker.js.map +1 -1
- package/dist/development/src/lib/admin/AdminClient.cjs.map +1 -1
- package/dist/development/src/lib/admin/AdminClient.js.map +1 -1
- package/dist/development/src/lib/admin/AdminDeployer.cjs.map +1 -1
- package/dist/development/src/lib/admin/AdminDeployer.js.map +1 -1
- package/dist/development/src/lib/fs/DockerComposeManager.cjs +10 -10
- package/dist/development/src/lib/fs/DockerComposeManager.cjs.map +1 -1
- package/dist/development/src/lib/fs/DockerComposeManager.js.map +1 -1
- package/dist/development/src/lib/fs/YamlHandler.cjs.map +1 -1
- package/dist/development/src/lib/fs/YamlHandler.js.map +1 -1
- package/dist/development/src/lib/js/EsBuildBuilder.cjs.map +1 -1
- package/dist/development/src/lib/js/EsBuildBuilder.js.map +1 -1
- package/dist/development/src/lib/js/EvalExecutor.cjs.map +1 -1
- package/dist/development/src/lib/js/EvalExecutor.js.map +1 -1
- package/dist/development/src/lib/js/JsCodeRunner.cjs.map +1 -1
- package/dist/development/src/lib/js/JsCodeRunner.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationExecutionFacade.cjs +78 -18
- package/dist/development/src/lib/migrations/MigrationExecutionFacade.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationExecutionFacade.js +79 -19
- package/dist/development/src/lib/migrations/MigrationExecutionFacade.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationPrinter.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationRebaseFacade.cjs +5 -1
- package/dist/development/src/lib/migrations/MigrationRebaseFacade.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationRebaseFacade.js +5 -1
- package/dist/development/src/lib/migrations/MigrationRebaseFacade.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationSnapshotFacade.cjs +171 -0
- package/dist/development/src/lib/migrations/MigrationSnapshotFacade.cjs.map +1 -0
- package/dist/development/src/lib/migrations/MigrationSnapshotFacade.js +171 -0
- package/dist/development/src/lib/migrations/MigrationSnapshotFacade.js.map +1 -0
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationsValidator.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationsValidator.js.map +1 -1
- package/dist/development/src/lib/project/RemoteProjectProvider.cjs.map +1 -1
- package/dist/development/src/lib/project/RemoteProjectProvider.js.map +1 -1
- package/dist/development/src/lib/project/RemoteProjectResolver.cjs.map +1 -1
- package/dist/development/src/lib/project/RemoteProjectResolver.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/EntityInfo.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/EntityInfo.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/EntityLink.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/EntityLink.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/FieldLink.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/FieldLink.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/FieldPermissions.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/FieldPermissions.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/FieldType.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/FieldType.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/OnDelete.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/OnDelete.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/ProjectInfo.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/ProjectInfo.js.map +1 -1
- package/dist/development/src/lib/project/docs/projectDescribe.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/projectDescribe.js.map +1 -1
- package/dist/development/src/lib/schema/SchemaLoader.cjs +5 -5
- package/dist/development/src/lib/schema/SchemaLoader.cjs.map +1 -1
- package/dist/development/src/lib/schema/SchemaLoader.js.map +1 -1
- package/dist/development/src/lib/schema/SchemaValidationHelper.cjs.map +1 -1
- package/dist/development/src/lib/schema/SchemaValidationHelper.js.map +1 -1
- package/dist/development/src/lib/tenant/TenantClient.cjs +75 -12
- package/dist/development/src/lib/tenant/TenantClient.cjs.map +1 -1
- package/dist/development/src/lib/tenant/TenantClient.js +75 -12
- package/dist/development/src/lib/tenant/TenantClient.js.map +1 -1
- package/dist/development/src/lib/tenant/TenantConfigApplier.cjs +55 -0
- package/dist/development/src/lib/tenant/TenantConfigApplier.cjs.map +1 -0
- package/dist/development/src/lib/tenant/TenantConfigApplier.js +55 -0
- package/dist/development/src/lib/tenant/TenantConfigApplier.js.map +1 -0
- package/dist/development/src/lib/tenant/TenantConfigLoader.cjs +32 -0
- package/dist/development/src/lib/tenant/TenantConfigLoader.cjs.map +1 -0
- package/dist/development/src/lib/tenant/TenantConfigLoader.js +32 -0
- package/dist/development/src/lib/tenant/TenantConfigLoader.js.map +1 -0
- package/dist/development/src/lib/tenant/tenantConfig.cjs +5 -0
- package/dist/development/src/lib/tenant/tenantConfig.cjs.map +1 -0
- package/dist/development/src/lib/tenant/tenantConfig.js +5 -0
- package/dist/development/src/lib/tenant/tenantConfig.js.map +1 -0
- package/dist/development/src/lib/transfer/DataTransferClient.cjs.map +1 -1
- package/dist/development/src/lib/transfer/DataTransferClient.js.map +1 -1
- package/dist/development/src/lib/workspace/WorkspaceResolver.cjs +6 -6
- package/dist/development/src/lib/workspace/WorkspaceResolver.cjs.map +1 -1
- package/dist/development/src/lib/workspace/WorkspaceResolver.js.map +1 -1
- package/dist/production/index.cjs +5 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +5 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/run.cjs +3 -3
- package/dist/production/run.cjs.map +1 -1
- package/dist/production/run.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsGetEventCommand.cjs.map +1 -1
- package/dist/production/src/commands/actions/ActionsGetEventCommand.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.cjs.map +1 -1
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.cjs.map +1 -1
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.cjs.map +1 -1
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.cjs.map +1 -1
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsStopEventCommand.cjs.map +1 -1
- package/dist/production/src/commands/actions/ActionsStopEventCommand.js.map +1 -1
- package/dist/production/src/commands/deploy/DeployCommand.cjs +3 -1
- package/dist/production/src/commands/deploy/DeployCommand.cjs.map +1 -1
- package/dist/production/src/commands/deploy/DeployCommand.js +3 -1
- package/dist/production/src/commands/deploy/DeployCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationAmendCommand.cjs +26 -4
- package/dist/production/src/commands/migrations/MigrationAmendCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationAmendCommand.js +26 -4
- package/dist/production/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationDescribeCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationDescribeCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationDiffCommand.cjs +39 -3
- package/dist/production/src/commands/migrations/MigrationDiffCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationDiffCommand.js +39 -3
- package/dist/production/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationExecuteCommand.cjs +3 -1
- package/dist/production/src/commands/migrations/MigrationExecuteCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationExecuteCommand.js +3 -1
- package/dist/production/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationInitStateCommand.cjs +26 -0
- package/dist/production/src/commands/migrations/MigrationInitStateCommand.cjs.map +1 -0
- package/dist/production/src/commands/migrations/MigrationInitStateCommand.js +26 -0
- package/dist/production/src/commands/migrations/MigrationInitStateCommand.js.map +1 -0
- package/dist/production/src/commands/migrations/MigrationRebaseCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationRebaseCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationSnapshotCommand.cjs +28 -0
- package/dist/production/src/commands/migrations/MigrationSnapshotCommand.cjs.map +1 -0
- package/dist/production/src/commands/migrations/MigrationSnapshotCommand.js +28 -0
- package/dist/production/src/commands/migrations/MigrationSnapshotCommand.js.map +1 -0
- package/dist/production/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationVerifySnapshotCommand.cjs +23 -0
- package/dist/production/src/commands/migrations/MigrationVerifySnapshotCommand.cjs.map +1 -0
- package/dist/production/src/commands/migrations/MigrationVerifySnapshotCommand.js +23 -0
- package/dist/production/src/commands/migrations/MigrationVerifySnapshotCommand.js.map +1 -0
- package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.cjs +2 -2
- package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.cjs.map +1 -1
- package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.js.map +1 -1
- package/dist/production/src/commands/project/ProjectPrintSchemaCommand.cjs.map +1 -1
- package/dist/production/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
- package/dist/production/src/commands/project/ProjectValidateCommand.cjs.map +1 -1
- package/dist/production/src/commands/project/ProjectValidateCommand.js.map +1 -1
- package/dist/production/src/commands/tenant/TenantApplyCommand.cjs +39 -0
- package/dist/production/src/commands/tenant/TenantApplyCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/TenantApplyCommand.js +39 -0
- package/dist/production/src/commands/tenant/TenantApplyCommand.js.map +1 -0
- package/dist/production/src/commands/transfer/ExportCommand.cjs.map +1 -1
- package/dist/production/src/commands/transfer/ExportCommand.js.map +1 -1
- package/dist/production/src/commands/transfer/ImportCommand.cjs.map +1 -1
- package/dist/production/src/commands/transfer/ImportCommand.js.map +1 -1
- package/dist/production/src/commands/transfer/TransferCommand.cjs.map +1 -1
- package/dist/production/src/commands/transfer/TransferCommand.js.map +1 -1
- package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.cjs.map +1 -1
- package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.js.map +1 -1
- package/dist/production/src/consts.cjs +2 -2
- package/dist/production/src/consts.cjs.map +1 -1
- package/dist/production/src/dic.cjs +60 -10
- package/dist/production/src/dic.cjs.map +1 -1
- package/dist/production/src/dic.js +61 -11
- package/dist/production/src/dic.js.map +1 -1
- package/dist/production/src/lib/SystemClientProvider.cjs.map +1 -1
- package/dist/production/src/lib/SystemClientProvider.js.map +1 -1
- package/dist/production/src/lib/TenantClientProvider.cjs.map +1 -1
- package/dist/production/src/lib/TenantClientProvider.js.map +1 -1
- package/dist/production/src/lib/VersionChecker.cjs +2 -2
- package/dist/production/src/lib/VersionChecker.cjs.map +1 -1
- package/dist/production/src/lib/VersionChecker.js.map +1 -1
- package/dist/production/src/lib/admin/AdminClient.cjs.map +1 -1
- package/dist/production/src/lib/admin/AdminClient.js.map +1 -1
- package/dist/production/src/lib/admin/AdminDeployer.cjs.map +1 -1
- package/dist/production/src/lib/admin/AdminDeployer.js.map +1 -1
- package/dist/production/src/lib/fs/DockerComposeManager.cjs +10 -10
- package/dist/production/src/lib/fs/DockerComposeManager.cjs.map +1 -1
- package/dist/production/src/lib/fs/DockerComposeManager.js.map +1 -1
- package/dist/production/src/lib/fs/YamlHandler.cjs.map +1 -1
- package/dist/production/src/lib/fs/YamlHandler.js.map +1 -1
- package/dist/production/src/lib/js/EsBuildBuilder.cjs.map +1 -1
- package/dist/production/src/lib/js/EsBuildBuilder.js.map +1 -1
- package/dist/production/src/lib/js/EvalExecutor.cjs.map +1 -1
- package/dist/production/src/lib/js/EvalExecutor.js.map +1 -1
- package/dist/production/src/lib/js/JsCodeRunner.cjs.map +1 -1
- package/dist/production/src/lib/js/JsCodeRunner.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationExecutionFacade.cjs +78 -18
- package/dist/production/src/lib/migrations/MigrationExecutionFacade.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationExecutionFacade.js +79 -19
- package/dist/production/src/lib/migrations/MigrationExecutionFacade.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationPrinter.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationRebaseFacade.cjs +5 -1
- package/dist/production/src/lib/migrations/MigrationRebaseFacade.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationRebaseFacade.js +5 -1
- package/dist/production/src/lib/migrations/MigrationRebaseFacade.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationSnapshotFacade.cjs +171 -0
- package/dist/production/src/lib/migrations/MigrationSnapshotFacade.cjs.map +1 -0
- package/dist/production/src/lib/migrations/MigrationSnapshotFacade.js +171 -0
- package/dist/production/src/lib/migrations/MigrationSnapshotFacade.js.map +1 -0
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationsValidator.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationsValidator.js.map +1 -1
- package/dist/production/src/lib/project/RemoteProjectProvider.cjs.map +1 -1
- package/dist/production/src/lib/project/RemoteProjectProvider.js.map +1 -1
- package/dist/production/src/lib/project/RemoteProjectResolver.cjs.map +1 -1
- package/dist/production/src/lib/project/RemoteProjectResolver.js.map +1 -1
- package/dist/production/src/lib/project/docs/components/EntityInfo.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/components/EntityInfo.js.map +1 -1
- package/dist/production/src/lib/project/docs/components/EntityLink.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/components/EntityLink.js.map +1 -1
- package/dist/production/src/lib/project/docs/components/FieldLink.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/components/FieldLink.js.map +1 -1
- package/dist/production/src/lib/project/docs/components/FieldPermissions.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/components/FieldPermissions.js.map +1 -1
- package/dist/production/src/lib/project/docs/components/FieldType.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/components/FieldType.js.map +1 -1
- package/dist/production/src/lib/project/docs/components/OnDelete.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/components/OnDelete.js.map +1 -1
- package/dist/production/src/lib/project/docs/components/ProjectInfo.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/components/ProjectInfo.js.map +1 -1
- package/dist/production/src/lib/project/docs/projectDescribe.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/projectDescribe.js.map +1 -1
- package/dist/production/src/lib/schema/SchemaLoader.cjs +5 -5
- package/dist/production/src/lib/schema/SchemaLoader.cjs.map +1 -1
- package/dist/production/src/lib/schema/SchemaLoader.js.map +1 -1
- package/dist/production/src/lib/schema/SchemaValidationHelper.cjs.map +1 -1
- package/dist/production/src/lib/schema/SchemaValidationHelper.js.map +1 -1
- package/dist/production/src/lib/tenant/TenantClient.cjs +75 -12
- package/dist/production/src/lib/tenant/TenantClient.cjs.map +1 -1
- package/dist/production/src/lib/tenant/TenantClient.js +75 -12
- package/dist/production/src/lib/tenant/TenantClient.js.map +1 -1
- package/dist/production/src/lib/tenant/TenantConfigApplier.cjs +55 -0
- package/dist/production/src/lib/tenant/TenantConfigApplier.cjs.map +1 -0
- package/dist/production/src/lib/tenant/TenantConfigApplier.js +55 -0
- package/dist/production/src/lib/tenant/TenantConfigApplier.js.map +1 -0
- package/dist/production/src/lib/tenant/TenantConfigLoader.cjs +32 -0
- package/dist/production/src/lib/tenant/TenantConfigLoader.cjs.map +1 -0
- package/dist/production/src/lib/tenant/TenantConfigLoader.js +32 -0
- package/dist/production/src/lib/tenant/TenantConfigLoader.js.map +1 -0
- package/dist/production/src/lib/tenant/tenantConfig.cjs +5 -0
- package/dist/production/src/lib/tenant/tenantConfig.cjs.map +1 -0
- package/dist/production/src/lib/tenant/tenantConfig.js +5 -0
- package/dist/production/src/lib/tenant/tenantConfig.js.map +1 -0
- package/dist/production/src/lib/transfer/DataTransferClient.cjs.map +1 -1
- package/dist/production/src/lib/transfer/DataTransferClient.js.map +1 -1
- package/dist/production/src/lib/workspace/WorkspaceResolver.cjs +6 -6
- package/dist/production/src/lib/workspace/WorkspaceResolver.cjs.map +1 -1
- package/dist/production/src/lib/workspace/WorkspaceResolver.js.map +1 -1
- package/dist/types/commands/actions/ActionsGetEventCommand.d.ts +1 -1
- package/dist/types/commands/actions/ActionsGetEventCommand.d.ts.map +1 -1
- package/dist/types/commands/actions/ActionsListFailedEventsCommand.d.ts +1 -1
- package/dist/types/commands/actions/ActionsListFailedEventsCommand.d.ts.map +1 -1
- package/dist/types/commands/actions/ActionsListVariablesCommand.d.ts +1 -1
- package/dist/types/commands/actions/ActionsListVariablesCommand.d.ts.map +1 -1
- package/dist/types/commands/actions/ActionsRetryEventCommand.d.ts +1 -1
- package/dist/types/commands/actions/ActionsRetryEventCommand.d.ts.map +1 -1
- package/dist/types/commands/actions/ActionsSetVariablesCommand.d.ts +1 -1
- package/dist/types/commands/actions/ActionsSetVariablesCommand.d.ts.map +1 -1
- package/dist/types/commands/actions/ActionsStopEventCommand.d.ts +1 -1
- package/dist/types/commands/actions/ActionsStopEventCommand.d.ts.map +1 -1
- package/dist/types/commands/deploy/DeployCommand.d.ts +7 -6
- package/dist/types/commands/deploy/DeployCommand.d.ts.map +1 -1
- package/dist/types/commands/deploy/index.d.ts +1 -1
- package/dist/types/commands/deploy/index.d.ts.map +1 -1
- package/dist/types/commands/index.d.ts +6 -5
- package/dist/types/commands/index.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationAmendCommand.d.ts +8 -7
- package/dist/types/commands/migrations/MigrationAmendCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationDescribeCommand.d.ts +1 -1
- package/dist/types/commands/migrations/MigrationDescribeCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationDiffCommand.d.ts +8 -5
- package/dist/types/commands/migrations/MigrationDiffCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationExecuteCommand.d.ts +2 -1
- package/dist/types/commands/migrations/MigrationExecuteCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationInitStateCommand.d.ts +14 -0
- package/dist/types/commands/migrations/MigrationInitStateCommand.d.ts.map +1 -0
- package/dist/types/commands/migrations/MigrationRebaseCommand.d.ts +1 -1
- package/dist/types/commands/migrations/MigrationRebaseCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationSnapshotCommand.d.ts +12 -0
- package/dist/types/commands/migrations/MigrationSnapshotCommand.d.ts.map +1 -0
- package/dist/types/commands/migrations/MigrationStatusCommand.d.ts +3 -3
- package/dist/types/commands/migrations/MigrationStatusCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationVerifySnapshotCommand.d.ts +12 -0
- package/dist/types/commands/migrations/MigrationVerifySnapshotCommand.d.ts.map +1 -0
- package/dist/types/commands/migrations/index.d.ts +10 -7
- package/dist/types/commands/migrations/index.d.ts.map +1 -1
- package/dist/types/commands/misc/index.d.ts +1 -1
- package/dist/types/commands/misc/index.d.ts.map +1 -1
- package/dist/types/commands/project/ProjectGenerateDocumentationCommand.d.ts +1 -1
- package/dist/types/commands/project/ProjectGenerateDocumentationCommand.d.ts.map +1 -1
- package/dist/types/commands/project/ProjectPrintSchemaCommand.d.ts +1 -1
- package/dist/types/commands/project/ProjectPrintSchemaCommand.d.ts.map +1 -1
- package/dist/types/commands/project/ProjectValidateCommand.d.ts +2 -2
- package/dist/types/commands/project/ProjectValidateCommand.d.ts.map +1 -1
- package/dist/types/commands/project/index.d.ts +3 -3
- package/dist/types/commands/project/index.d.ts.map +1 -1
- package/dist/types/commands/tenant/TenantApplyCommand.d.ts +21 -0
- package/dist/types/commands/tenant/TenantApplyCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/index.d.ts +2 -0
- package/dist/types/commands/tenant/index.d.ts.map +1 -0
- package/dist/types/commands/transfer/ExportCommand.d.ts +2 -2
- package/dist/types/commands/transfer/ExportCommand.d.ts.map +1 -1
- package/dist/types/commands/transfer/ImportCommand.d.ts +2 -2
- package/dist/types/commands/transfer/ImportCommand.d.ts.map +1 -1
- package/dist/types/commands/transfer/TransferCommand.d.ts +2 -2
- package/dist/types/commands/transfer/TransferCommand.d.ts.map +1 -1
- package/dist/types/commands/transfer/index.d.ts +3 -3
- package/dist/types/commands/transfer/index.d.ts.map +1 -1
- package/dist/types/commands/workspace/WorkspaceUpdateApiCommand.d.ts +1 -1
- package/dist/types/commands/workspace/WorkspaceUpdateApiCommand.d.ts.map +1 -1
- package/dist/types/commands/workspace/index.d.ts +1 -1
- package/dist/types/commands/workspace/index.d.ts.map +1 -1
- package/dist/types/dic.d.ts +54 -32
- package/dist/types/dic.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lib/SystemClientProvider.d.ts +1 -1
- package/dist/types/lib/SystemClientProvider.d.ts.map +1 -1
- package/dist/types/lib/TenantClientProvider.d.ts +2 -2
- package/dist/types/lib/TenantClientProvider.d.ts.map +1 -1
- package/dist/types/lib/VersionChecker.d.ts +1 -1
- package/dist/types/lib/VersionChecker.d.ts.map +1 -1
- package/dist/types/lib/admin/AdminClient.d.ts +1 -1
- package/dist/types/lib/admin/AdminClient.d.ts.map +1 -1
- package/dist/types/lib/admin/AdminDeployer.d.ts +3 -3
- package/dist/types/lib/admin/AdminDeployer.d.ts.map +1 -1
- package/dist/types/lib/fs/DockerComposeManager.d.ts +2 -2
- package/dist/types/lib/fs/DockerComposeManager.d.ts.map +1 -1
- package/dist/types/lib/fs/YamlHandler.d.ts +2 -2
- package/dist/types/lib/fs/YamlHandler.d.ts.map +1 -1
- package/dist/types/lib/js/EsBuildBuilder.d.ts +1 -1
- package/dist/types/lib/js/EsBuildBuilder.d.ts.map +1 -1
- package/dist/types/lib/js/EvalExecutor.d.ts +1 -1
- package/dist/types/lib/js/EvalExecutor.d.ts.map +1 -1
- package/dist/types/lib/js/JsCodeRunner.d.ts +2 -2
- package/dist/types/lib/js/JsCodeRunner.d.ts.map +1 -1
- package/dist/types/lib/migrations/MigrationExecutionFacade.d.ts +13 -8
- package/dist/types/lib/migrations/MigrationExecutionFacade.d.ts.map +1 -1
- package/dist/types/lib/migrations/MigrationRebaseFacade.d.ts +5 -4
- package/dist/types/lib/migrations/MigrationRebaseFacade.d.ts.map +1 -1
- package/dist/types/lib/migrations/MigrationSnapshotFacade.d.ts +28 -0
- package/dist/types/lib/migrations/MigrationSnapshotFacade.d.ts.map +1 -0
- package/dist/types/lib/migrations/MigrationsStatusFacade.d.ts +2 -2
- package/dist/types/lib/migrations/MigrationsStatusFacade.d.ts.map +1 -1
- package/dist/types/lib/project/RemoteProjectProvider.d.ts +1 -1
- package/dist/types/lib/project/RemoteProjectProvider.d.ts.map +1 -1
- package/dist/types/lib/project/RemoteProjectResolver.d.ts +2 -2
- package/dist/types/lib/project/RemoteProjectResolver.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/EntityInfo.d.ts +1 -1
- package/dist/types/lib/project/docs/components/EntityInfo.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/OnDelete.d.ts +1 -1
- package/dist/types/lib/project/docs/components/OnDelete.d.ts.map +1 -1
- package/dist/types/lib/schema/SchemaLoader.d.ts +2 -2
- package/dist/types/lib/schema/SchemaLoader.d.ts.map +1 -1
- package/dist/types/lib/tenant/TenantClient.d.ts +15 -0
- package/dist/types/lib/tenant/TenantClient.d.ts.map +1 -1
- package/dist/types/lib/tenant/TenantConfigApplier.d.ts +18 -0
- package/dist/types/lib/tenant/TenantConfigApplier.d.ts.map +1 -0
- package/dist/types/lib/tenant/TenantConfigLoader.d.ts +16 -0
- package/dist/types/lib/tenant/TenantConfigLoader.d.ts.map +1 -0
- package/dist/types/lib/tenant/tenantConfig.d.ts +74 -0
- package/dist/types/lib/tenant/tenantConfig.d.ts.map +1 -0
- package/dist/types/lib/transfer/DataTransferClient.d.ts +1 -1
- package/dist/types/lib/transfer/DataTransferClient.d.ts.map +1 -1
- package/dist/types/lib/workspace/WorkspaceResolver.d.ts +2 -2
- package/dist/types/lib/workspace/WorkspaceResolver.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +33 -15
- package/src/commands/actions/ActionsGetEventCommand.ts +2 -2
- package/src/commands/actions/ActionsListFailedEventsCommand.ts +2 -2
- package/src/commands/actions/ActionsListVariablesCommand.ts +2 -2
- package/src/commands/actions/ActionsRetryEventCommand.ts +2 -2
- package/src/commands/actions/ActionsSetVariablesCommand.ts +2 -2
- package/src/commands/actions/ActionsStopEventCommand.ts +2 -2
- package/src/commands/deploy/DeployCommand.ts +13 -8
- package/src/commands/deploy/index.ts +1 -1
- package/src/commands/index.ts +6 -5
- package/src/commands/migrations/MigrationAmendCommand.ts +38 -10
- package/src/commands/migrations/MigrationDescribeCommand.ts +1 -1
- package/src/commands/migrations/MigrationDiffCommand.ts +50 -6
- package/src/commands/migrations/MigrationExecuteCommand.ts +6 -1
- package/src/commands/migrations/MigrationInitStateCommand.ts +34 -0
- package/src/commands/migrations/MigrationRebaseCommand.ts +1 -1
- package/src/commands/migrations/MigrationSnapshotCommand.ts +34 -0
- package/src/commands/migrations/MigrationStatusCommand.ts +3 -3
- package/src/commands/migrations/MigrationVerifySnapshotCommand.ts +28 -0
- package/src/commands/migrations/index.ts +10 -7
- package/src/commands/misc/index.ts +1 -1
- package/src/commands/project/ProjectGenerateDocumentationCommand.ts +3 -3
- package/src/commands/project/ProjectPrintSchemaCommand.ts +2 -2
- package/src/commands/project/ProjectValidateCommand.ts +3 -3
- package/src/commands/project/index.ts +3 -3
- package/src/commands/tenant/TenantApplyCommand.ts +57 -0
- package/src/commands/tenant/index.ts +1 -0
- package/src/commands/transfer/ExportCommand.ts +4 -4
- package/src/commands/transfer/ImportCommand.ts +6 -6
- package/src/commands/transfer/TransferCommand.ts +6 -6
- package/src/commands/transfer/index.ts +3 -3
- package/src/commands/workspace/WorkspaceUpdateApiCommand.ts +2 -2
- package/src/commands/workspace/index.ts +1 -1
- package/src/dic.ts +103 -37
- package/src/index.ts +1 -0
- package/src/lib/SystemClientProvider.ts +1 -1
- package/src/lib/TenantClientProvider.ts +2 -2
- package/src/lib/VersionChecker.ts +2 -2
- package/src/lib/admin/AdminClient.ts +2 -2
- package/src/lib/admin/AdminDeployer.ts +3 -3
- package/src/lib/fs/DockerComposeManager.ts +2 -2
- package/src/lib/fs/YamlHandler.ts +2 -2
- package/src/lib/js/EsBuildBuilder.ts +1 -1
- package/src/lib/js/EvalExecutor.ts +1 -1
- package/src/lib/js/JsCodeRunner.ts +2 -2
- package/src/lib/migrations/MigrationExecutionFacade.ts +117 -23
- package/src/lib/migrations/MigrationPrinter.ts +1 -1
- package/src/lib/migrations/MigrationRebaseFacade.ts +10 -3
- package/src/lib/migrations/MigrationSnapshotFacade.ts +218 -0
- package/src/lib/migrations/MigrationsStatusFacade.ts +2 -2
- package/src/lib/migrations/MigrationsValidator.ts +1 -1
- package/src/lib/project/RemoteProjectProvider.ts +1 -1
- package/src/lib/project/RemoteProjectResolver.ts +3 -3
- package/src/lib/project/docs/components/EntityInfo.tsx +6 -6
- package/src/lib/project/docs/components/EntityLink.tsx +1 -1
- package/src/lib/project/docs/components/FieldLink.tsx +2 -2
- package/src/lib/project/docs/components/FieldPermissions.tsx +1 -1
- package/src/lib/project/docs/components/FieldType.tsx +2 -2
- package/src/lib/project/docs/components/OnDelete.tsx +3 -3
- package/src/lib/project/docs/components/ProjectInfo.tsx +3 -3
- package/src/lib/project/docs/projectDescribe.tsx +2 -2
- package/src/lib/schema/SchemaLoader.ts +2 -2
- package/src/lib/schema/SchemaValidationHelper.ts +1 -1
- package/src/lib/tenant/TenantClient.ts +123 -14
- package/src/lib/tenant/TenantConfigApplier.ts +72 -0
- package/src/lib/tenant/TenantConfigLoader.ts +41 -0
- package/src/lib/tenant/tenantConfig.ts +101 -0
- package/src/lib/transfer/DataTransferClient.ts +2 -2
- package/src/lib/workspace/WorkspaceResolver.ts +2 -2
- package/src/run.ts +6 -6
- package/src/tsconfig.json +1 -0
- package/tenant.config.example.ts +64 -0
- package/tests/cases/unit/MigrationAmendCommand.test.ts +156 -0
- package/tests/cases/unit/MigrationExecutionFacade.test.ts +81 -0
- package/tests/cases/unit/MigrationRebaseFacade.test.ts +87 -0
- package/tests/cases/unit/MigrationSnapshotFacade.test.ts +243 -0
- package/tests/tenantConfigApplier.test.ts +87 -0
package/CLAUDE.md
CHANGED
|
@@ -6,7 +6,9 @@ Command-line interface for Contember project management. 22 commands for deploym
|
|
|
6
6
|
|
|
7
7
|
**Deploy**: `deploy` — deploy with migrations + admin
|
|
8
8
|
|
|
9
|
-
**Migrations** (
|
|
9
|
+
**Migrations** (10): `migrations:diff`, `migrations:amend`, `migrations:blank`, `migrations:describe`, `migrations:execute`, `migrations:rebase`, `migrations:status`, `migrations:init-state`, `migrations:snapshot`, `migrations:verify-snapshot`
|
|
10
|
+
|
|
11
|
+
`migrations:snapshot` collapses all migrations into `{migrationsDir}/snapshot.json` (commit it). `migrations:execute` bootstraps an empty DB from it in one step (opt-out `--no-snapshot`); `deploy` ignores it unless `--snapshot`. The server refuses a snapshot on a non-empty project. `migrations:verify-snapshot` offline-checks that the snapshot still equals a full replay. See `MigrationSnapshotFacade` and `engine-system-api` `migrateFromSnapshot`.
|
|
10
12
|
|
|
11
13
|
**Data Transfer** (3): `data:export`, `data:import`, `data:transfer`
|
|
12
14
|
|
|
@@ -14,8 +16,19 @@ Command-line interface for Contember project management. 22 commands for deploym
|
|
|
14
16
|
|
|
15
17
|
**Actions** (6): `actions:list-variables`, `actions:set-variables`, `actions:failed-events`, `actions:get-event`, `actions:retry-event`, `actions:stop-event`
|
|
16
18
|
|
|
19
|
+
**Tenant**: `tenant:apply [config] [--dsn] [--dry-run]` — apply declarative tenant configuration
|
|
20
|
+
|
|
17
21
|
**Other**: `workspace:update:api`, `version`
|
|
18
22
|
|
|
23
|
+
## Tenant configuration
|
|
24
|
+
|
|
25
|
+
`tenant:apply` reads a typed `tenant.config.ts` (path overridable via the first arg, default `tenant.config.ts`) and applies it idempotently to the tenant API:
|
|
26
|
+
- `config` → `configure` mutation (partial merge of password/login/passwordless/captcha/rateLimits)
|
|
27
|
+
- `identityProviders` (keyed by slug) → `addIDP`/`updateIDP` chosen from current state, then `enableIDP`/`disableIDP` to match `disabled`
|
|
28
|
+
- `mailTemplates` → `addMailTemplate` (server-side upsert)
|
|
29
|
+
|
|
30
|
+
Nothing is ever removed (no pruning). Authored with `defineTenantConfig` from the library export of `@contember/cli` (`src/index.ts`). Secrets come from `process.env` in the config file. Requires a token with **PROJECT_ADMIN/SUPER_ADMIN** privileges — a deploy-only (ENTRYPOINT_DEPLOYER) token is rejected by the API. Orchestration lives in `lib/tenant/` (`TenantClient`, `TenantConfigLoader`, `TenantConfigApplier`); no new server-side API was needed.
|
|
31
|
+
|
|
19
32
|
## Connection
|
|
20
33
|
|
|
21
34
|
Connects via DSN (`contember://project:token@endpoint`) or env vars:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/development/run.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
const
|
|
3
|
+
const path = require("node:path");
|
|
4
4
|
const consts = require("./src/consts.cjs");
|
|
5
5
|
const dic = require("./src/dic.cjs");
|
|
6
6
|
const env = require("./src/lib/env.cjs");
|
|
@@ -8,13 +8,13 @@ const WorkspaceResolver = require("./src/lib/workspace/WorkspaceResolver.cjs");
|
|
|
8
8
|
const YamlHandler = require("./src/lib/fs/YamlHandler.cjs");
|
|
9
9
|
const FileSystem = require("./src/lib/fs/FileSystem.cjs");
|
|
10
10
|
(async () => {
|
|
11
|
-
const version = require(
|
|
11
|
+
const version = require(path.join(consts.packageRoot, "package.json")).version;
|
|
12
12
|
const nodeVersion = process.version.match(/^v?(\d+)\..+$/);
|
|
13
13
|
if (nodeVersion && Number(nodeVersion[1]) < 18) {
|
|
14
14
|
throw `Node >= 18 is required`;
|
|
15
15
|
}
|
|
16
16
|
const env$1 = env.readCliEnv();
|
|
17
|
-
const dir = env$1.dir ?
|
|
17
|
+
const dir = env$1.dir ? path.resolve(env$1.dir) : process.cwd();
|
|
18
18
|
const workspaceResolver = new WorkspaceResolver.WorkspaceResolver(new YamlHandler.YamlHandler(new FileSystem.FileSystem()));
|
|
19
19
|
const workspace = await workspaceResolver.resolve(dir);
|
|
20
20
|
const dic$1 = dic.createContainer({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.cjs","sources":["../../../packages/cli/src/run.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { join, resolve } from 'node:path'\nimport { packageRoot } from './consts'\nimport { createContainer } from './dic'\nimport { readCliEnv } from './lib/env'\nimport { WorkspaceResolver } from './lib/workspace/WorkspaceResolver'\nimport { YamlHandler } from './lib/fs/YamlHandler'\nimport { FileSystem } from './lib/fs/FileSystem'\n;(async () => {\n\tconst version = require(join(packageRoot, 'package.json')).version\n\tconst nodeVersion = process.version.match(/^v?(\\d+)\\..+$/)\n\tif (nodeVersion && Number(nodeVersion[1]) < 18) {\n\t\tthrow `Node >= 18 is required`\n\t}\n\tconst env = readCliEnv()\n\tconst dir = env.dir ? resolve(env.dir) : process.cwd()\n\tconst workspaceResolver = new WorkspaceResolver(new YamlHandler(new FileSystem()))\n\tconst workspace = await workspaceResolver.resolve(dir)\n\tconst dic = createContainer({\n\t\tversion,\n\t\tworkspace,\n\t\tenv: env,\n\t\truntime: process.title === 'bun' ? 'bun' : 'node',\n\t})\n\n\tawait dic.application.run(process.argv.slice(2))\n})().catch(e => {\n\tconsole.log(e)\n\tprocess.exit(1)\n})\n"],"names":["join","packageRoot","env","readCliEnv","resolve","WorkspaceResolver","YamlHandler","FileSystem","dic","createContainer"],"mappings":";;;;;;;;;CAQE,YAAY;AACb,QAAM,UAAU,QAAQA,
|
|
1
|
+
{"version":3,"file":"run.cjs","sources":["../../../packages/cli/src/run.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { join, resolve } from 'node:path'\nimport { packageRoot } from './consts.js'\nimport { createContainer } from './dic.js'\nimport { readCliEnv } from './lib/env.js'\nimport { WorkspaceResolver } from './lib/workspace/WorkspaceResolver.js'\nimport { YamlHandler } from './lib/fs/YamlHandler.js'\nimport { FileSystem } from './lib/fs/FileSystem.js'\n;(async () => {\n\tconst version = require(join(packageRoot, 'package.json')).version\n\tconst nodeVersion = process.version.match(/^v?(\\d+)\\..+$/)\n\tif (nodeVersion && Number(nodeVersion[1]) < 18) {\n\t\tthrow `Node >= 18 is required`\n\t}\n\tconst env = readCliEnv()\n\tconst dir = env.dir ? resolve(env.dir) : process.cwd()\n\tconst workspaceResolver = new WorkspaceResolver(new YamlHandler(new FileSystem()))\n\tconst workspace = await workspaceResolver.resolve(dir)\n\tconst dic = createContainer({\n\t\tversion,\n\t\tworkspace,\n\t\tenv: env,\n\t\truntime: process.title === 'bun' ? 'bun' : 'node',\n\t})\n\n\tawait dic.application.run(process.argv.slice(2))\n})().catch(e => {\n\tconsole.log(e)\n\tprocess.exit(1)\n})\n"],"names":["join","packageRoot","env","readCliEnv","resolve","WorkspaceResolver","YamlHandler","FileSystem","dic","createContainer"],"mappings":";;;;;;;;;CAQE,YAAY;AACb,QAAM,UAAU,QAAQA,KAAAA,KAAKC,OAAAA,aAAa,cAAc,CAAC,EAAE;AAC3D,QAAM,cAAc,QAAQ,QAAQ,MAAM,eAAe;AACzD,MAAI,eAAe,OAAO,YAAY,CAAC,CAAC,IAAI,IAAI;AAC/C,UAAM;AAAA,EACP;AACA,QAAMC,QAAMC,IAAAA,WAAA;AACZ,QAAM,MAAMD,MAAI,MAAME,KAAAA,QAAQF,MAAI,GAAG,IAAI,QAAQ,IAAA;AACjD,QAAM,oBAAoB,IAAIG,kBAAAA,kBAAkB,IAAIC,YAAAA,YAAY,IAAIC,WAAAA,WAAA,CAAY,CAAC;AACjF,QAAM,YAAY,MAAM,kBAAkB,QAAQ,GAAG;AACrD,QAAMC,QAAMC,IAAAA,gBAAgB;AAAA,IAC3B;AAAA,IACA;AAAA,IAAA,KACAP;AAAAA,IACA,SAAS,QAAQ,UAAU,QAAQ,QAAQ;AAAA,EAAA,CAC3C;AAED,QAAMM,MAAI,YAAY,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC;AAChD,KAAK,MAAM,CAAA,MAAK;AACf,UAAQ,IAAI,CAAC;AACb,UAAQ,KAAK,CAAC;AACf,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sources":["../../../packages/cli/src/run.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { join, resolve } from 'node:path'\nimport { packageRoot } from './consts'\nimport { createContainer } from './dic'\nimport { readCliEnv } from './lib/env'\nimport { WorkspaceResolver } from './lib/workspace/WorkspaceResolver'\nimport { YamlHandler } from './lib/fs/YamlHandler'\nimport { FileSystem } from './lib/fs/FileSystem'\n;(async () => {\n\tconst version = require(join(packageRoot, 'package.json')).version\n\tconst nodeVersion = process.version.match(/^v?(\\d+)\\..+$/)\n\tif (nodeVersion && Number(nodeVersion[1]) < 18) {\n\t\tthrow `Node >= 18 is required`\n\t}\n\tconst env = readCliEnv()\n\tconst dir = env.dir ? resolve(env.dir) : process.cwd()\n\tconst workspaceResolver = new WorkspaceResolver(new YamlHandler(new FileSystem()))\n\tconst workspace = await workspaceResolver.resolve(dir)\n\tconst dic = createContainer({\n\t\tversion,\n\t\tworkspace,\n\t\tenv: env,\n\t\truntime: process.title === 'bun' ? 'bun' : 'node',\n\t})\n\n\tawait dic.application.run(process.argv.slice(2))\n})().catch(e => {\n\tconsole.log(e)\n\tprocess.exit(1)\n})\n"],"names":[],"mappings":";;;;;;;;CAQE,YAAY;AACb,QAAM,UAAU,QAAQ,KAAK,aAAa,cAAc,CAAC,EAAE;AAC3D,QAAM,cAAc,QAAQ,QAAQ,MAAM,eAAe;AACzD,MAAI,eAAe,OAAO,YAAY,CAAC,CAAC,IAAI,IAAI;AAC/C,UAAM;AAAA,EACP;AACA,QAAM,MAAM,WAAA;AACZ,QAAM,MAAM,IAAI,MAAM,QAAQ,IAAI,GAAG,IAAI,QAAQ,IAAA;AACjD,QAAM,oBAAoB,IAAI,kBAAkB,IAAI,YAAY,IAAI,WAAA,CAAY,CAAC;AACjF,QAAM,YAAY,MAAM,kBAAkB,QAAQ,GAAG;AACrD,QAAM,MAAM,gBAAgB;AAAA,IAC3B;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,QAAQ,UAAU,QAAQ,QAAQ;AAAA,EAAA,CAC3C;AAED,QAAM,IAAI,YAAY,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC;AAChD,KAAK,MAAM,CAAA,MAAK;AACf,UAAQ,IAAI,CAAC;AACb,UAAQ,KAAK,CAAC;AACf,CAAC;"}
|
|
1
|
+
{"version":3,"file":"run.js","sources":["../../../packages/cli/src/run.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { join, resolve } from 'node:path'\nimport { packageRoot } from './consts.js'\nimport { createContainer } from './dic.js'\nimport { readCliEnv } from './lib/env.js'\nimport { WorkspaceResolver } from './lib/workspace/WorkspaceResolver.js'\nimport { YamlHandler } from './lib/fs/YamlHandler.js'\nimport { FileSystem } from './lib/fs/FileSystem.js'\n;(async () => {\n\tconst version = require(join(packageRoot, 'package.json')).version\n\tconst nodeVersion = process.version.match(/^v?(\\d+)\\..+$/)\n\tif (nodeVersion && Number(nodeVersion[1]) < 18) {\n\t\tthrow `Node >= 18 is required`\n\t}\n\tconst env = readCliEnv()\n\tconst dir = env.dir ? resolve(env.dir) : process.cwd()\n\tconst workspaceResolver = new WorkspaceResolver(new YamlHandler(new FileSystem()))\n\tconst workspace = await workspaceResolver.resolve(dir)\n\tconst dic = createContainer({\n\t\tversion,\n\t\tworkspace,\n\t\tenv: env,\n\t\truntime: process.title === 'bun' ? 'bun' : 'node',\n\t})\n\n\tawait dic.application.run(process.argv.slice(2))\n})().catch(e => {\n\tconsole.log(e)\n\tprocess.exit(1)\n})\n"],"names":[],"mappings":";;;;;;;;CAQE,YAAY;AACb,QAAM,UAAU,QAAQ,KAAK,aAAa,cAAc,CAAC,EAAE;AAC3D,QAAM,cAAc,QAAQ,QAAQ,MAAM,eAAe;AACzD,MAAI,eAAe,OAAO,YAAY,CAAC,CAAC,IAAI,IAAI;AAC/C,UAAM;AAAA,EACP;AACA,QAAM,MAAM,WAAA;AACZ,QAAM,MAAM,IAAI,MAAM,QAAQ,IAAI,GAAG,IAAI,QAAQ,IAAA;AACjD,QAAM,oBAAoB,IAAI,kBAAkB,IAAI,YAAY,IAAI,WAAA,CAAY,CAAC;AACjF,QAAM,YAAY,MAAM,kBAAkB,QAAQ,GAAG;AACrD,QAAM,MAAM,gBAAgB;AAAA,IAC3B;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,QAAQ,UAAU,QAAQ,QAAQ;AAAA,EAAA,CAC3C;AAED,QAAM,IAAI,YAAY,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC;AAChD,KAAK,MAAM,CAAA,MAAK;AACf,UAAQ,IAAI,CAAC;AACb,UAAQ,KAAK,CAAC;AACf,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsGetEventCommand.cjs","sources":["../../../../../../packages/cli/src/commands/actions/ActionsGetEventCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { ActionsClient } from '../../lib/actions/ActionsClient'\n\ntype Args = {\n\teventId: string\n}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsGetEventCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Get single event')\n\t\tconfiguration.argument('eventId')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.getEvent(input.getArgument('eventId'))\n\t\tif (!result) {\n\t\t\tconsole.log('Event not found')\n\t\t\treturn 1\n\t\t}\n\t\tconsole.log(JSON.stringify(result, null, 2))\n\t}\n}\n"],"names":["Command","ActionsClient"],"mappings":";;;;AAYO,MAAM,+BAA+BA,UAAAA,QAAuB;AAAA,EAClE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kBAAkB;AAC5C,kBAAc,SAAS,SAAS;AAChC,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAMC,4BAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,SAAS,MAAM,YAAY,SAAS,CAAC;AAC9D,QAAI,CAAC,QAAQ;AACZ,cAAQ,IAAI,iBAAiB;AAC7B,aAAO;AAAA,IACR;AACA,YAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAAA,EAC5C;AACD;;"}
|
|
1
|
+
{"version":3,"file":"ActionsGetEventCommand.cjs","sources":["../../../../../../packages/cli/src/commands/actions/ActionsGetEventCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\nimport { ActionsClient } from '../../lib/actions/ActionsClient.js'\n\ntype Args = {\n\teventId: string\n}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsGetEventCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Get single event')\n\t\tconfiguration.argument('eventId')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.getEvent(input.getArgument('eventId'))\n\t\tif (!result) {\n\t\t\tconsole.log('Event not found')\n\t\t\treturn 1\n\t\t}\n\t\tconsole.log(JSON.stringify(result, null, 2))\n\t}\n}\n"],"names":["Command","ActionsClient"],"mappings":";;;;AAYO,MAAM,+BAA+BA,UAAAA,QAAuB;AAAA,EAClE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kBAAkB;AAC5C,kBAAc,SAAS,SAAS;AAChC,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAMC,4BAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,SAAS,MAAM,YAAY,SAAS,CAAC;AAC9D,QAAI,CAAC,QAAQ;AACZ,cAAQ,IAAI,iBAAiB;AAC7B,aAAO;AAAA,IACR;AACA,YAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAAA,EAC5C;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsGetEventCommand.js","sources":["../../../../../../packages/cli/src/commands/actions/ActionsGetEventCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { ActionsClient } from '../../lib/actions/ActionsClient'\n\ntype Args = {\n\teventId: string\n}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsGetEventCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Get single event')\n\t\tconfiguration.argument('eventId')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.getEvent(input.getArgument('eventId'))\n\t\tif (!result) {\n\t\t\tconsole.log('Event not found')\n\t\t\treturn 1\n\t\t}\n\t\tconsole.log(JSON.stringify(result, null, 2))\n\t}\n}\n"],"names":[],"mappings":";;AAYO,MAAM,+BAA+B,QAAuB;AAAA,EAClE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kBAAkB;AAC5C,kBAAc,SAAS,SAAS;AAChC,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAM,cAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,SAAS,MAAM,YAAY,SAAS,CAAC;AAC9D,QAAI,CAAC,QAAQ;AACZ,cAAQ,IAAI,iBAAiB;AAC7B,aAAO;AAAA,IACR;AACA,YAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAAA,EAC5C;AACD;"}
|
|
1
|
+
{"version":3,"file":"ActionsGetEventCommand.js","sources":["../../../../../../packages/cli/src/commands/actions/ActionsGetEventCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\nimport { ActionsClient } from '../../lib/actions/ActionsClient.js'\n\ntype Args = {\n\teventId: string\n}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsGetEventCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Get single event')\n\t\tconfiguration.argument('eventId')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.getEvent(input.getArgument('eventId'))\n\t\tif (!result) {\n\t\t\tconsole.log('Event not found')\n\t\t\treturn 1\n\t\t}\n\t\tconsole.log(JSON.stringify(result, null, 2))\n\t}\n}\n"],"names":[],"mappings":";;AAYO,MAAM,+BAA+B,QAAuB;AAAA,EAClE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kBAAkB;AAC5C,kBAAc,SAAS,SAAS;AAChC,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAM,cAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,SAAS,MAAM,YAAY,SAAS,CAAC;AAC9D,QAAI,CAAC,QAAQ;AACZ,cAAQ,IAAI,iBAAiB;AAC7B,aAAO;AAAA,IACR;AACA,YAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAAA,EAC5C;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsListFailedEventsCommand.cjs","sources":["../../../../../../packages/cli/src/commands/actions/ActionsListFailedEventsCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { ActionsClient } from '../../lib/actions/ActionsClient'\nimport chalkTable from 'chalk-table'\ntype Args = {}\n\ntype Options = {\n\tproject?: string\n\tjson?: boolean\n}\n\nexport class ActionsListFailedEventsCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Show failed events')\n\t\tconfiguration.option('project').valueRequired()\n\t\tconfiguration.option('json').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.listFailedEvents()\n\t\tif (input.getOption('json')) {\n\t\t\tconsole.log(JSON.stringify(result, null, 2))\n\t\t\treturn\n\t\t}\n\t\tif (result.length === 0) {\n\t\t\tconsole.log('No failed events')\n\t\t\treturn\n\t\t}\n\t\tconst table = chalkTable(\n\t\t\t{\n\t\t\t\tcolumns: [\n\t\t\t\t\t{ field: 'id', name: 'ID' },\n\t\t\t\t\t{ field: 'createdAt', name: 'Created at' },\n\t\t\t\t\t{ field: 'lastStateChange', name: 'Last state change' },\n\t\t\t\t\t{ field: 'visibleAt', name: 'Visible at' },\n\t\t\t\t\t{ field: 'numRetries', name: 'Retries' },\n\t\t\t\t\t{ field: 'state', name: 'State' },\n\t\t\t\t\t{ field: 'target', name: 'Target' },\n\t\t\t\t\t{ field: 'log', name: 'Log' },\n\t\t\t\t],\n\t\t\t},\n\t\t\tresult.map(it => ({\n\t\t\t\tid: it.id,\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tlastStateChange: it.lastStateChange,\n\t\t\t\tvisibleAt: it.visibleAt || '',\n\t\t\t\tnumRetries: it.numRetries.toString(),\n\t\t\t\tstate: it.state,\n\t\t\t\ttarget: it.target,\n\t\t\t\tlog: JSON.stringify(it.log.length > 0 ? it.log[it.log.length - 1] : {}),\n\t\t\t})),\n\t\t)\n\t\tconsole.log(table)\n\t}\n}\n"],"names":["Command","ActionsClient"],"mappings":";;;;;AAWO,MAAM,uCAAuCA,UAAAA,QAAuB;AAAA,EAC1E,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,oBAAoB;AAC9C,kBAAc,OAAO,SAAS,EAAE,cAAA;AAChC,kBAAc,OAAO,MAAM,EAAE,UAAA;AAAA,EAC9B;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAMC,4BAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,iBAAA;AACzB,QAAI,MAAM,UAAU,MAAM,GAAG;AAC5B,cAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAC3C;AAAA,IACD;AACA,QAAI,OAAO,WAAW,GAAG;AACxB,cAAQ,IAAI,kBAAkB;AAC9B;AAAA,IACD;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,QACC,SAAS;AAAA,UACR,EAAE,OAAO,MAAM,MAAM,KAAA;AAAA,UACrB,EAAE,OAAO,aAAa,MAAM,aAAA;AAAA,UAC5B,EAAE,OAAO,mBAAmB,MAAM,oBAAA;AAAA,UAClC,EAAE,OAAO,aAAa,MAAM,aAAA;AAAA,UAC5B,EAAE,OAAO,cAAc,MAAM,UAAA;AAAA,UAC7B,EAAE,OAAO,SAAS,MAAM,QAAA;AAAA,UACxB,EAAE,OAAO,UAAU,MAAM,SAAA;AAAA,UACzB,EAAE,OAAO,OAAO,MAAM,MAAA;AAAA,QAAM;AAAA,MAC7B;AAAA,MAED,OAAO,IAAI,CAAA,QAAO;AAAA,QACjB,IAAI,GAAG;AAAA,QACP,WAAW,GAAG;AAAA,QACd,iBAAiB,GAAG;AAAA,QACpB,WAAW,GAAG,aAAa;AAAA,QAC3B,YAAY,GAAG,WAAW,SAAA;AAAA,QAC1B,OAAO,GAAG;AAAA,QACV,QAAQ,GAAG;AAAA,QACX,KAAK,KAAK,UAAU,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAA,CAAE;AAAA,MAAA,EACrE;AAAA,IAAA;AAEH,YAAQ,IAAI,KAAK;AAAA,EAClB;AACD;;"}
|
|
1
|
+
{"version":3,"file":"ActionsListFailedEventsCommand.cjs","sources":["../../../../../../packages/cli/src/commands/actions/ActionsListFailedEventsCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\nimport { ActionsClient } from '../../lib/actions/ActionsClient.js'\nimport chalkTable from 'chalk-table'\ntype Args = {}\n\ntype Options = {\n\tproject?: string\n\tjson?: boolean\n}\n\nexport class ActionsListFailedEventsCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Show failed events')\n\t\tconfiguration.option('project').valueRequired()\n\t\tconfiguration.option('json').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.listFailedEvents()\n\t\tif (input.getOption('json')) {\n\t\t\tconsole.log(JSON.stringify(result, null, 2))\n\t\t\treturn\n\t\t}\n\t\tif (result.length === 0) {\n\t\t\tconsole.log('No failed events')\n\t\t\treturn\n\t\t}\n\t\tconst table = chalkTable(\n\t\t\t{\n\t\t\t\tcolumns: [\n\t\t\t\t\t{ field: 'id', name: 'ID' },\n\t\t\t\t\t{ field: 'createdAt', name: 'Created at' },\n\t\t\t\t\t{ field: 'lastStateChange', name: 'Last state change' },\n\t\t\t\t\t{ field: 'visibleAt', name: 'Visible at' },\n\t\t\t\t\t{ field: 'numRetries', name: 'Retries' },\n\t\t\t\t\t{ field: 'state', name: 'State' },\n\t\t\t\t\t{ field: 'target', name: 'Target' },\n\t\t\t\t\t{ field: 'log', name: 'Log' },\n\t\t\t\t],\n\t\t\t},\n\t\t\tresult.map(it => ({\n\t\t\t\tid: it.id,\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tlastStateChange: it.lastStateChange,\n\t\t\t\tvisibleAt: it.visibleAt || '',\n\t\t\t\tnumRetries: it.numRetries.toString(),\n\t\t\t\tstate: it.state,\n\t\t\t\ttarget: it.target,\n\t\t\t\tlog: JSON.stringify(it.log.length > 0 ? it.log[it.log.length - 1] : {}),\n\t\t\t})),\n\t\t)\n\t\tconsole.log(table)\n\t}\n}\n"],"names":["Command","ActionsClient"],"mappings":";;;;;AAWO,MAAM,uCAAuCA,UAAAA,QAAuB;AAAA,EAC1E,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,oBAAoB;AAC9C,kBAAc,OAAO,SAAS,EAAE,cAAA;AAChC,kBAAc,OAAO,MAAM,EAAE,UAAA;AAAA,EAC9B;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAMC,4BAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,iBAAA;AACzB,QAAI,MAAM,UAAU,MAAM,GAAG;AAC5B,cAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAC3C;AAAA,IACD;AACA,QAAI,OAAO,WAAW,GAAG;AACxB,cAAQ,IAAI,kBAAkB;AAC9B;AAAA,IACD;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,QACC,SAAS;AAAA,UACR,EAAE,OAAO,MAAM,MAAM,KAAA;AAAA,UACrB,EAAE,OAAO,aAAa,MAAM,aAAA;AAAA,UAC5B,EAAE,OAAO,mBAAmB,MAAM,oBAAA;AAAA,UAClC,EAAE,OAAO,aAAa,MAAM,aAAA;AAAA,UAC5B,EAAE,OAAO,cAAc,MAAM,UAAA;AAAA,UAC7B,EAAE,OAAO,SAAS,MAAM,QAAA;AAAA,UACxB,EAAE,OAAO,UAAU,MAAM,SAAA;AAAA,UACzB,EAAE,OAAO,OAAO,MAAM,MAAA;AAAA,QAAM;AAAA,MAC7B;AAAA,MAED,OAAO,IAAI,CAAA,QAAO;AAAA,QACjB,IAAI,GAAG;AAAA,QACP,WAAW,GAAG;AAAA,QACd,iBAAiB,GAAG;AAAA,QACpB,WAAW,GAAG,aAAa;AAAA,QAC3B,YAAY,GAAG,WAAW,SAAA;AAAA,QAC1B,OAAO,GAAG;AAAA,QACV,QAAQ,GAAG;AAAA,QACX,KAAK,KAAK,UAAU,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAA,CAAE;AAAA,MAAA,EACrE;AAAA,IAAA;AAEH,YAAQ,IAAI,KAAK;AAAA,EAClB;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsListFailedEventsCommand.js","sources":["../../../../../../packages/cli/src/commands/actions/ActionsListFailedEventsCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { ActionsClient } from '../../lib/actions/ActionsClient'\nimport chalkTable from 'chalk-table'\ntype Args = {}\n\ntype Options = {\n\tproject?: string\n\tjson?: boolean\n}\n\nexport class ActionsListFailedEventsCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Show failed events')\n\t\tconfiguration.option('project').valueRequired()\n\t\tconfiguration.option('json').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.listFailedEvents()\n\t\tif (input.getOption('json')) {\n\t\t\tconsole.log(JSON.stringify(result, null, 2))\n\t\t\treturn\n\t\t}\n\t\tif (result.length === 0) {\n\t\t\tconsole.log('No failed events')\n\t\t\treturn\n\t\t}\n\t\tconst table = chalkTable(\n\t\t\t{\n\t\t\t\tcolumns: [\n\t\t\t\t\t{ field: 'id', name: 'ID' },\n\t\t\t\t\t{ field: 'createdAt', name: 'Created at' },\n\t\t\t\t\t{ field: 'lastStateChange', name: 'Last state change' },\n\t\t\t\t\t{ field: 'visibleAt', name: 'Visible at' },\n\t\t\t\t\t{ field: 'numRetries', name: 'Retries' },\n\t\t\t\t\t{ field: 'state', name: 'State' },\n\t\t\t\t\t{ field: 'target', name: 'Target' },\n\t\t\t\t\t{ field: 'log', name: 'Log' },\n\t\t\t\t],\n\t\t\t},\n\t\t\tresult.map(it => ({\n\t\t\t\tid: it.id,\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tlastStateChange: it.lastStateChange,\n\t\t\t\tvisibleAt: it.visibleAt || '',\n\t\t\t\tnumRetries: it.numRetries.toString(),\n\t\t\t\tstate: it.state,\n\t\t\t\ttarget: it.target,\n\t\t\t\tlog: JSON.stringify(it.log.length > 0 ? it.log[it.log.length - 1] : {}),\n\t\t\t})),\n\t\t)\n\t\tconsole.log(table)\n\t}\n}\n"],"names":[],"mappings":";;;AAWO,MAAM,uCAAuC,QAAuB;AAAA,EAC1E,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,oBAAoB;AAC9C,kBAAc,OAAO,SAAS,EAAE,cAAA;AAChC,kBAAc,OAAO,MAAM,EAAE,UAAA;AAAA,EAC9B;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAM,cAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,iBAAA;AACzB,QAAI,MAAM,UAAU,MAAM,GAAG;AAC5B,cAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAC3C;AAAA,IACD;AACA,QAAI,OAAO,WAAW,GAAG;AACxB,cAAQ,IAAI,kBAAkB;AAC9B;AAAA,IACD;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,QACC,SAAS;AAAA,UACR,EAAE,OAAO,MAAM,MAAM,KAAA;AAAA,UACrB,EAAE,OAAO,aAAa,MAAM,aAAA;AAAA,UAC5B,EAAE,OAAO,mBAAmB,MAAM,oBAAA;AAAA,UAClC,EAAE,OAAO,aAAa,MAAM,aAAA;AAAA,UAC5B,EAAE,OAAO,cAAc,MAAM,UAAA;AAAA,UAC7B,EAAE,OAAO,SAAS,MAAM,QAAA;AAAA,UACxB,EAAE,OAAO,UAAU,MAAM,SAAA;AAAA,UACzB,EAAE,OAAO,OAAO,MAAM,MAAA;AAAA,QAAM;AAAA,MAC7B;AAAA,MAED,OAAO,IAAI,CAAA,QAAO;AAAA,QACjB,IAAI,GAAG;AAAA,QACP,WAAW,GAAG;AAAA,QACd,iBAAiB,GAAG;AAAA,QACpB,WAAW,GAAG,aAAa;AAAA,QAC3B,YAAY,GAAG,WAAW,SAAA;AAAA,QAC1B,OAAO,GAAG;AAAA,QACV,QAAQ,GAAG;AAAA,QACX,KAAK,KAAK,UAAU,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAA,CAAE;AAAA,MAAA,EACrE;AAAA,IAAA;AAEH,YAAQ,IAAI,KAAK;AAAA,EAClB;AACD;"}
|
|
1
|
+
{"version":3,"file":"ActionsListFailedEventsCommand.js","sources":["../../../../../../packages/cli/src/commands/actions/ActionsListFailedEventsCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\nimport { ActionsClient } from '../../lib/actions/ActionsClient.js'\nimport chalkTable from 'chalk-table'\ntype Args = {}\n\ntype Options = {\n\tproject?: string\n\tjson?: boolean\n}\n\nexport class ActionsListFailedEventsCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Show failed events')\n\t\tconfiguration.option('project').valueRequired()\n\t\tconfiguration.option('json').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.listFailedEvents()\n\t\tif (input.getOption('json')) {\n\t\t\tconsole.log(JSON.stringify(result, null, 2))\n\t\t\treturn\n\t\t}\n\t\tif (result.length === 0) {\n\t\t\tconsole.log('No failed events')\n\t\t\treturn\n\t\t}\n\t\tconst table = chalkTable(\n\t\t\t{\n\t\t\t\tcolumns: [\n\t\t\t\t\t{ field: 'id', name: 'ID' },\n\t\t\t\t\t{ field: 'createdAt', name: 'Created at' },\n\t\t\t\t\t{ field: 'lastStateChange', name: 'Last state change' },\n\t\t\t\t\t{ field: 'visibleAt', name: 'Visible at' },\n\t\t\t\t\t{ field: 'numRetries', name: 'Retries' },\n\t\t\t\t\t{ field: 'state', name: 'State' },\n\t\t\t\t\t{ field: 'target', name: 'Target' },\n\t\t\t\t\t{ field: 'log', name: 'Log' },\n\t\t\t\t],\n\t\t\t},\n\t\t\tresult.map(it => ({\n\t\t\t\tid: it.id,\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tlastStateChange: it.lastStateChange,\n\t\t\t\tvisibleAt: it.visibleAt || '',\n\t\t\t\tnumRetries: it.numRetries.toString(),\n\t\t\t\tstate: it.state,\n\t\t\t\ttarget: it.target,\n\t\t\t\tlog: JSON.stringify(it.log.length > 0 ? it.log[it.log.length - 1] : {}),\n\t\t\t})),\n\t\t)\n\t\tconsole.log(table)\n\t}\n}\n"],"names":[],"mappings":";;;AAWO,MAAM,uCAAuC,QAAuB;AAAA,EAC1E,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,oBAAoB;AAC9C,kBAAc,OAAO,SAAS,EAAE,cAAA;AAChC,kBAAc,OAAO,MAAM,EAAE,UAAA;AAAA,EAC9B;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAM,cAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,iBAAA;AACzB,QAAI,MAAM,UAAU,MAAM,GAAG;AAC5B,cAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAC3C;AAAA,IACD;AACA,QAAI,OAAO,WAAW,GAAG;AACxB,cAAQ,IAAI,kBAAkB;AAC9B;AAAA,IACD;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,QACC,SAAS;AAAA,UACR,EAAE,OAAO,MAAM,MAAM,KAAA;AAAA,UACrB,EAAE,OAAO,aAAa,MAAM,aAAA;AAAA,UAC5B,EAAE,OAAO,mBAAmB,MAAM,oBAAA;AAAA,UAClC,EAAE,OAAO,aAAa,MAAM,aAAA;AAAA,UAC5B,EAAE,OAAO,cAAc,MAAM,UAAA;AAAA,UAC7B,EAAE,OAAO,SAAS,MAAM,QAAA;AAAA,UACxB,EAAE,OAAO,UAAU,MAAM,SAAA;AAAA,UACzB,EAAE,OAAO,OAAO,MAAM,MAAA;AAAA,QAAM;AAAA,MAC7B;AAAA,MAED,OAAO,IAAI,CAAA,QAAO;AAAA,QACjB,IAAI,GAAG;AAAA,QACP,WAAW,GAAG;AAAA,QACd,iBAAiB,GAAG;AAAA,QACpB,WAAW,GAAG,aAAa;AAAA,QAC3B,YAAY,GAAG,WAAW,SAAA;AAAA,QAC1B,OAAO,GAAG;AAAA,QACV,QAAQ,GAAG;AAAA,QACX,KAAK,KAAK,UAAU,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAA,CAAE;AAAA,MAAA,EACrE;AAAA,IAAA;AAEH,YAAQ,IAAI,KAAK;AAAA,EAClB;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsListVariablesCommand.cjs","sources":["../../../../../../packages/cli/src/commands/actions/ActionsListVariablesCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { ActionsClient } from '../../lib/actions/ActionsClient'\nimport chalkTable from 'chalk-table'\n\ntype Args = {}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsListVariablesCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Show action variables')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\t\tconst result = await api.listVariables()\n\t\tconsole.log(chalkTable({\n\t\t\tcolumns: ['name', 'value'],\n\t\t}, result))\n\t}\n}\n"],"names":["Command","ActionsClient"],"mappings":";;;;;AAWO,MAAM,oCAAoCA,UAAAA,QAAuB;AAAA,EACvE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,uBAAuB;AACjD,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAMC,4BAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAC9E,UAAM,SAAS,MAAM,IAAI,cAAA;AACzB,YAAQ,IAAI,WAAW;AAAA,MACtB,SAAS,CAAC,QAAQ,OAAO;AAAA,IAAA,GACvB,MAAM,CAAC;AAAA,EACX;AACD;;"}
|
|
1
|
+
{"version":3,"file":"ActionsListVariablesCommand.cjs","sources":["../../../../../../packages/cli/src/commands/actions/ActionsListVariablesCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\nimport { ActionsClient } from '../../lib/actions/ActionsClient.js'\nimport chalkTable from 'chalk-table'\n\ntype Args = {}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsListVariablesCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Show action variables')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\t\tconst result = await api.listVariables()\n\t\tconsole.log(chalkTable({\n\t\t\tcolumns: ['name', 'value'],\n\t\t}, result))\n\t}\n}\n"],"names":["Command","ActionsClient"],"mappings":";;;;;AAWO,MAAM,oCAAoCA,UAAAA,QAAuB;AAAA,EACvE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,uBAAuB;AACjD,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAMC,4BAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAC9E,UAAM,SAAS,MAAM,IAAI,cAAA;AACzB,YAAQ,IAAI,WAAW;AAAA,MACtB,SAAS,CAAC,QAAQ,OAAO;AAAA,IAAA,GACvB,MAAM,CAAC;AAAA,EACX;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsListVariablesCommand.js","sources":["../../../../../../packages/cli/src/commands/actions/ActionsListVariablesCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { ActionsClient } from '../../lib/actions/ActionsClient'\nimport chalkTable from 'chalk-table'\n\ntype Args = {}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsListVariablesCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Show action variables')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\t\tconst result = await api.listVariables()\n\t\tconsole.log(chalkTable({\n\t\t\tcolumns: ['name', 'value'],\n\t\t}, result))\n\t}\n}\n"],"names":[],"mappings":";;;AAWO,MAAM,oCAAoC,QAAuB;AAAA,EACvE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,uBAAuB;AACjD,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAM,cAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAC9E,UAAM,SAAS,MAAM,IAAI,cAAA;AACzB,YAAQ,IAAI,WAAW;AAAA,MACtB,SAAS,CAAC,QAAQ,OAAO;AAAA,IAAA,GACvB,MAAM,CAAC;AAAA,EACX;AACD;"}
|
|
1
|
+
{"version":3,"file":"ActionsListVariablesCommand.js","sources":["../../../../../../packages/cli/src/commands/actions/ActionsListVariablesCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\nimport { ActionsClient } from '../../lib/actions/ActionsClient.js'\nimport chalkTable from 'chalk-table'\n\ntype Args = {}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsListVariablesCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Show action variables')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\t\tconst result = await api.listVariables()\n\t\tconsole.log(chalkTable({\n\t\t\tcolumns: ['name', 'value'],\n\t\t}, result))\n\t}\n}\n"],"names":[],"mappings":";;;AAWO,MAAM,oCAAoC,QAAuB;AAAA,EACvE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,uBAAuB;AACjD,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAM,cAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAC9E,UAAM,SAAS,MAAM,IAAI,cAAA;AACzB,YAAQ,IAAI,WAAW;AAAA,MACtB,SAAS,CAAC,QAAQ,OAAO;AAAA,IAAA,GACvB,MAAM,CAAC;AAAA,EACX;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsRetryEventCommand.cjs","sources":["../../../../../../packages/cli/src/commands/actions/ActionsRetryEventCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { ActionsClient } from '../../lib/actions/ActionsClient'\nimport chalkTable from 'chalk-table'\ntype Args = {\n\teventId: string\n}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsRetryEventCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Retry given event')\n\t\tconfiguration.argument('eventId')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.retryEvent(input.getArgument('eventId'))\n\t\tif (result) {\n\t\t\tconsole.log('Event requeued for processing')\n\t\t} else {\n\t\t\tconsole.log('Failed to requeue event. Check the event status')\n\t\t\treturn 1\n\t\t}\n\t}\n}\n"],"names":["Command","ActionsClient"],"mappings":";;;;AAYO,MAAM,iCAAiCA,UAAAA,QAAuB;AAAA,EACpE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,mBAAmB;AAC7C,kBAAc,SAAS,SAAS;AAChC,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAMC,4BAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,WAAW,MAAM,YAAY,SAAS,CAAC;AAChE,QAAI,QAAQ;AACX,cAAQ,IAAI,+BAA+B;AAAA,IAC5C,OAAO;AACN,cAAQ,IAAI,iDAAiD;AAC7D,aAAO;AAAA,IACR;AAAA,EACD;AACD;;"}
|
|
1
|
+
{"version":3,"file":"ActionsRetryEventCommand.cjs","sources":["../../../../../../packages/cli/src/commands/actions/ActionsRetryEventCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\nimport { ActionsClient } from '../../lib/actions/ActionsClient.js'\nimport chalkTable from 'chalk-table'\ntype Args = {\n\teventId: string\n}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsRetryEventCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Retry given event')\n\t\tconfiguration.argument('eventId')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.retryEvent(input.getArgument('eventId'))\n\t\tif (result) {\n\t\t\tconsole.log('Event requeued for processing')\n\t\t} else {\n\t\t\tconsole.log('Failed to requeue event. Check the event status')\n\t\t\treturn 1\n\t\t}\n\t}\n}\n"],"names":["Command","ActionsClient"],"mappings":";;;;AAYO,MAAM,iCAAiCA,UAAAA,QAAuB;AAAA,EACpE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,mBAAmB;AAC7C,kBAAc,SAAS,SAAS;AAChC,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAMC,4BAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,WAAW,MAAM,YAAY,SAAS,CAAC;AAChE,QAAI,QAAQ;AACX,cAAQ,IAAI,+BAA+B;AAAA,IAC5C,OAAO;AACN,cAAQ,IAAI,iDAAiD;AAC7D,aAAO;AAAA,IACR;AAAA,EACD;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsRetryEventCommand.js","sources":["../../../../../../packages/cli/src/commands/actions/ActionsRetryEventCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { ActionsClient } from '../../lib/actions/ActionsClient'\nimport chalkTable from 'chalk-table'\ntype Args = {\n\teventId: string\n}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsRetryEventCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Retry given event')\n\t\tconfiguration.argument('eventId')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.retryEvent(input.getArgument('eventId'))\n\t\tif (result) {\n\t\t\tconsole.log('Event requeued for processing')\n\t\t} else {\n\t\t\tconsole.log('Failed to requeue event. Check the event status')\n\t\t\treturn 1\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAYO,MAAM,iCAAiC,QAAuB;AAAA,EACpE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,mBAAmB;AAC7C,kBAAc,SAAS,SAAS;AAChC,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAM,cAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,WAAW,MAAM,YAAY,SAAS,CAAC;AAChE,QAAI,QAAQ;AACX,cAAQ,IAAI,+BAA+B;AAAA,IAC5C,OAAO;AACN,cAAQ,IAAI,iDAAiD;AAC7D,aAAO;AAAA,IACR;AAAA,EACD;AACD;"}
|
|
1
|
+
{"version":3,"file":"ActionsRetryEventCommand.js","sources":["../../../../../../packages/cli/src/commands/actions/ActionsRetryEventCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\nimport { ActionsClient } from '../../lib/actions/ActionsClient.js'\nimport chalkTable from 'chalk-table'\ntype Args = {\n\teventId: string\n}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsRetryEventCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Retry given event')\n\t\tconfiguration.argument('eventId')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.retryEvent(input.getArgument('eventId'))\n\t\tif (result) {\n\t\t\tconsole.log('Event requeued for processing')\n\t\t} else {\n\t\t\tconsole.log('Failed to requeue event. Check the event status')\n\t\t\treturn 1\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAYO,MAAM,iCAAiC,QAAuB;AAAA,EACpE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,mBAAmB;AAC7C,kBAAc,SAAS,SAAS;AAChC,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAM,cAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,WAAW,MAAM,YAAY,SAAS,CAAC;AAChE,QAAI,QAAQ;AACX,cAAQ,IAAI,+BAA+B;AAAA,IAC5C,OAAO;AACN,cAAQ,IAAI,iDAAiD;AAC7D,aAAO;AAAA,IACR;AAAA,EACD;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsSetVariablesCommand.cjs","sources":["../../../../../../packages/cli/src/commands/actions/ActionsSetVariablesCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { ActionsClient } from '../../lib/actions/ActionsClient'\n\ntype Args = {\n\tvariables: string[]\n}\n\ntype Options = {\n\tproject?: string\n\tmerge?: boolean\n\tset?: boolean\n\t['append-only-missing']?: boolean\n}\n\nexport class ActionsSetVariablesCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Set action variables')\n\t\tconfiguration.option('project').valueRequired()\n\t\tconfiguration.option('merge').valueNone().description('merges with new values (default behaviour)')\n\t\tconfiguration.option('set').valueNone().description('replaces all variables')\n\t\tconfiguration.option('append-only-missing').valueNone().description('appends values if not already exist')\n\t\tconfiguration.argument('variables').variadic().description('variables to set, in the form of name=value')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\t\tconst mode = input.getOption('merge')\n\t\t\t? 'MERGE' as const\n\t\t\t: input.getOption('set')\n\t\t\t? 'SET' as const\n\t\t\t: input.getOption('append-only-missing')\n\t\t\t? 'APPEND_ONLY_MISSING' as const\n\t\t\t: 'MERGE' as const\n\n\t\tconst variables = input.getArgument('variables').flatMap(it => it.split('\\n')).filter(it => it.trim().length > 0)\n\t\tconst result = await api.setVariables(\n\t\t\tvariables.map(it => {\n\t\t\t\tconst [name, value] = it.split('=')\n\t\t\t\treturn { name, value }\n\t\t\t}),\n\t\t\tmode,\n\t\t)\n\t\tif (result) {\n\t\t\tconsole.log('Success')\n\t\t} else {\n\t\t\tconsole.error('Failed')\n\t\t\treturn 1\n\t\t}\n\t}\n}\n"],"names":["Command","ActionsClient"],"mappings":";;;;AAeO,MAAM,mCAAmCA,UAAAA,QAAuB;AAAA,EACtE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,sBAAsB;AAChD,kBAAc,OAAO,SAAS,EAAE,cAAA;AAChC,kBAAc,OAAO,OAAO,EAAE,UAAA,EAAY,YAAY,4CAA4C;AAClG,kBAAc,OAAO,KAAK,EAAE,UAAA,EAAY,YAAY,wBAAwB;AAC5E,kBAAc,OAAO,qBAAqB,EAAE,UAAA,EAAY,YAAY,qCAAqC;AACzG,kBAAc,SAAS,WAAW,EAAE,SAAA,EAAW,YAAY,6CAA6C;AAAA,EACzG;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAMC,4BAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAC9E,UAAM,OAAO,MAAM,UAAU,OAAO,IACjC,UACA,MAAM,UAAU,KAAK,IACrB,QACA,MAAM,UAAU,qBAAqB,IACrC,wBACA;AAEH,UAAM,YAAY,MAAM,YAAY,WAAW,EAAE,QAAQ,QAAM,GAAG,MAAM,IAAI,CAAC,EAAE,OAAO,CAAA,OAAM,GAAG,KAAA,EAAO,SAAS,CAAC;AAChH,UAAM,SAAS,MAAM,IAAI;AAAA,MACxB,UAAU,IAAI,CAAA,OAAM;AACnB,cAAM,CAAC,MAAM,KAAK,IAAI,GAAG,MAAM,GAAG;AAClC,eAAO,EAAE,MAAM,MAAA;AAAA,MAChB,CAAC;AAAA,MACD;AAAA,IAAA;AAED,QAAI,QAAQ;AACX,cAAQ,IAAI,SAAS;AAAA,IACtB,OAAO;AACN,cAAQ,MAAM,QAAQ;AACtB,aAAO;AAAA,IACR;AAAA,EACD;AACD;;"}
|
|
1
|
+
{"version":3,"file":"ActionsSetVariablesCommand.cjs","sources":["../../../../../../packages/cli/src/commands/actions/ActionsSetVariablesCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\nimport { ActionsClient } from '../../lib/actions/ActionsClient.js'\n\ntype Args = {\n\tvariables: string[]\n}\n\ntype Options = {\n\tproject?: string\n\tmerge?: boolean\n\tset?: boolean\n\t['append-only-missing']?: boolean\n}\n\nexport class ActionsSetVariablesCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Set action variables')\n\t\tconfiguration.option('project').valueRequired()\n\t\tconfiguration.option('merge').valueNone().description('merges with new values (default behaviour)')\n\t\tconfiguration.option('set').valueNone().description('replaces all variables')\n\t\tconfiguration.option('append-only-missing').valueNone().description('appends values if not already exist')\n\t\tconfiguration.argument('variables').variadic().description('variables to set, in the form of name=value')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\t\tconst mode = input.getOption('merge')\n\t\t\t? 'MERGE' as const\n\t\t\t: input.getOption('set')\n\t\t\t? 'SET' as const\n\t\t\t: input.getOption('append-only-missing')\n\t\t\t? 'APPEND_ONLY_MISSING' as const\n\t\t\t: 'MERGE' as const\n\n\t\tconst variables = input.getArgument('variables').flatMap(it => it.split('\\n')).filter(it => it.trim().length > 0)\n\t\tconst result = await api.setVariables(\n\t\t\tvariables.map(it => {\n\t\t\t\tconst [name, value] = it.split('=')\n\t\t\t\treturn { name, value }\n\t\t\t}),\n\t\t\tmode,\n\t\t)\n\t\tif (result) {\n\t\t\tconsole.log('Success')\n\t\t} else {\n\t\t\tconsole.error('Failed')\n\t\t\treturn 1\n\t\t}\n\t}\n}\n"],"names":["Command","ActionsClient"],"mappings":";;;;AAeO,MAAM,mCAAmCA,UAAAA,QAAuB;AAAA,EACtE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,sBAAsB;AAChD,kBAAc,OAAO,SAAS,EAAE,cAAA;AAChC,kBAAc,OAAO,OAAO,EAAE,UAAA,EAAY,YAAY,4CAA4C;AAClG,kBAAc,OAAO,KAAK,EAAE,UAAA,EAAY,YAAY,wBAAwB;AAC5E,kBAAc,OAAO,qBAAqB,EAAE,UAAA,EAAY,YAAY,qCAAqC;AACzG,kBAAc,SAAS,WAAW,EAAE,SAAA,EAAW,YAAY,6CAA6C;AAAA,EACzG;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAMC,4BAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAC9E,UAAM,OAAO,MAAM,UAAU,OAAO,IACjC,UACA,MAAM,UAAU,KAAK,IACrB,QACA,MAAM,UAAU,qBAAqB,IACrC,wBACA;AAEH,UAAM,YAAY,MAAM,YAAY,WAAW,EAAE,QAAQ,QAAM,GAAG,MAAM,IAAI,CAAC,EAAE,OAAO,CAAA,OAAM,GAAG,KAAA,EAAO,SAAS,CAAC;AAChH,UAAM,SAAS,MAAM,IAAI;AAAA,MACxB,UAAU,IAAI,CAAA,OAAM;AACnB,cAAM,CAAC,MAAM,KAAK,IAAI,GAAG,MAAM,GAAG;AAClC,eAAO,EAAE,MAAM,MAAA;AAAA,MAChB,CAAC;AAAA,MACD;AAAA,IAAA;AAED,QAAI,QAAQ;AACX,cAAQ,IAAI,SAAS;AAAA,IACtB,OAAO;AACN,cAAQ,MAAM,QAAQ;AACtB,aAAO;AAAA,IACR;AAAA,EACD;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsSetVariablesCommand.js","sources":["../../../../../../packages/cli/src/commands/actions/ActionsSetVariablesCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { ActionsClient } from '../../lib/actions/ActionsClient'\n\ntype Args = {\n\tvariables: string[]\n}\n\ntype Options = {\n\tproject?: string\n\tmerge?: boolean\n\tset?: boolean\n\t['append-only-missing']?: boolean\n}\n\nexport class ActionsSetVariablesCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Set action variables')\n\t\tconfiguration.option('project').valueRequired()\n\t\tconfiguration.option('merge').valueNone().description('merges with new values (default behaviour)')\n\t\tconfiguration.option('set').valueNone().description('replaces all variables')\n\t\tconfiguration.option('append-only-missing').valueNone().description('appends values if not already exist')\n\t\tconfiguration.argument('variables').variadic().description('variables to set, in the form of name=value')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\t\tconst mode = input.getOption('merge')\n\t\t\t? 'MERGE' as const\n\t\t\t: input.getOption('set')\n\t\t\t? 'SET' as const\n\t\t\t: input.getOption('append-only-missing')\n\t\t\t? 'APPEND_ONLY_MISSING' as const\n\t\t\t: 'MERGE' as const\n\n\t\tconst variables = input.getArgument('variables').flatMap(it => it.split('\\n')).filter(it => it.trim().length > 0)\n\t\tconst result = await api.setVariables(\n\t\t\tvariables.map(it => {\n\t\t\t\tconst [name, value] = it.split('=')\n\t\t\t\treturn { name, value }\n\t\t\t}),\n\t\t\tmode,\n\t\t)\n\t\tif (result) {\n\t\t\tconsole.log('Success')\n\t\t} else {\n\t\t\tconsole.error('Failed')\n\t\t\treturn 1\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAeO,MAAM,mCAAmC,QAAuB;AAAA,EACtE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,sBAAsB;AAChD,kBAAc,OAAO,SAAS,EAAE,cAAA;AAChC,kBAAc,OAAO,OAAO,EAAE,UAAA,EAAY,YAAY,4CAA4C;AAClG,kBAAc,OAAO,KAAK,EAAE,UAAA,EAAY,YAAY,wBAAwB;AAC5E,kBAAc,OAAO,qBAAqB,EAAE,UAAA,EAAY,YAAY,qCAAqC;AACzG,kBAAc,SAAS,WAAW,EAAE,SAAA,EAAW,YAAY,6CAA6C;AAAA,EACzG;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAM,cAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAC9E,UAAM,OAAO,MAAM,UAAU,OAAO,IACjC,UACA,MAAM,UAAU,KAAK,IACrB,QACA,MAAM,UAAU,qBAAqB,IACrC,wBACA;AAEH,UAAM,YAAY,MAAM,YAAY,WAAW,EAAE,QAAQ,QAAM,GAAG,MAAM,IAAI,CAAC,EAAE,OAAO,CAAA,OAAM,GAAG,KAAA,EAAO,SAAS,CAAC;AAChH,UAAM,SAAS,MAAM,IAAI;AAAA,MACxB,UAAU,IAAI,CAAA,OAAM;AACnB,cAAM,CAAC,MAAM,KAAK,IAAI,GAAG,MAAM,GAAG;AAClC,eAAO,EAAE,MAAM,MAAA;AAAA,MAChB,CAAC;AAAA,MACD;AAAA,IAAA;AAED,QAAI,QAAQ;AACX,cAAQ,IAAI,SAAS;AAAA,IACtB,OAAO;AACN,cAAQ,MAAM,QAAQ;AACtB,aAAO;AAAA,IACR;AAAA,EACD;AACD;"}
|
|
1
|
+
{"version":3,"file":"ActionsSetVariablesCommand.js","sources":["../../../../../../packages/cli/src/commands/actions/ActionsSetVariablesCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\nimport { ActionsClient } from '../../lib/actions/ActionsClient.js'\n\ntype Args = {\n\tvariables: string[]\n}\n\ntype Options = {\n\tproject?: string\n\tmerge?: boolean\n\tset?: boolean\n\t['append-only-missing']?: boolean\n}\n\nexport class ActionsSetVariablesCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Set action variables')\n\t\tconfiguration.option('project').valueRequired()\n\t\tconfiguration.option('merge').valueNone().description('merges with new values (default behaviour)')\n\t\tconfiguration.option('set').valueNone().description('replaces all variables')\n\t\tconfiguration.option('append-only-missing').valueNone().description('appends values if not already exist')\n\t\tconfiguration.argument('variables').variadic().description('variables to set, in the form of name=value')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\t\tconst mode = input.getOption('merge')\n\t\t\t? 'MERGE' as const\n\t\t\t: input.getOption('set')\n\t\t\t? 'SET' as const\n\t\t\t: input.getOption('append-only-missing')\n\t\t\t? 'APPEND_ONLY_MISSING' as const\n\t\t\t: 'MERGE' as const\n\n\t\tconst variables = input.getArgument('variables').flatMap(it => it.split('\\n')).filter(it => it.trim().length > 0)\n\t\tconst result = await api.setVariables(\n\t\t\tvariables.map(it => {\n\t\t\t\tconst [name, value] = it.split('=')\n\t\t\t\treturn { name, value }\n\t\t\t}),\n\t\t\tmode,\n\t\t)\n\t\tif (result) {\n\t\t\tconsole.log('Success')\n\t\t} else {\n\t\t\tconsole.error('Failed')\n\t\t\treturn 1\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAeO,MAAM,mCAAmC,QAAuB;AAAA,EACtE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,sBAAsB;AAChD,kBAAc,OAAO,SAAS,EAAE,cAAA;AAChC,kBAAc,OAAO,OAAO,EAAE,UAAA,EAAY,YAAY,4CAA4C;AAClG,kBAAc,OAAO,KAAK,EAAE,UAAA,EAAY,YAAY,wBAAwB;AAC5E,kBAAc,OAAO,qBAAqB,EAAE,UAAA,EAAY,YAAY,qCAAqC;AACzG,kBAAc,SAAS,WAAW,EAAE,SAAA,EAAW,YAAY,6CAA6C;AAAA,EACzG;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAM,cAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAC9E,UAAM,OAAO,MAAM,UAAU,OAAO,IACjC,UACA,MAAM,UAAU,KAAK,IACrB,QACA,MAAM,UAAU,qBAAqB,IACrC,wBACA;AAEH,UAAM,YAAY,MAAM,YAAY,WAAW,EAAE,QAAQ,QAAM,GAAG,MAAM,IAAI,CAAC,EAAE,OAAO,CAAA,OAAM,GAAG,KAAA,EAAO,SAAS,CAAC;AAChH,UAAM,SAAS,MAAM,IAAI;AAAA,MACxB,UAAU,IAAI,CAAA,OAAM;AACnB,cAAM,CAAC,MAAM,KAAK,IAAI,GAAG,MAAM,GAAG;AAClC,eAAO,EAAE,MAAM,MAAA;AAAA,MAChB,CAAC;AAAA,MACD;AAAA,IAAA;AAED,QAAI,QAAQ;AACX,cAAQ,IAAI,SAAS;AAAA,IACtB,OAAO;AACN,cAAQ,MAAM,QAAQ;AACtB,aAAO;AAAA,IACR;AAAA,EACD;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsStopEventCommand.cjs","sources":["../../../../../../packages/cli/src/commands/actions/ActionsStopEventCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { ActionsClient } from '../../lib/actions/ActionsClient'\nimport chalkTable from 'chalk-table'\ntype Args = {\n\teventId: string\n}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsStopEventCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Stop given event')\n\t\tconfiguration.argument('eventId')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.stopEvent(input.getArgument('eventId'))\n\t\tif (result) {\n\t\t\tconsole.log('Event stopped')\n\t\t} else {\n\t\t\tconsole.log('Failed to stop event. Check the event id.')\n\t\t\treturn 1\n\t\t}\n\t}\n}\n"],"names":["Command","ActionsClient"],"mappings":";;;;AAYO,MAAM,gCAAgCA,UAAAA,QAAuB;AAAA,EACnE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kBAAkB;AAC5C,kBAAc,SAAS,SAAS;AAChC,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAMC,4BAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,UAAU,MAAM,YAAY,SAAS,CAAC;AAC/D,QAAI,QAAQ;AACX,cAAQ,IAAI,eAAe;AAAA,IAC5B,OAAO;AACN,cAAQ,IAAI,2CAA2C;AACvD,aAAO;AAAA,IACR;AAAA,EACD;AACD;;"}
|
|
1
|
+
{"version":3,"file":"ActionsStopEventCommand.cjs","sources":["../../../../../../packages/cli/src/commands/actions/ActionsStopEventCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\nimport { ActionsClient } from '../../lib/actions/ActionsClient.js'\nimport chalkTable from 'chalk-table'\ntype Args = {\n\teventId: string\n}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsStopEventCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Stop given event')\n\t\tconfiguration.argument('eventId')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.stopEvent(input.getArgument('eventId'))\n\t\tif (result) {\n\t\t\tconsole.log('Event stopped')\n\t\t} else {\n\t\t\tconsole.log('Failed to stop event. Check the event id.')\n\t\t\treturn 1\n\t\t}\n\t}\n}\n"],"names":["Command","ActionsClient"],"mappings":";;;;AAYO,MAAM,gCAAgCA,UAAAA,QAAuB;AAAA,EACnE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kBAAkB;AAC5C,kBAAc,SAAS,SAAS;AAChC,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAMC,4BAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,UAAU,MAAM,YAAY,SAAS,CAAC;AAC/D,QAAI,QAAQ;AACX,cAAQ,IAAI,eAAe;AAAA,IAC5B,OAAO;AACN,cAAQ,IAAI,2CAA2C;AACvD,aAAO;AAAA,IACR;AAAA,EACD;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsStopEventCommand.js","sources":["../../../../../../packages/cli/src/commands/actions/ActionsStopEventCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { ActionsClient } from '../../lib/actions/ActionsClient'\nimport chalkTable from 'chalk-table'\ntype Args = {\n\teventId: string\n}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsStopEventCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Stop given event')\n\t\tconfiguration.argument('eventId')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.stopEvent(input.getArgument('eventId'))\n\t\tif (result) {\n\t\t\tconsole.log('Event stopped')\n\t\t} else {\n\t\t\tconsole.log('Failed to stop event. Check the event id.')\n\t\t\treturn 1\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAYO,MAAM,gCAAgC,QAAuB;AAAA,EACnE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kBAAkB;AAC5C,kBAAc,SAAS,SAAS;AAChC,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAM,cAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,UAAU,MAAM,YAAY,SAAS,CAAC;AAC/D,QAAI,QAAQ;AACX,cAAQ,IAAI,eAAe;AAAA,IAC5B,OAAO;AACN,cAAQ,IAAI,2CAA2C;AACvD,aAAO;AAAA,IACR;AAAA,EACD;AACD;"}
|
|
1
|
+
{"version":3,"file":"ActionsStopEventCommand.js","sources":["../../../../../../packages/cli/src/commands/actions/ActionsStopEventCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\nimport { ActionsClient } from '../../lib/actions/ActionsClient.js'\nimport chalkTable from 'chalk-table'\ntype Args = {\n\teventId: string\n}\n\ntype Options = {\n\tproject?: string\n}\n\nexport class ActionsStopEventCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Stop given event')\n\t\tconfiguration.argument('eventId')\n\t\tconfiguration.option('project').valueRequired()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getOption('project')\n\t\tconst project = await this.remoteProjectResolver.resolve(dsn)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\t\tconst api = ActionsClient.create(project.endpoint, project.name, project.token)\n\n\t\tconst result = await api.stopEvent(input.getArgument('eventId'))\n\t\tif (result) {\n\t\t\tconsole.log('Event stopped')\n\t\t} else {\n\t\t\tconsole.log('Failed to stop event. Check the event id.')\n\t\t\treturn 1\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAYO,MAAM,gCAAgC,QAAuB;AAAA,EACnE,YACkB,uBAChB;AACD,UAAA;AAFiB,SAAA,wBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kBAAkB;AAC5C,kBAAc,SAAS,SAAS;AAChC,kBAAc,OAAO,SAAS,EAAE,cAAA;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,UAAU,SAAS;AACrC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,GAAG;AAC5D,QAAI,CAAC,SAAS;AACb,YAAM;AAAA,IACP;AACA,UAAM,MAAM,cAAc,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAE9E,UAAM,SAAS,MAAM,IAAI,UAAU,MAAM,YAAY,SAAS,CAAC;AAC/D,QAAI,QAAQ;AACX,cAAQ,IAAI,eAAe;AAAA,IAC5B,OAAO;AACN,cAAQ,IAAI,2CAA2C;AACvD,aAAO;AAAA,IACR;AAAA,EACD;AACD;"}
|
|
@@ -20,6 +20,7 @@ class DeployCommand extends cliCommon.Command {
|
|
|
20
20
|
configuration.option("root").valueNone();
|
|
21
21
|
configuration.option("no-admin").valueNone();
|
|
22
22
|
configuration.option("no-migrations").valueNone();
|
|
23
|
+
configuration.option("snapshot").valueNone().description("Bootstrap an empty target database from snapshot.json instead of replaying every migration");
|
|
23
24
|
configuration.option("yes").valueNone().description("Do not ask for confirmation.");
|
|
24
25
|
}
|
|
25
26
|
async execute(input) {
|
|
@@ -48,7 +49,8 @@ class DeployCommand extends cliCommon.Command {
|
|
|
48
49
|
const result = await this.migrationExecutionFacade.execute({
|
|
49
50
|
force: false,
|
|
50
51
|
requireConfirmation: !yes,
|
|
51
|
-
additionalMessage: deployAdmin ? "Admin will be deployed." : "Admin will NOT be deployed."
|
|
52
|
+
additionalMessage: deployAdmin ? "Admin will be deployed." : "Admin will NOT be deployed.",
|
|
53
|
+
useSnapshot: input.getOption("snapshot") === true
|
|
52
54
|
});
|
|
53
55
|
if (!result) {
|
|
54
56
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployCommand.cjs","sources":["../../../../../../packages/cli/src/commands/deploy/DeployCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport prompts from 'prompts'\nimport { maskToken } from '../../lib/maskToken'\nimport { MigrationExecutionFacade } from '../../lib/migrations/MigrationExecutionFacade'\nimport { AdminDeployer } from '../../lib/admin/AdminDeployer'\nimport { FileSystem } from '../../lib/fs/FileSystem'\nimport { RemoteProject } from '../../lib/project/RemoteProject'\nimport { Workspace } from '../../lib/workspace/Workspace'\nimport { RemoteProjectProvider } from '../../lib/project/RemoteProjectProvider'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\n\ntype Args = {\n\tdsn?: string\n}\n\ntype Options = {\n\tadmin?: string\n\t['no-admin']?: boolean\n\t['no-migrations']?: boolean\n\troot?: boolean\n\tyes?: boolean\n}\n\nexport class DeployCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly adminDeployer: AdminDeployer,\n\t\tprivate readonly migrationExecutionFacade: MigrationExecutionFacade,\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly workspace: Workspace,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Deploy Contember project')\n\t\tconfiguration.argument('dsn').optional()\n\n\t\tconfiguration.option('admin').valueRequired()\n\t\tconfiguration.option('root').valueNone()\n\t\tconfiguration.option('no-admin').valueNone()\n\t\tconfiguration.option('no-migrations').valueNone()\n\t\tconfiguration //\n\t\t\t.option('yes')\n\t\t\t.valueNone()\n\t\t\t.description('Do not ask for confirmation.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getArgument('dsn')\n\t\tconst adminEndpoint = input.getOption('admin')\n\t\tconst remoteProject = this.remoteProjectResolver.resolve(dsn, adminEndpoint)\n\t\tif (!remoteProject) {\n\t\t\tthrow `Project not defined. Please provide DSN or environment variables CONTEMBER_*`\n\t\t}\n\t\tthis.remoteProjectProvider.setRemoteProject(remoteProject)\n\n\t\tconst deployMigration = input.getOption('no-migrations') !== true\n\t\tconst yes = input.getOption('yes') === true\n\t\tconst projectAdminDistDir = this.workspace.adminDistDir\n\n\t\tconst deployAdmin = input.getOption('no-admin') !== true && !!remoteProject.adminEndpoint && !!projectAdminDistDir\n\n\t\tconsole.log('')\n\t\tconsole.log('Contember project deployment configuration:')\n\t\tconsole.log(`Target project name: ${remoteProject.name}`)\n\t\tconsole.log(`API URL: ${remoteProject.endpoint}`)\n\t\tconsole.log(`Admin URL: ${remoteProject.adminEndpoint ?? 'none'}`)\n\t\tconsole.log(`Deploy token: ${maskToken(remoteProject.token)}`)\n\t\tconsole.log('')\n\n\t\tif (deployAdmin && !(await this.fs.pathExists(`${projectAdminDistDir}/index.html`))) {\n\t\t\tthrow `Missing ${projectAdminDistDir}/index.html. Please build admin before deploying.`\n\t\t}\n\n\t\tif (deployMigration) {\n\t\t\tconst result = await this.migrationExecutionFacade.execute({\n\t\t\t\tforce: false,\n\t\t\t\trequireConfirmation: !yes,\n\t\t\t\tadditionalMessage: deployAdmin ? 'Admin will be deployed.' : 'Admin will NOT be deployed.',\n\t\t\t})\n\t\t\tif (!result) {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tif (deployAdmin) {\n\t\t\tif (!deployMigration && !yes) {\n\t\t\t\tif (!process.stdin.isTTY) {\n\t\t\t\t\tthrow 'TTY not available. Pass --yes option to confirm execution.'\n\t\t\t\t}\n\t\t\t\tconsole.log('Admin will be deployed.')\n\t\t\t\tconsole.log('(to skip this dialog, you can pass --yes option)')\n\t\t\t\tconsole.log('')\n\t\t\t\tconst { ok } = await prompts({\n\t\t\t\t\ttype: 'confirm',\n\t\t\t\t\tname: 'ok',\n\t\t\t\t\tmessage: `Do you want to continue?`,\n\t\t\t\t})\n\t\t\t\tif (!ok) {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait this.adminDeployer.deploy({\n\t\t\t\tdir: projectAdminDistDir,\n\t\t\t\troot: input.getOption('root') === true,\n\t\t\t})\n\t\t}\n\n\t\tconsole.log('')\n\t\tconsole.log('Deployment successful')\n\t\tconsole.log(`API URL: ${remoteProject.endpoint}`)\n\t\tconsole.log(`Admin URL: ${remoteProject.adminEndpoint ?? 'none'}`)\n\n\t\treturn 0\n\t}\n}\n"],"names":["Command","maskToken"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"DeployCommand.cjs","sources":["../../../../../../packages/cli/src/commands/deploy/DeployCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport prompts from 'prompts'\nimport { maskToken } from '../../lib/maskToken.js'\nimport { MigrationExecutionFacade } from '../../lib/migrations/MigrationExecutionFacade.js'\nimport { AdminDeployer } from '../../lib/admin/AdminDeployer.js'\nimport { FileSystem } from '../../lib/fs/FileSystem.js'\nimport { RemoteProject } from '../../lib/project/RemoteProject.js'\nimport { Workspace } from '../../lib/workspace/Workspace.js'\nimport { RemoteProjectProvider } from '../../lib/project/RemoteProjectProvider.js'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\n\ntype Args = {\n\tdsn?: string\n}\n\ntype Options = {\n\tadmin?: string\n\t['no-admin']?: boolean\n\t['no-migrations']?: boolean\n\troot?: boolean\n\tyes?: boolean\n\tsnapshot?: boolean\n}\n\nexport class DeployCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly adminDeployer: AdminDeployer,\n\t\tprivate readonly migrationExecutionFacade: MigrationExecutionFacade,\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly workspace: Workspace,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Deploy Contember project')\n\t\tconfiguration.argument('dsn').optional()\n\n\t\tconfiguration.option('admin').valueRequired()\n\t\tconfiguration.option('root').valueNone()\n\t\tconfiguration.option('no-admin').valueNone()\n\t\tconfiguration.option('no-migrations').valueNone()\n\t\tconfiguration.option('snapshot')\n\t\t\t.valueNone()\n\t\t\t.description('Bootstrap an empty target database from snapshot.json instead of replaying every migration')\n\t\tconfiguration //\n\t\t\t.option('yes')\n\t\t\t.valueNone()\n\t\t\t.description('Do not ask for confirmation.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getArgument('dsn')\n\t\tconst adminEndpoint = input.getOption('admin')\n\t\tconst remoteProject = this.remoteProjectResolver.resolve(dsn, adminEndpoint)\n\t\tif (!remoteProject) {\n\t\t\tthrow `Project not defined. Please provide DSN or environment variables CONTEMBER_*`\n\t\t}\n\t\tthis.remoteProjectProvider.setRemoteProject(remoteProject)\n\n\t\tconst deployMigration = input.getOption('no-migrations') !== true\n\t\tconst yes = input.getOption('yes') === true\n\t\tconst projectAdminDistDir = this.workspace.adminDistDir\n\n\t\tconst deployAdmin = input.getOption('no-admin') !== true && !!remoteProject.adminEndpoint && !!projectAdminDistDir\n\n\t\tconsole.log('')\n\t\tconsole.log('Contember project deployment configuration:')\n\t\tconsole.log(`Target project name: ${remoteProject.name}`)\n\t\tconsole.log(`API URL: ${remoteProject.endpoint}`)\n\t\tconsole.log(`Admin URL: ${remoteProject.adminEndpoint ?? 'none'}`)\n\t\tconsole.log(`Deploy token: ${maskToken(remoteProject.token)}`)\n\t\tconsole.log('')\n\n\t\tif (deployAdmin && !(await this.fs.pathExists(`${projectAdminDistDir}/index.html`))) {\n\t\t\tthrow `Missing ${projectAdminDistDir}/index.html. Please build admin before deploying.`\n\t\t}\n\n\t\tif (deployMigration) {\n\t\t\tconst result = await this.migrationExecutionFacade.execute({\n\t\t\t\tforce: false,\n\t\t\t\trequireConfirmation: !yes,\n\t\t\t\tadditionalMessage: deployAdmin ? 'Admin will be deployed.' : 'Admin will NOT be deployed.',\n\t\t\t\tuseSnapshot: input.getOption('snapshot') === true,\n\t\t\t})\n\t\t\tif (!result) {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tif (deployAdmin) {\n\t\t\tif (!deployMigration && !yes) {\n\t\t\t\tif (!process.stdin.isTTY) {\n\t\t\t\t\tthrow 'TTY not available. Pass --yes option to confirm execution.'\n\t\t\t\t}\n\t\t\t\tconsole.log('Admin will be deployed.')\n\t\t\t\tconsole.log('(to skip this dialog, you can pass --yes option)')\n\t\t\t\tconsole.log('')\n\t\t\t\tconst { ok } = await prompts({\n\t\t\t\t\ttype: 'confirm',\n\t\t\t\t\tname: 'ok',\n\t\t\t\t\tmessage: `Do you want to continue?`,\n\t\t\t\t})\n\t\t\t\tif (!ok) {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait this.adminDeployer.deploy({\n\t\t\t\tdir: projectAdminDistDir,\n\t\t\t\troot: input.getOption('root') === true,\n\t\t\t})\n\t\t}\n\n\t\tconsole.log('')\n\t\tconsole.log('Deployment successful')\n\t\tconsole.log(`API URL: ${remoteProject.endpoint}`)\n\t\tconsole.log(`Admin URL: ${remoteProject.adminEndpoint ?? 'none'}`)\n\n\t\treturn 0\n\t}\n}\n"],"names":["Command","maskToken"],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ class DeployCommand extends Command {
|
|
|
18
18
|
configuration.option("root").valueNone();
|
|
19
19
|
configuration.option("no-admin").valueNone();
|
|
20
20
|
configuration.option("no-migrations").valueNone();
|
|
21
|
+
configuration.option("snapshot").valueNone().description("Bootstrap an empty target database from snapshot.json instead of replaying every migration");
|
|
21
22
|
configuration.option("yes").valueNone().description("Do not ask for confirmation.");
|
|
22
23
|
}
|
|
23
24
|
async execute(input) {
|
|
@@ -46,7 +47,8 @@ class DeployCommand extends Command {
|
|
|
46
47
|
const result = await this.migrationExecutionFacade.execute({
|
|
47
48
|
force: false,
|
|
48
49
|
requireConfirmation: !yes,
|
|
49
|
-
additionalMessage: deployAdmin ? "Admin will be deployed." : "Admin will NOT be deployed."
|
|
50
|
+
additionalMessage: deployAdmin ? "Admin will be deployed." : "Admin will NOT be deployed.",
|
|
51
|
+
useSnapshot: input.getOption("snapshot") === true
|
|
50
52
|
});
|
|
51
53
|
if (!result) {
|
|
52
54
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployCommand.js","sources":["../../../../../../packages/cli/src/commands/deploy/DeployCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport prompts from 'prompts'\nimport { maskToken } from '../../lib/maskToken'\nimport { MigrationExecutionFacade } from '../../lib/migrations/MigrationExecutionFacade'\nimport { AdminDeployer } from '../../lib/admin/AdminDeployer'\nimport { FileSystem } from '../../lib/fs/FileSystem'\nimport { RemoteProject } from '../../lib/project/RemoteProject'\nimport { Workspace } from '../../lib/workspace/Workspace'\nimport { RemoteProjectProvider } from '../../lib/project/RemoteProjectProvider'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\n\ntype Args = {\n\tdsn?: string\n}\n\ntype Options = {\n\tadmin?: string\n\t['no-admin']?: boolean\n\t['no-migrations']?: boolean\n\troot?: boolean\n\tyes?: boolean\n}\n\nexport class DeployCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly adminDeployer: AdminDeployer,\n\t\tprivate readonly migrationExecutionFacade: MigrationExecutionFacade,\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly workspace: Workspace,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Deploy Contember project')\n\t\tconfiguration.argument('dsn').optional()\n\n\t\tconfiguration.option('admin').valueRequired()\n\t\tconfiguration.option('root').valueNone()\n\t\tconfiguration.option('no-admin').valueNone()\n\t\tconfiguration.option('no-migrations').valueNone()\n\t\tconfiguration //\n\t\t\t.option('yes')\n\t\t\t.valueNone()\n\t\t\t.description('Do not ask for confirmation.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getArgument('dsn')\n\t\tconst adminEndpoint = input.getOption('admin')\n\t\tconst remoteProject = this.remoteProjectResolver.resolve(dsn, adminEndpoint)\n\t\tif (!remoteProject) {\n\t\t\tthrow `Project not defined. Please provide DSN or environment variables CONTEMBER_*`\n\t\t}\n\t\tthis.remoteProjectProvider.setRemoteProject(remoteProject)\n\n\t\tconst deployMigration = input.getOption('no-migrations') !== true\n\t\tconst yes = input.getOption('yes') === true\n\t\tconst projectAdminDistDir = this.workspace.adminDistDir\n\n\t\tconst deployAdmin = input.getOption('no-admin') !== true && !!remoteProject.adminEndpoint && !!projectAdminDistDir\n\n\t\tconsole.log('')\n\t\tconsole.log('Contember project deployment configuration:')\n\t\tconsole.log(`Target project name: ${remoteProject.name}`)\n\t\tconsole.log(`API URL: ${remoteProject.endpoint}`)\n\t\tconsole.log(`Admin URL: ${remoteProject.adminEndpoint ?? 'none'}`)\n\t\tconsole.log(`Deploy token: ${maskToken(remoteProject.token)}`)\n\t\tconsole.log('')\n\n\t\tif (deployAdmin && !(await this.fs.pathExists(`${projectAdminDistDir}/index.html`))) {\n\t\t\tthrow `Missing ${projectAdminDistDir}/index.html. Please build admin before deploying.`\n\t\t}\n\n\t\tif (deployMigration) {\n\t\t\tconst result = await this.migrationExecutionFacade.execute({\n\t\t\t\tforce: false,\n\t\t\t\trequireConfirmation: !yes,\n\t\t\t\tadditionalMessage: deployAdmin ? 'Admin will be deployed.' : 'Admin will NOT be deployed.',\n\t\t\t})\n\t\t\tif (!result) {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tif (deployAdmin) {\n\t\t\tif (!deployMigration && !yes) {\n\t\t\t\tif (!process.stdin.isTTY) {\n\t\t\t\t\tthrow 'TTY not available. Pass --yes option to confirm execution.'\n\t\t\t\t}\n\t\t\t\tconsole.log('Admin will be deployed.')\n\t\t\t\tconsole.log('(to skip this dialog, you can pass --yes option)')\n\t\t\t\tconsole.log('')\n\t\t\t\tconst { ok } = await prompts({\n\t\t\t\t\ttype: 'confirm',\n\t\t\t\t\tname: 'ok',\n\t\t\t\t\tmessage: `Do you want to continue?`,\n\t\t\t\t})\n\t\t\t\tif (!ok) {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait this.adminDeployer.deploy({\n\t\t\t\tdir: projectAdminDistDir,\n\t\t\t\troot: input.getOption('root') === true,\n\t\t\t})\n\t\t}\n\n\t\tconsole.log('')\n\t\tconsole.log('Deployment successful')\n\t\tconsole.log(`API URL: ${remoteProject.endpoint}`)\n\t\tconsole.log(`Admin URL: ${remoteProject.adminEndpoint ?? 'none'}`)\n\n\t\treturn 0\n\t}\n}\n"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DeployCommand.js","sources":["../../../../../../packages/cli/src/commands/deploy/DeployCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport prompts from 'prompts'\nimport { maskToken } from '../../lib/maskToken.js'\nimport { MigrationExecutionFacade } from '../../lib/migrations/MigrationExecutionFacade.js'\nimport { AdminDeployer } from '../../lib/admin/AdminDeployer.js'\nimport { FileSystem } from '../../lib/fs/FileSystem.js'\nimport { RemoteProject } from '../../lib/project/RemoteProject.js'\nimport { Workspace } from '../../lib/workspace/Workspace.js'\nimport { RemoteProjectProvider } from '../../lib/project/RemoteProjectProvider.js'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver.js'\n\ntype Args = {\n\tdsn?: string\n}\n\ntype Options = {\n\tadmin?: string\n\t['no-admin']?: boolean\n\t['no-migrations']?: boolean\n\troot?: boolean\n\tyes?: boolean\n\tsnapshot?: boolean\n}\n\nexport class DeployCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly adminDeployer: AdminDeployer,\n\t\tprivate readonly migrationExecutionFacade: MigrationExecutionFacade,\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly workspace: Workspace,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Deploy Contember project')\n\t\tconfiguration.argument('dsn').optional()\n\n\t\tconfiguration.option('admin').valueRequired()\n\t\tconfiguration.option('root').valueNone()\n\t\tconfiguration.option('no-admin').valueNone()\n\t\tconfiguration.option('no-migrations').valueNone()\n\t\tconfiguration.option('snapshot')\n\t\t\t.valueNone()\n\t\t\t.description('Bootstrap an empty target database from snapshot.json instead of replaying every migration')\n\t\tconfiguration //\n\t\t\t.option('yes')\n\t\t\t.valueNone()\n\t\t\t.description('Do not ask for confirmation.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst dsn = input.getArgument('dsn')\n\t\tconst adminEndpoint = input.getOption('admin')\n\t\tconst remoteProject = this.remoteProjectResolver.resolve(dsn, adminEndpoint)\n\t\tif (!remoteProject) {\n\t\t\tthrow `Project not defined. Please provide DSN or environment variables CONTEMBER_*`\n\t\t}\n\t\tthis.remoteProjectProvider.setRemoteProject(remoteProject)\n\n\t\tconst deployMigration = input.getOption('no-migrations') !== true\n\t\tconst yes = input.getOption('yes') === true\n\t\tconst projectAdminDistDir = this.workspace.adminDistDir\n\n\t\tconst deployAdmin = input.getOption('no-admin') !== true && !!remoteProject.adminEndpoint && !!projectAdminDistDir\n\n\t\tconsole.log('')\n\t\tconsole.log('Contember project deployment configuration:')\n\t\tconsole.log(`Target project name: ${remoteProject.name}`)\n\t\tconsole.log(`API URL: ${remoteProject.endpoint}`)\n\t\tconsole.log(`Admin URL: ${remoteProject.adminEndpoint ?? 'none'}`)\n\t\tconsole.log(`Deploy token: ${maskToken(remoteProject.token)}`)\n\t\tconsole.log('')\n\n\t\tif (deployAdmin && !(await this.fs.pathExists(`${projectAdminDistDir}/index.html`))) {\n\t\t\tthrow `Missing ${projectAdminDistDir}/index.html. Please build admin before deploying.`\n\t\t}\n\n\t\tif (deployMigration) {\n\t\t\tconst result = await this.migrationExecutionFacade.execute({\n\t\t\t\tforce: false,\n\t\t\t\trequireConfirmation: !yes,\n\t\t\t\tadditionalMessage: deployAdmin ? 'Admin will be deployed.' : 'Admin will NOT be deployed.',\n\t\t\t\tuseSnapshot: input.getOption('snapshot') === true,\n\t\t\t})\n\t\t\tif (!result) {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tif (deployAdmin) {\n\t\t\tif (!deployMigration && !yes) {\n\t\t\t\tif (!process.stdin.isTTY) {\n\t\t\t\t\tthrow 'TTY not available. Pass --yes option to confirm execution.'\n\t\t\t\t}\n\t\t\t\tconsole.log('Admin will be deployed.')\n\t\t\t\tconsole.log('(to skip this dialog, you can pass --yes option)')\n\t\t\t\tconsole.log('')\n\t\t\t\tconst { ok } = await prompts({\n\t\t\t\t\ttype: 'confirm',\n\t\t\t\t\tname: 'ok',\n\t\t\t\t\tmessage: `Do you want to continue?`,\n\t\t\t\t})\n\t\t\t\tif (!ok) {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait this.adminDeployer.deploy({\n\t\t\t\tdir: projectAdminDistDir,\n\t\t\t\troot: input.getOption('root') === true,\n\t\t\t})\n\t\t}\n\n\t\tconsole.log('')\n\t\tconsole.log('Deployment successful')\n\t\tconsole.log(`API URL: ${remoteProject.endpoint}`)\n\t\tconsole.log(`Admin URL: ${remoteProject.adminEndpoint ?? 'none'}`)\n\n\t\treturn 0\n\t}\n}\n"],"names":[],"mappings":";;;AAwBO,MAAM,sBAAsB,QAAuB;AAAA,EACzD,YACkB,eACA,0BACA,IACA,uBACA,uBACA,WAChB;AACD,UAAA;AAPiB,SAAA,gBAAA;AACA,SAAA,2BAAA;AACA,SAAA,KAAA;AACA,SAAA,wBAAA;AACA,SAAA,wBAAA;AACA,SAAA,YAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,0BAA0B;AACpD,kBAAc,SAAS,KAAK,EAAE,SAAA;AAE9B,kBAAc,OAAO,OAAO,EAAE,cAAA;AAC9B,kBAAc,OAAO,MAAM,EAAE,UAAA;AAC7B,kBAAc,OAAO,UAAU,EAAE,UAAA;AACjC,kBAAc,OAAO,eAAe,EAAE,UAAA;AACtC,kBAAc,OAAO,UAAU,EAC7B,UAAA,EACA,YAAY,4FAA4F;AAC1G,kBACE,OAAO,KAAK,EACZ,UAAA,EACA,YAAY,8BAA8B;AAAA,EAC7C;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AAC5E,UAAM,MAAM,MAAM,YAAY,KAAK;AACnC,UAAM,gBAAgB,MAAM,UAAU,OAAO;AAC7C,UAAM,gBAAgB,KAAK,sBAAsB,QAAQ,KAAK,aAAa;AAC3E,QAAI,CAAC,eAAe;AACnB,YAAM;AAAA,IACP;AACA,SAAK,sBAAsB,iBAAiB,aAAa;AAEzD,UAAM,kBAAkB,MAAM,UAAU,eAAe,MAAM;AAC7D,UAAM,MAAM,MAAM,UAAU,KAAK,MAAM;AACvC,UAAM,sBAAsB,KAAK,UAAU;AAE3C,UAAM,cAAc,MAAM,UAAU,UAAU,MAAM,QAAQ,CAAC,CAAC,cAAc,iBAAiB,CAAC,CAAC;AAE/F,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,6CAA6C;AACzD,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,YAAY,cAAc,QAAQ,EAAE;AAChD,YAAQ,IAAI,cAAc,cAAc,iBAAiB,MAAM,EAAE;AACjE,YAAQ,IAAI,iBAAiB,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AAEd,QAAI,eAAe,CAAE,MAAM,KAAK,GAAG,WAAW,GAAG,mBAAmB,aAAa,GAAI;AACpF,YAAM,WAAW,mBAAmB;AAAA,IACrC;AAEA,QAAI,iBAAiB;AACpB,YAAM,SAAS,MAAM,KAAK,yBAAyB,QAAQ;AAAA,QAC1D,OAAO;AAAA,QACP,qBAAqB,CAAC;AAAA,QACtB,mBAAmB,cAAc,4BAA4B;AAAA,QAC7D,aAAa,MAAM,UAAU,UAAU,MAAM;AAAA,MAAA,CAC7C;AACD,UAAI,CAAC,QAAQ;AACZ;AAAA,MACD;AAAA,IACD;AAEA,QAAI,aAAa;AAChB,UAAI,CAAC,mBAAmB,CAAC,KAAK;AAC7B,YAAI,CAAC,QAAQ,MAAM,OAAO;AACzB,gBAAM;AAAA,QACP;AACA,gBAAQ,IAAI,yBAAyB;AACrC,gBAAQ,IAAI,kDAAkD;AAC9D,gBAAQ,IAAI,EAAE;AACd,cAAM,EAAE,OAAO,MAAM,QAAQ;AAAA,UAC5B,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,QAAA,CACT;AACD,YAAI,CAAC,IAAI;AACR,iBAAO;AAAA,QACR;AAAA,MACD;AACA,YAAM,KAAK,cAAc,OAAO;AAAA,QAC/B,KAAK;AAAA,QACL,MAAM,MAAM,UAAU,MAAM,MAAM;AAAA,MAAA,CAClC;AAAA,IACF;AAEA,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,uBAAuB;AACnC,YAAQ,IAAI,YAAY,cAAc,QAAQ,EAAE;AAChD,YAAQ,IAAI,cAAc,cAAc,iBAAiB,MAAM,EAAE;AAEjE,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -4,9 +4,10 @@ const cliCommon = require("@contember/cli-common");
|
|
|
4
4
|
const schemaMigrations = require("@contember/schema-migrations");
|
|
5
5
|
const prompts = require("prompts");
|
|
6
6
|
const schemaUtils = require("@contember/schema-utils");
|
|
7
|
+
const migrationsClient = require("@contember/migrations-client");
|
|
7
8
|
const SchemaValidationPrinter = require("../../lib/schema/SchemaValidationPrinter.cjs");
|
|
8
9
|
class MigrationAmendCommand extends cliCommon.Command {
|
|
9
|
-
constructor(migrationsResolver, systemApiClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator) {
|
|
10
|
+
constructor(migrationsResolver, systemApiClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator, schemaStateManager) {
|
|
10
11
|
super();
|
|
11
12
|
this.migrationsResolver = migrationsResolver;
|
|
12
13
|
this.systemApiClientProvider = systemApiClientProvider;
|
|
@@ -17,6 +18,7 @@ class MigrationAmendCommand extends cliCommon.Command {
|
|
|
17
18
|
this.migrationsValidator = migrationsValidator;
|
|
18
19
|
this.migrationPrinter = migrationPrinter;
|
|
19
20
|
this.schemaMigrator = schemaMigrator;
|
|
21
|
+
this.schemaStateManager = schemaStateManager;
|
|
20
22
|
}
|
|
21
23
|
configure(configuration) {
|
|
22
24
|
configuration.description("Amends latest migration");
|
|
@@ -36,11 +38,21 @@ class MigrationAmendCommand extends cliCommon.Command {
|
|
|
36
38
|
throw `Some migrations are not executed. Unable to amend.`;
|
|
37
39
|
}
|
|
38
40
|
const schema = await this.schemaLoader.loadSchema();
|
|
41
|
+
const stateMode = await this.schemaStateManager.isStateMode();
|
|
39
42
|
try {
|
|
40
43
|
const initialSchema = await this.schemaVersionBuilder.buildSchema();
|
|
41
|
-
const intermediateResult = await this.migrationCreator.prepareMigration(initialSchema, schema, ""
|
|
44
|
+
const intermediateResult = await this.migrationCreator.prepareMigration(initialSchema, schema, "", {
|
|
45
|
+
skipNonModelDiffers: stateMode
|
|
46
|
+
});
|
|
47
|
+
const schemaState = stateMode ? migrationsClient.SchemaStateManager.schemaStateFromSchema(schema) : void 0;
|
|
48
|
+
const stateChanged = schemaState ? await this.schemaStateManager.writeState(schemaState, { dryRun: true }) : false;
|
|
42
49
|
if (intermediateResult === null) {
|
|
43
|
-
|
|
50
|
+
if (stateChanged) {
|
|
51
|
+
await this.schemaStateManager.writeState(schemaState);
|
|
52
|
+
console.log("Schema state updated (no model changes)");
|
|
53
|
+
} else {
|
|
54
|
+
console.log("Nothing to do");
|
|
55
|
+
}
|
|
44
56
|
return 0;
|
|
45
57
|
}
|
|
46
58
|
if (amendMigration.formatVersion !== intermediateResult.migration.formatVersion) {
|
|
@@ -55,7 +67,9 @@ class MigrationAmendCommand extends cliCommon.Command {
|
|
|
55
67
|
[...amendMigration.modifications, ...intermediateResult.migration.modifications],
|
|
56
68
|
amendMigration.formatVersion
|
|
57
69
|
);
|
|
58
|
-
const newMigrationResult = await this.migrationCreator.prepareMigration(prevSchema, newSchema, ""
|
|
70
|
+
const newMigrationResult = await this.migrationCreator.prepareMigration(prevSchema, newSchema, "", {
|
|
71
|
+
skipNonModelDiffers: stateMode
|
|
72
|
+
});
|
|
59
73
|
const followingMigrations = (await this.migrationsResolver.getSchemaMigrations()).filter(
|
|
60
74
|
(it) => it.version > amendMigration.version
|
|
61
75
|
);
|
|
@@ -82,6 +96,10 @@ class MigrationAmendCommand extends cliCommon.Command {
|
|
|
82
96
|
if (!newMigrationResult && await this.shouldRemove()) {
|
|
83
97
|
await this.migrationCreator.removeMigration(amendMigration.name);
|
|
84
98
|
await systemClient.migrationDelete(amendMigration.version);
|
|
99
|
+
if (schemaState) {
|
|
100
|
+
await this.schemaStateManager.writeState(schemaState);
|
|
101
|
+
await systemClient.migrate([], force, schemaState);
|
|
102
|
+
}
|
|
85
103
|
console.log("Latest migration was removed");
|
|
86
104
|
return 0;
|
|
87
105
|
}
|
|
@@ -93,6 +111,10 @@ class MigrationAmendCommand extends cliCommon.Command {
|
|
|
93
111
|
};
|
|
94
112
|
await this.migrationCreator.saveMigration(newMigration);
|
|
95
113
|
await systemClient.migrationModify(amendMigration.version, newMigration);
|
|
114
|
+
if (schemaState) {
|
|
115
|
+
await this.schemaStateManager.writeState(schemaState);
|
|
116
|
+
await systemClient.migrate([], force, schemaState);
|
|
117
|
+
}
|
|
96
118
|
return 0;
|
|
97
119
|
} catch (e) {
|
|
98
120
|
if (e instanceof schemaMigrations.InvalidSchemaException) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrationAmendCommand.cjs","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationAmendCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { InvalidSchemaException, SchemaMigrator } from '@contember/schema-migrations'\nimport prompts from 'prompts'\nimport { emptySchema } from '@contember/schema-utils'\nimport { MigrationCreator, MigrationsResolver, SchemaVersionBuilder, SystemClient } from '@contember/migrations-client'\nimport { MigrationsStatusFacade } from '../../lib/migrations/MigrationsStatusFacade'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { MigrationsValidator } from '../../lib/migrations/MigrationsValidator'\nimport { MigrationPrinter } from '../../lib/migrations/MigrationPrinter'\nimport { printValidationErrors } from '../../lib/schema/SchemaValidationPrinter'\nimport { SystemClientProvider } from '../../lib/SystemClientProvider'\n\ntype Args = {\n\tmigration?: string\n}\n\ntype Options = {\n\tyes?: true\n\tforce: boolean\n}\n\nexport class MigrationAmendCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly systemApiClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationsStatusFacade: MigrationsStatusFacade,\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationCreator: MigrationCreator,\n\t\tprivate readonly migrationsValidator: MigrationsValidator,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Amends latest migration')\n\t\tconfiguration.argument('migration').optional()\n\t\tconfiguration.option('force').description('Ignore migrations order and missing migrations (dev only)')\n\t\tconfiguration //\n\t\t\t.option('yes')\n\t\t\t.valueNone()\n\t\t\t.description('Do not ask for confirmation.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst migrationName = input.getArgument('migration')\n\t\tconst amendMigration = migrationName\n\t\t\t? await this.migrationsResolver.findSchemaMigrationByVersion(migrationName)\n\t\t\t: await this.migrationsResolver.findLatestSchemaMigration()\n\t\tif (!amendMigration) {\n\t\t\tthrow 'No migration to amend'\n\t\t}\n\t\tconst force = input.getOption('force')\n\t\tconst status = await this.migrationsStatusFacade.resolveMigrationsStatus({ force })\n\t\tif (status.migrationsToExecute.length > 0) {\n\t\t\tthrow `Some migrations are not executed. Unable to amend.`\n\t\t}\n\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\ttry {\n\t\t\tconst initialSchema = await this.schemaVersionBuilder.buildSchema()\n\t\t\tconst intermediateResult = await this.migrationCreator.prepareMigration(initialSchema, schema, '')\n\t\t\tif (intermediateResult === null) {\n\t\t\t\tconsole.log('Nothing to do')\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tif (amendMigration.formatVersion !== intermediateResult.migration.formatVersion) {\n\t\t\t\tthrow 'Incompatible migration format version'\n\t\t\t}\n\t\t\tconst prevSchema = await this.schemaVersionBuilder.buildSchemaAdvanced(\n\t\t\t\temptySchema,\n\t\t\t\tversion => version < amendMigration.version,\n\t\t\t)\n\t\t\tconst newSchema = await this.schemaMigrator.applyModifications(\n\t\t\t\tprevSchema,\n\t\t\t\t[...amendMigration.modifications, ...intermediateResult.migration.modifications],\n\t\t\t\tamendMigration.formatVersion,\n\t\t\t)\n\t\t\tconst newMigrationResult = await this.migrationCreator.prepareMigration(prevSchema, newSchema, '')\n\t\t\tconst followingMigrations = (await this.migrationsResolver.getSchemaMigrations()).filter(\n\t\t\t\tit => it.version > amendMigration.version,\n\t\t\t)\n\n\t\t\tconst valid = await this.migrationsValidator.validate(\n\t\t\t\tprevSchema,\n\t\t\t\t[...(newMigrationResult ? [newMigrationResult.migration] : []), ...followingMigrations],\n\t\t\t)\n\t\t\tif (!valid) {\n\t\t\t\tthrow `Cannot amend migration`\n\t\t\t}\n\n\t\t\tthis.migrationPrinter.printMigrationDescription(\n\t\t\t\tintermediateResult.initialSchema,\n\t\t\t\tintermediateResult.migration,\n\t\t\t\t{ noSql: true },\n\t\t\t)\n\t\t\tconsole.log(`Amending ${amendMigration.name}`)\n\t\t\tif (!(await this.shouldContinue(input))) {\n\t\t\t\tconsole.log('Aborting')\n\t\t\t\treturn 1\n\t\t\t}\n\t\t\tconst systemClient = this.systemApiClientProvider.get()\n\t\t\tawait systemClient.migrate([intermediateResult.migration], force)\n\t\t\tawait systemClient.migrationDelete(intermediateResult.migration.version)\n\n\t\t\tif (!newMigrationResult && await this.shouldRemove()) {\n\t\t\t\tawait this.migrationCreator.removeMigration(amendMigration.name)\n\t\t\t\tawait systemClient.migrationDelete(amendMigration.version)\n\t\t\t\tconsole.log('Latest migration was removed')\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tconst newMigration = {\n\t\t\t\tname: amendMigration.name,\n\t\t\t\tversion: amendMigration.version,\n\t\t\t\tformatVersion: newMigrationResult?.migration.formatVersion ?? amendMigration.formatVersion,\n\t\t\t\tmodifications: newMigrationResult?.migration.modifications ?? [],\n\t\t\t}\n\t\t\tawait this.migrationCreator.saveMigration(newMigration)\n\t\t\tawait systemClient.migrationModify(amendMigration.version, newMigration)\n\n\t\t\treturn 0\n\t\t} catch (e) {\n\t\t\tif (e instanceof InvalidSchemaException) {\n\t\t\t\tprintValidationErrors(e.validationErrors, e.message)\n\t\t\t\treturn 1\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tprivate async shouldContinue(input: Input<{}, { yes?: true }>): Promise<boolean> {\n\t\tconst yes = input.getOption('yes')\n\t\tif (yes) {\n\t\t\treturn true\n\t\t}\n\t\tconst { action } = await prompts({\n\t\t\ttype: 'select',\n\t\t\tname: 'action',\n\t\t\tmessage: 'Do you want to continue?',\n\t\t\tchoices: [\n\t\t\t\t{ value: 'yes', title: 'Yes' },\n\t\t\t\t{ value: 'no', title: 'Abort' },\n\t\t\t],\n\t\t})\n\t\treturn action === 'yes'\n\t}\n\n\tprivate async shouldRemove(): Promise<boolean> {\n\t\tconst { action } = await prompts({\n\t\t\ttype: 'select',\n\t\t\tname: 'action',\n\t\t\tmessage:\n\t\t\t\t'The amendment results in a no-op migration because the changes introduced by the latest migration were reverted.\\nYou can choose to remove the latest migration or to modify it so it is empty.',\n\t\t\tchoices: [\n\t\t\t\t{ value: 'remove', title: 'Remove latest migration' },\n\t\t\t\t{ value: 'keep', title: 'Keep latest migration and make it empty' },\n\t\t\t],\n\t\t})\n\t\treturn action === 'remove'\n\t}\n}\n"],"names":["Command","emptySchema","InvalidSchemaException","printValidationErrors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MigrationAmendCommand.cjs","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationAmendCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { InvalidSchemaException, SchemaMigrator } from '@contember/schema-migrations'\nimport prompts from 'prompts'\nimport { emptySchema } from '@contember/schema-utils'\nimport { MigrationCreator, MigrationsResolver, SchemaStateManager, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { MigrationsStatusFacade } from '../../lib/migrations/MigrationsStatusFacade.js'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader.js'\nimport { MigrationsValidator } from '../../lib/migrations/MigrationsValidator.js'\nimport { MigrationPrinter } from '../../lib/migrations/MigrationPrinter.js'\nimport { printValidationErrors } from '../../lib/schema/SchemaValidationPrinter.js'\nimport { SystemClientProvider } from '../../lib/SystemClientProvider.js'\n\ntype Args = {\n\tmigration?: string\n}\n\ntype Options = {\n\tyes?: true\n\tforce: boolean\n}\n\nexport class MigrationAmendCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly systemApiClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationsStatusFacade: MigrationsStatusFacade,\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationCreator: MigrationCreator,\n\t\tprivate readonly migrationsValidator: MigrationsValidator,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t\tprivate readonly schemaStateManager: SchemaStateManager,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Amends latest migration')\n\t\tconfiguration.argument('migration').optional()\n\t\tconfiguration.option('force').description('Ignore migrations order and missing migrations (dev only)')\n\t\tconfiguration //\n\t\t\t.option('yes')\n\t\t\t.valueNone()\n\t\t\t.description('Do not ask for confirmation.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst migrationName = input.getArgument('migration')\n\t\tconst amendMigration = migrationName\n\t\t\t? await this.migrationsResolver.findSchemaMigrationByVersion(migrationName)\n\t\t\t: await this.migrationsResolver.findLatestSchemaMigration()\n\t\tif (!amendMigration) {\n\t\t\tthrow 'No migration to amend'\n\t\t}\n\t\tconst force = input.getOption('force')\n\t\tconst status = await this.migrationsStatusFacade.resolveMigrationsStatus({ force })\n\t\tif (status.migrationsToExecute.length > 0) {\n\t\t\tthrow `Some migrations are not executed. Unable to amend.`\n\t\t}\n\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tconst stateMode = await this.schemaStateManager.isStateMode()\n\t\ttry {\n\t\t\tconst initialSchema = await this.schemaVersionBuilder.buildSchema()\n\t\t\tconst intermediateResult = await this.migrationCreator.prepareMigration(initialSchema, schema, '', {\n\t\t\t\tskipNonModelDiffers: stateMode,\n\t\t\t})\n\n\t\t\tconst schemaState = stateMode ? SchemaStateManager.schemaStateFromSchema(schema) : undefined\n\t\t\tconst stateChanged = schemaState ? await this.schemaStateManager.writeState(schemaState, { dryRun: true }) : false\n\n\t\t\tif (intermediateResult === null) {\n\t\t\t\tif (stateChanged) {\n\t\t\t\t\tawait this.schemaStateManager.writeState(schemaState!)\n\t\t\t\t\tconsole.log('Schema state updated (no model changes)')\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log('Nothing to do')\n\t\t\t\t}\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tif (amendMigration.formatVersion !== intermediateResult.migration.formatVersion) {\n\t\t\t\tthrow 'Incompatible migration format version'\n\t\t\t}\n\t\t\tconst prevSchema = await this.schemaVersionBuilder.buildSchemaAdvanced(\n\t\t\t\temptySchema,\n\t\t\t\tversion => version < amendMigration.version,\n\t\t\t)\n\t\t\tconst newSchema = await this.schemaMigrator.applyModifications(\n\t\t\t\tprevSchema,\n\t\t\t\t[...amendMigration.modifications, ...intermediateResult.migration.modifications],\n\t\t\t\tamendMigration.formatVersion,\n\t\t\t)\n\t\t\tconst newMigrationResult = await this.migrationCreator.prepareMigration(prevSchema, newSchema, '', {\n\t\t\t\tskipNonModelDiffers: stateMode,\n\t\t\t})\n\t\t\tconst followingMigrations = (await this.migrationsResolver.getSchemaMigrations()).filter(\n\t\t\t\tit => it.version > amendMigration.version,\n\t\t\t)\n\n\t\t\tconst valid = await this.migrationsValidator.validate(\n\t\t\t\tprevSchema,\n\t\t\t\t[...(newMigrationResult ? [newMigrationResult.migration] : []), ...followingMigrations],\n\t\t\t)\n\t\t\tif (!valid) {\n\t\t\t\tthrow `Cannot amend migration`\n\t\t\t}\n\n\t\t\tthis.migrationPrinter.printMigrationDescription(\n\t\t\t\tintermediateResult.initialSchema,\n\t\t\t\tintermediateResult.migration,\n\t\t\t\t{ noSql: true },\n\t\t\t)\n\t\t\tconsole.log(`Amending ${amendMigration.name}`)\n\t\t\tif (!(await this.shouldContinue(input))) {\n\t\t\t\tconsole.log('Aborting')\n\t\t\t\treturn 1\n\t\t\t}\n\t\t\tconst systemClient = this.systemApiClientProvider.get()\n\t\t\tawait systemClient.migrate([intermediateResult.migration], force)\n\t\t\tawait systemClient.migrationDelete(intermediateResult.migration.version)\n\n\t\t\tif (!newMigrationResult && await this.shouldRemove()) {\n\t\t\t\tawait this.migrationCreator.removeMigration(amendMigration.name)\n\t\t\t\tawait systemClient.migrationDelete(amendMigration.version)\n\t\t\t\tif (schemaState) {\n\t\t\t\t\tawait this.schemaStateManager.writeState(schemaState)\n\t\t\t\t\t// migrationDelete rebuilds the server schema from migrations, dropping the\n\t\t\t\t\t// non-model state; re-apply it so the server stays in sync with the state files.\n\t\t\t\t\tawait systemClient.migrate([], force, schemaState)\n\t\t\t\t}\n\t\t\t\tconsole.log('Latest migration was removed')\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tconst newMigration = {\n\t\t\t\tname: amendMigration.name,\n\t\t\t\tversion: amendMigration.version,\n\t\t\t\tformatVersion: newMigrationResult?.migration.formatVersion ?? amendMigration.formatVersion,\n\t\t\t\tmodifications: newMigrationResult?.migration.modifications ?? [],\n\t\t\t}\n\t\t\tawait this.migrationCreator.saveMigration(newMigration)\n\t\t\tawait systemClient.migrationModify(amendMigration.version, newMigration)\n\n\t\t\tif (schemaState) {\n\t\t\t\tawait this.schemaStateManager.writeState(schemaState)\n\t\t\t\t// migrationModify rebuilds the server schema from migrations, dropping the\n\t\t\t\t// non-model state; re-apply it so the server stays in sync with the state files.\n\t\t\t\tawait systemClient.migrate([], force, schemaState)\n\t\t\t}\n\n\t\t\treturn 0\n\t\t} catch (e) {\n\t\t\tif (e instanceof InvalidSchemaException) {\n\t\t\t\tprintValidationErrors(e.validationErrors, e.message)\n\t\t\t\treturn 1\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tprivate async shouldContinue(input: Input<{}, { yes?: true }>): Promise<boolean> {\n\t\tconst yes = input.getOption('yes')\n\t\tif (yes) {\n\t\t\treturn true\n\t\t}\n\t\tconst { action } = await prompts({\n\t\t\ttype: 'select',\n\t\t\tname: 'action',\n\t\t\tmessage: 'Do you want to continue?',\n\t\t\tchoices: [\n\t\t\t\t{ value: 'yes', title: 'Yes' },\n\t\t\t\t{ value: 'no', title: 'Abort' },\n\t\t\t],\n\t\t})\n\t\treturn action === 'yes'\n\t}\n\n\tprivate async shouldRemove(): Promise<boolean> {\n\t\tconst { action } = await prompts({\n\t\t\ttype: 'select',\n\t\t\tname: 'action',\n\t\t\tmessage:\n\t\t\t\t'The amendment results in a no-op migration because the changes introduced by the latest migration were reverted.\\nYou can choose to remove the latest migration or to modify it so it is empty.',\n\t\t\tchoices: [\n\t\t\t\t{ value: 'remove', title: 'Remove latest migration' },\n\t\t\t\t{ value: 'keep', title: 'Keep latest migration and make it empty' },\n\t\t\t],\n\t\t})\n\t\treturn action === 'remove'\n\t}\n}\n"],"names":["Command","SchemaStateManager","emptySchema","InvalidSchemaException","printValidationErrors"],"mappings":"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"}
|