@contember/cli 2.1.0-beta.1 → 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
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { isAbsolute, resolve } from "node:path";
|
|
2
|
+
const resolvePath = (path) => isAbsolute(path) ? path : resolve(process.cwd(), path);
|
|
3
|
+
const extractDefault = (result) => {
|
|
4
|
+
if (typeof result !== "object" || result === null || !("default" in result)) {
|
|
5
|
+
throw `Tenant config file must have a default export (use \`export default defineTenantConfig({ ... })\`).`;
|
|
6
|
+
}
|
|
7
|
+
const config = result.default;
|
|
8
|
+
if (typeof config !== "object" || config === null) {
|
|
9
|
+
throw `Default export of the tenant config file must be an object.`;
|
|
10
|
+
}
|
|
11
|
+
return config;
|
|
12
|
+
};
|
|
13
|
+
class ImportTenantConfigLoader {
|
|
14
|
+
async loadConfig(path) {
|
|
15
|
+
const result = await import(resolvePath(path));
|
|
16
|
+
return extractDefault(result);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
class TranspilingTenantConfigLoader {
|
|
20
|
+
constructor(jsCodeRunner) {
|
|
21
|
+
this.jsCodeRunner = jsCodeRunner;
|
|
22
|
+
}
|
|
23
|
+
async loadConfig(path) {
|
|
24
|
+
const result = await this.jsCodeRunner.run(resolvePath(path));
|
|
25
|
+
return extractDefault(result);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
ImportTenantConfigLoader,
|
|
30
|
+
TranspilingTenantConfigLoader
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=TenantConfigLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TenantConfigLoader.js","sources":["../../../../../../packages/cli/src/lib/tenant/TenantConfigLoader.ts"],"sourcesContent":["import { isAbsolute, resolve } from 'node:path'\nimport { JsCodeRunner } from '../js/JsCodeRunner.js'\nimport { TenantConfig } from './tenantConfig.js'\n\nconst resolvePath = (path: string): string => isAbsolute(path) ? path : resolve(process.cwd(), path)\n\nconst extractDefault = (result: unknown): TenantConfig => {\n\tif (typeof result !== 'object' || result === null || !('default' in result)) {\n\t\tthrow `Tenant config file must have a default export (use \\`export default defineTenantConfig({ ... })\\`).`\n\t}\n\tconst config = (result as { default: unknown }).default\n\tif (typeof config !== 'object' || config === null) {\n\t\tthrow `Default export of the tenant config file must be an object.`\n\t}\n\treturn config as TenantConfig\n}\n\nexport interface TenantConfigLoader {\n\tloadConfig(path: string): Promise<TenantConfig>\n}\n\n/** Loads a `tenant.config.ts` directly via dynamic import (Bun runtime). */\nexport class ImportTenantConfigLoader implements TenantConfigLoader {\n\tasync loadConfig(path: string): Promise<TenantConfig> {\n\t\tconst result = await import(resolvePath(path))\n\t\treturn extractDefault(result)\n\t}\n}\n\n/** Loads a `tenant.config.ts` by transpiling it first (Node runtime). */\nexport class TranspilingTenantConfigLoader implements TenantConfigLoader {\n\tconstructor(\n\t\tprivate readonly jsCodeRunner: JsCodeRunner,\n\t) {\n\t}\n\n\tasync loadConfig(path: string): Promise<TenantConfig> {\n\t\tconst result = await this.jsCodeRunner.run(resolvePath(path))\n\t\treturn extractDefault(result)\n\t}\n}\n"],"names":[],"mappings":";AAIA,MAAM,cAAc,CAAC,SAAyB,WAAW,IAAI,IAAI,OAAO,QAAQ,QAAQ,IAAA,GAAO,IAAI;AAEnG,MAAM,iBAAiB,CAAC,WAAkC;AACzD,MAAI,OAAO,WAAW,YAAY,WAAW,QAAQ,EAAE,aAAa,SAAS;AAC5E,UAAM;AAAA,EACP;AACA,QAAM,SAAU,OAAgC;AAChD,MAAI,OAAO,WAAW,YAAY,WAAW,MAAM;AAClD,UAAM;AAAA,EACP;AACA,SAAO;AACR;AAOO,MAAM,yBAAuD;AAAA,EACnE,MAAM,WAAW,MAAqC;AACrD,UAAM,SAAS,MAAM,OAAO,YAAY,IAAI;AAC5C,WAAO,eAAe,MAAM;AAAA,EAC7B;AACD;AAGO,MAAM,8BAA4D;AAAA,EACxE,YACkB,cAChB;AADgB,SAAA,eAAA;AAAA,EAElB;AAAA,EAEA,MAAM,WAAW,MAAqC;AACrD,UAAM,SAAS,MAAM,KAAK,aAAa,IAAI,YAAY,IAAI,CAAC;AAC5D,WAAO,eAAe,MAAM;AAAA,EAC7B;AACD;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenantConfig.cjs","sources":["../../../../../../packages/cli/src/lib/tenant/tenantConfig.ts"],"sourcesContent":["import type {\n\tConfigCaptchaInput,\n\tConfigInput,\n\tConfigLoginInput,\n\tConfigPasswordInput,\n\tConfigPasswordlessInput,\n\tConfigRateLimitsInput,\n\tConfigRateLimitWindowInput,\n\tIDPOptions,\n\tMailTemplate,\n} from '@contember/graphql-client-tenant'\n\n// Enums and leaf input shapes are re-derived from the generated tenant client\n// (`@contember/graphql-client-tenant`, generated from `tenant.graphql`), so they\n// stay in sync with the schema. The only thing layered on top is `| null` on the\n// fields where the API treats an explicit `null`/`''` as \"clear/disable\" — the\n// codegen renders nullable inputs as optional only and drops the `| null`.\nexport type { CaptchaProvider, ConfigPolicy, MailType } from '@contember/graphql-client-tenant'\n\n/**\n * ISO 8601 duration string, e.g. `\"P1D\"` (1 day) or `\"PT5M\"` (5 minutes).\n */\nexport type Interval = string\n\n/** Adds `| null` to the given keys of an otherwise non-nullable generated input. */\ntype WithNullable<T, K extends keyof T> = Omit<T, K> & { readonly [P in K]?: T[P] | null }\n\nexport type TenantPasswordConfig = WithNullable<ConfigPasswordInput, 'pattern'>\n\nexport type TenantLoginConfig = WithNullable<ConfigLoginInput, 'maxTokenExpiration'>\n\nexport type TenantPasswordlessConfig = WithNullable<ConfigPasswordlessInput, 'url'>\n\n/**\n * `provider: null` disables captcha verification.\n * `secret` is write-only: `null`/omitted leaves the stored value unchanged, `''` clears it.\n */\nexport type TenantCaptchaConfig = WithNullable<ConfigCaptchaInput, 'provider' | 'secret' | 'threshold'>\n\nexport type TenantRateLimitWindow = ConfigRateLimitWindowInput\n\nexport type TenantRateLimitsConfig = ConfigRateLimitsInput\n\n/**\n * Maps to the tenant `configure(config: ConfigInput!)` mutation. New config\n * groups added to the schema flow through automatically; only the groups that\n * need `| null` overrides are pinned.\n */\nexport type TenantGlobalConfig = Omit<ConfigInput, 'password' | 'login' | 'passwordless' | 'captcha'> & {\n\treadonly password?: TenantPasswordConfig\n\treadonly login?: TenantLoginConfig\n\treadonly passwordless?: TenantPasswordlessConfig\n\treadonly captcha?: TenantCaptchaConfig\n}\n\nexport type TenantIdpOptions = IDPOptions\n\n/**\n * A single identity provider. The record key is used as the provider slug.\n * `type` is the handler key registered on the server (built-in: `oidc`,\n * `facebook`, `apple`).\n *\n * This is a CLI-specific composite — the `addIDP`/`updateIDP` mutations take\n * `type`/`configuration`/`options` as separate arguments, not a single input.\n */\nexport interface TenantIdpConfig {\n\ttype: string\n\tconfiguration: Record<string, unknown>\n\toptions?: TenantIdpOptions\n\t/** When `true`, the provider is disabled (kept, but not usable for sign-in). */\n\tdisabled?: boolean\n}\n\n/** Maps to the `addMailTemplate(template: MailTemplate!)` mutation. */\nexport type TenantMailTemplate = WithNullable<MailTemplate, 'projectSlug' | 'replyTo'>\n\n/**\n * Declarative tenant configuration. Applied idempotently by\n * `contember tenant:apply`.\n */\nexport interface TenantConfig {\n\tconfig?: TenantGlobalConfig\n\t/** Identity providers keyed by slug. */\n\tidentityProviders?: Record<string, TenantIdpConfig>\n\tmailTemplates?: TenantMailTemplate[]\n}\n\n/**\n * Type-safe helper for authoring a `tenant.config.ts`. Returns the config\n * unchanged — it exists only to provide editor autocompletion and type\n * checking.\n *\n * ```ts\n * import { defineTenantConfig } from '@contember/cli'\n *\n * export default defineTenantConfig({\n * config: { password: { minLength: 8 } },\n * })\n * ```\n */\nexport const defineTenantConfig = (config: TenantConfig): TenantConfig => config\n"],"names":[],"mappings":";;AAoGO,MAAM,qBAAqB,CAAC,WAAuC;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenantConfig.js","sources":["../../../../../../packages/cli/src/lib/tenant/tenantConfig.ts"],"sourcesContent":["import type {\n\tConfigCaptchaInput,\n\tConfigInput,\n\tConfigLoginInput,\n\tConfigPasswordInput,\n\tConfigPasswordlessInput,\n\tConfigRateLimitsInput,\n\tConfigRateLimitWindowInput,\n\tIDPOptions,\n\tMailTemplate,\n} from '@contember/graphql-client-tenant'\n\n// Enums and leaf input shapes are re-derived from the generated tenant client\n// (`@contember/graphql-client-tenant`, generated from `tenant.graphql`), so they\n// stay in sync with the schema. The only thing layered on top is `| null` on the\n// fields where the API treats an explicit `null`/`''` as \"clear/disable\" — the\n// codegen renders nullable inputs as optional only and drops the `| null`.\nexport type { CaptchaProvider, ConfigPolicy, MailType } from '@contember/graphql-client-tenant'\n\n/**\n * ISO 8601 duration string, e.g. `\"P1D\"` (1 day) or `\"PT5M\"` (5 minutes).\n */\nexport type Interval = string\n\n/** Adds `| null` to the given keys of an otherwise non-nullable generated input. */\ntype WithNullable<T, K extends keyof T> = Omit<T, K> & { readonly [P in K]?: T[P] | null }\n\nexport type TenantPasswordConfig = WithNullable<ConfigPasswordInput, 'pattern'>\n\nexport type TenantLoginConfig = WithNullable<ConfigLoginInput, 'maxTokenExpiration'>\n\nexport type TenantPasswordlessConfig = WithNullable<ConfigPasswordlessInput, 'url'>\n\n/**\n * `provider: null` disables captcha verification.\n * `secret` is write-only: `null`/omitted leaves the stored value unchanged, `''` clears it.\n */\nexport type TenantCaptchaConfig = WithNullable<ConfigCaptchaInput, 'provider' | 'secret' | 'threshold'>\n\nexport type TenantRateLimitWindow = ConfigRateLimitWindowInput\n\nexport type TenantRateLimitsConfig = ConfigRateLimitsInput\n\n/**\n * Maps to the tenant `configure(config: ConfigInput!)` mutation. New config\n * groups added to the schema flow through automatically; only the groups that\n * need `| null` overrides are pinned.\n */\nexport type TenantGlobalConfig = Omit<ConfigInput, 'password' | 'login' | 'passwordless' | 'captcha'> & {\n\treadonly password?: TenantPasswordConfig\n\treadonly login?: TenantLoginConfig\n\treadonly passwordless?: TenantPasswordlessConfig\n\treadonly captcha?: TenantCaptchaConfig\n}\n\nexport type TenantIdpOptions = IDPOptions\n\n/**\n * A single identity provider. The record key is used as the provider slug.\n * `type` is the handler key registered on the server (built-in: `oidc`,\n * `facebook`, `apple`).\n *\n * This is a CLI-specific composite — the `addIDP`/`updateIDP` mutations take\n * `type`/`configuration`/`options` as separate arguments, not a single input.\n */\nexport interface TenantIdpConfig {\n\ttype: string\n\tconfiguration: Record<string, unknown>\n\toptions?: TenantIdpOptions\n\t/** When `true`, the provider is disabled (kept, but not usable for sign-in). */\n\tdisabled?: boolean\n}\n\n/** Maps to the `addMailTemplate(template: MailTemplate!)` mutation. */\nexport type TenantMailTemplate = WithNullable<MailTemplate, 'projectSlug' | 'replyTo'>\n\n/**\n * Declarative tenant configuration. Applied idempotently by\n * `contember tenant:apply`.\n */\nexport interface TenantConfig {\n\tconfig?: TenantGlobalConfig\n\t/** Identity providers keyed by slug. */\n\tidentityProviders?: Record<string, TenantIdpConfig>\n\tmailTemplates?: TenantMailTemplate[]\n}\n\n/**\n * Type-safe helper for authoring a `tenant.config.ts`. Returns the config\n * unchanged — it exists only to provide editor autocompletion and type\n * checking.\n *\n * ```ts\n * import { defineTenantConfig } from '@contember/cli'\n *\n * export default defineTenantConfig({\n * config: { password: { minLength: 8 } },\n * })\n * ```\n */\nexport const defineTenantConfig = (config: TenantConfig): TenantConfig => config\n"],"names":[],"mappings":"AAoGO,MAAM,qBAAqB,CAAC,WAAuC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTransferClient.cjs","sources":["../../../../../../packages/cli/src/lib/transfer/DataTransferClient.ts"],"sourcesContent":["import { LineTransform } from '../stream'\nimport { Readable } from 'node:stream'\nimport { createGzip } from 'node:zlib'\nimport { RemoteProject } from '../project/RemoteProject'\n\nexport class DataTransferClient {\n\tdataImport = async ({ printProgress, stream, project, gzip }: {\n\t\tstream: Readable\n\t\tproject: RemoteProject\n\t\tprintProgress: (message: string) => void\n\t\tgzip: boolean\n\t}) => {\n\t\tlet table = ''\n\t\tlet rowCount = 0\n\t\tlet rowTotal = 0\n\t\tlet transferred = 0\n\t\tlet start = Date.now()\n\t\tconst inputStream = stream.pipe(\n\t\t\tnew LineTransform(line => {\n\t\t\t\ttransferred += line.length + 1\n\t\t\t\tif (line === '') {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\tconst data = JSON.parse(line)\n\t\t\t\tswitch (data[0]) {\n\t\t\t\t\tcase 'importSystemSchemaBegin':\n\t\t\t\t\t\treturn JSON.stringify([data[0], { ...data[1], project: project.name }])\n\t\t\t\t\tcase 'importContentSchemaBegin':\n\t\t\t\t\t\treturn JSON.stringify([data[0], { ...data[1], project: project.name }])\n\t\t\t\t\tcase 'insertBegin':\n\t\t\t\t\t\ttable = data[1].table\n\t\t\t\t\t\trowCount = 0\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'insertRow':\n\t\t\t\t\t\trowCount++\n\t\t\t\t\t\trowTotal++\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'insertEnd':\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif ((rowCount % 1000) === 0 || data[0] !== 'insertRow') {\n\t\t\t\t\tconst mbs = Math.floor(transferred / 1024 / 1024).toString()\n\t\t\t\t\tconst durationS = Math.floor((Date.now() - start) / 1000)\n\t\t\t\t\tprintProgress(`transferred ${mbs} MiB; inserted ${rowCount} ${table} rows, ${rowTotal} total; ${durationS} seconds`)\n\t\t\t\t}\n\t\t\t\treturn line\n\t\t\t}),\n\t\t)\n\t\tinputStream.on('error', err => {\n\t\t\tthrow new Error(`Input stream error: ${err}`)\n\t\t})\n\n\t\tconst bodyStream = Readable.toWeb(gzip ? inputStream.pipe(createGzip()) : inputStream) as unknown as BodyInit\n\n\t\tconst response = await fetch(`${project.endpoint}/import`, {\n\t\t\theaders: {\n\t\t\t\t'Authorization': `Bearer ${project.token}`,\n\t\t\t\t'Content-type': 'application/x-ndjson',\n\t\t\t\t...(gzip ? { 'Content-Encoding': 'gzip' } : {}),\n\t\t\t},\n\t\t\tmethod: 'POST',\n\t\t\tbody: bodyStream,\n\t\t\t...{ duplex: 'half' },\n\t\t})\n\t\tif (!response.ok) {\n\t\t\tconst responseBody = await response.text()\n\t\t\tthrow new Error(`Invalid response: ${response.statusText}\\n${responseBody}`)\n\t\t}\n\t\treturn response\n\t}\n\n\tdataExport = async ({ project: { name: project, token, endpoint: baseUrl }, gzip, includeSystem, excludeTables }: {\n\t\tproject: RemoteProject\n\t\texcludeTables?: string[]\n\t\tincludeSystem: boolean\n\t\tgzip: boolean\n\t}) => {\n\t\tconst response = await fetch(`${baseUrl}/export`, {\n\t\t\theaders: {\n\t\t\t\t'Authorization': `Bearer ${token}`,\n\t\t\t\t'Accept-Encoding': gzip ? 'gzip' : 'identity',\n\t\t\t\t'Content-type': 'application/json',\n\t\t\t},\n\t\t\tmethod: 'POST',\n\t\t\tbody: JSON.stringify({\n\t\t\t\tprojects: [{ slug: project, system: includeSystem, excludeTables }],\n\t\t\t}),\n\t\t})\n\t\tif (!response.ok) {\n\t\t\tconst responseBody = await response.text()\n\t\t\tthrow new Error(`Invalid response: ${response.statusText}\\n${responseBody}`)\n\t\t}\n\t\treturn response\n\t}\n}\n"],"names":["stream","LineTransform","Readable","createGzip"],"mappings":";;;;;;;;AAKO,MAAM,mBAAmB;AAAA,EAAzB,cAAA;AACN,kBAAA,MAAA,cAAa,OAAO,EAAE,eAAA,QAAeA,UAAQ,SAAS,WAKhD;AACL,UAAI,QAAQ;AACZ,UAAI,WAAW;AACf,UAAI,WAAW;AACf,UAAI,cAAc;AAClB,UAAI,QAAQ,KAAK,IAAA;AACjB,YAAM,cAAcA,SAAO;AAAA,QAC1B,IAAIC,OAAAA,cAAc,CAAA,SAAQ;AACzB,yBAAe,KAAK,SAAS;AAC7B,cAAI,SAAS,IAAI;AAChB,mBAAO;AAAA,UACR;AACA,gBAAM,OAAO,KAAK,MAAM,IAAI;AAC5B,kBAAQ,KAAK,CAAC,GAAA;AAAA,YACb,KAAK;AACJ,qBAAO,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,QAAQ,KAAA,CAAM,CAAC;AAAA,YACvE,KAAK;AACJ,qBAAO,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,QAAQ,KAAA,CAAM,CAAC;AAAA,YACvE,KAAK;AACJ,sBAAQ,KAAK,CAAC,EAAE;AAChB,yBAAW;AACX;AAAA,YACD,KAAK;AACJ;AACA;AACA;AAAA,UAEA;AAEF,cAAK,WAAW,QAAU,KAAK,KAAK,CAAC,MAAM,aAAa;AACvD,kBAAM,MAAM,KAAK,MAAM,cAAc,OAAO,IAAI,EAAE,SAAA;AAClD,kBAAM,YAAY,KAAK,OAAO,KAAK,IAAA,IAAQ,SAAS,GAAI;AACxD,0BAAc,eAAe,GAAG,kBAAkB,QAAQ,IAAI,KAAK,UAAU,QAAQ,WAAW,SAAS,UAAU;AAAA,UACpH;AACA,iBAAO;AAAA,QACR,CAAC;AAAA,MAAA;AAEF,kBAAY,GAAG,SAAS,CAAA,QAAO;AAC9B,cAAM,IAAI,MAAM,uBAAuB,GAAG,EAAE;AAAA,MAC7C,CAAC;AAED,YAAM,aAAaC,qBAAS,MAAM,OAAO,YAAY,KAAKC,UAAAA,YAAY,IAAI,WAAW;AAErF,YAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,QAAQ,WAAW;AAAA,QAC1D,SAAS;AAAA,UACR,iBAAiB,UAAU,QAAQ,KAAK;AAAA,UACxC,gBAAgB;AAAA,UAChB,GAAI,OAAO,EAAE,oBAAoB,WAAW,CAAA;AAAA,QAAC;AAAA,QAE9C,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,GAAG,EAAE,QAAQ,OAAA;AAAA,MAAO,CACpB;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,cAAM,eAAe,MAAM,SAAS,KAAA;AACpC,cAAM,IAAI,MAAM,qBAAqB,SAAS,UAAU;AAAA,EAAK,YAAY,EAAE;AAAA,MAC5E;AACA,aAAO;AAAA,IACR,CAAA;AAEA,kBAAA,MAAA,cAAa,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,OAAO,UAAU,QAAA,GAAW,MAAM,eAAe,oBAK3F;AACL,YAAM,WAAW,MAAM,MAAM,GAAG,OAAO,WAAW;AAAA,QACjD,SAAS;AAAA,UACR,iBAAiB,UAAU,KAAK;AAAA,UAChC,mBAAmB,OAAO,SAAS;AAAA,UACnC,gBAAgB;AAAA,QAAA;AAAA,QAEjB,QAAQ;AAAA,QACR,MAAM,KAAK,UAAU;AAAA,UACpB,UAAU,CAAC,EAAE,MAAM,SAAS,QAAQ,eAAe,eAAe;AAAA,QAAA,CAClE;AAAA,MAAA,CACD;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,cAAM,eAAe,MAAM,SAAS,KAAA;AACpC,cAAM,IAAI,MAAM,qBAAqB,SAAS,UAAU;AAAA,EAAK,YAAY,EAAE;AAAA,MAC5E;AACA,aAAO;AAAA,IACR,CAAA;AAAA,EAAA;AACD;;"}
|
|
1
|
+
{"version":3,"file":"DataTransferClient.cjs","sources":["../../../../../../packages/cli/src/lib/transfer/DataTransferClient.ts"],"sourcesContent":["import { LineTransform } from '../stream.js'\nimport { Readable } from 'node:stream'\nimport { createGzip } from 'node:zlib'\nimport { RemoteProject } from '../project/RemoteProject.js'\n\nexport class DataTransferClient {\n\tdataImport = async ({ printProgress, stream, project, gzip }: {\n\t\tstream: Readable\n\t\tproject: RemoteProject\n\t\tprintProgress: (message: string) => void\n\t\tgzip: boolean\n\t}) => {\n\t\tlet table = ''\n\t\tlet rowCount = 0\n\t\tlet rowTotal = 0\n\t\tlet transferred = 0\n\t\tlet start = Date.now()\n\t\tconst inputStream = stream.pipe(\n\t\t\tnew LineTransform(line => {\n\t\t\t\ttransferred += line.length + 1\n\t\t\t\tif (line === '') {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\tconst data = JSON.parse(line)\n\t\t\t\tswitch (data[0]) {\n\t\t\t\t\tcase 'importSystemSchemaBegin':\n\t\t\t\t\t\treturn JSON.stringify([data[0], { ...data[1], project: project.name }])\n\t\t\t\t\tcase 'importContentSchemaBegin':\n\t\t\t\t\t\treturn JSON.stringify([data[0], { ...data[1], project: project.name }])\n\t\t\t\t\tcase 'insertBegin':\n\t\t\t\t\t\ttable = data[1].table\n\t\t\t\t\t\trowCount = 0\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'insertRow':\n\t\t\t\t\t\trowCount++\n\t\t\t\t\t\trowTotal++\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'insertEnd':\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif ((rowCount % 1000) === 0 || data[0] !== 'insertRow') {\n\t\t\t\t\tconst mbs = Math.floor(transferred / 1024 / 1024).toString()\n\t\t\t\t\tconst durationS = Math.floor((Date.now() - start) / 1000)\n\t\t\t\t\tprintProgress(`transferred ${mbs} MiB; inserted ${rowCount} ${table} rows, ${rowTotal} total; ${durationS} seconds`)\n\t\t\t\t}\n\t\t\t\treturn line\n\t\t\t}),\n\t\t)\n\t\tinputStream.on('error', err => {\n\t\t\tthrow new Error(`Input stream error: ${err}`)\n\t\t})\n\n\t\tconst bodyStream = Readable.toWeb(gzip ? inputStream.pipe(createGzip()) : inputStream) as unknown as BodyInit\n\n\t\tconst response = await fetch(`${project.endpoint}/import`, {\n\t\t\theaders: {\n\t\t\t\t'Authorization': `Bearer ${project.token}`,\n\t\t\t\t'Content-type': 'application/x-ndjson',\n\t\t\t\t...(gzip ? { 'Content-Encoding': 'gzip' } : {}),\n\t\t\t},\n\t\t\tmethod: 'POST',\n\t\t\tbody: bodyStream,\n\t\t\t...{ duplex: 'half' },\n\t\t})\n\t\tif (!response.ok) {\n\t\t\tconst responseBody = await response.text()\n\t\t\tthrow new Error(`Invalid response: ${response.statusText}\\n${responseBody}`)\n\t\t}\n\t\treturn response\n\t}\n\n\tdataExport = async ({ project: { name: project, token, endpoint: baseUrl }, gzip, includeSystem, excludeTables }: {\n\t\tproject: RemoteProject\n\t\texcludeTables?: string[]\n\t\tincludeSystem: boolean\n\t\tgzip: boolean\n\t}) => {\n\t\tconst response = await fetch(`${baseUrl}/export`, {\n\t\t\theaders: {\n\t\t\t\t'Authorization': `Bearer ${token}`,\n\t\t\t\t'Accept-Encoding': gzip ? 'gzip' : 'identity',\n\t\t\t\t'Content-type': 'application/json',\n\t\t\t},\n\t\t\tmethod: 'POST',\n\t\t\tbody: JSON.stringify({\n\t\t\t\tprojects: [{ slug: project, system: includeSystem, excludeTables }],\n\t\t\t}),\n\t\t})\n\t\tif (!response.ok) {\n\t\t\tconst responseBody = await response.text()\n\t\t\tthrow new Error(`Invalid response: ${response.statusText}\\n${responseBody}`)\n\t\t}\n\t\treturn response\n\t}\n}\n"],"names":["stream","LineTransform","Readable","createGzip"],"mappings":";;;;;;;;AAKO,MAAM,mBAAmB;AAAA,EAAzB,cAAA;AACN,kBAAA,MAAA,cAAa,OAAO,EAAE,eAAA,QAAeA,UAAQ,SAAS,WAKhD;AACL,UAAI,QAAQ;AACZ,UAAI,WAAW;AACf,UAAI,WAAW;AACf,UAAI,cAAc;AAClB,UAAI,QAAQ,KAAK,IAAA;AACjB,YAAM,cAAcA,SAAO;AAAA,QAC1B,IAAIC,OAAAA,cAAc,CAAA,SAAQ;AACzB,yBAAe,KAAK,SAAS;AAC7B,cAAI,SAAS,IAAI;AAChB,mBAAO;AAAA,UACR;AACA,gBAAM,OAAO,KAAK,MAAM,IAAI;AAC5B,kBAAQ,KAAK,CAAC,GAAA;AAAA,YACb,KAAK;AACJ,qBAAO,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,QAAQ,KAAA,CAAM,CAAC;AAAA,YACvE,KAAK;AACJ,qBAAO,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,QAAQ,KAAA,CAAM,CAAC;AAAA,YACvE,KAAK;AACJ,sBAAQ,KAAK,CAAC,EAAE;AAChB,yBAAW;AACX;AAAA,YACD,KAAK;AACJ;AACA;AACA;AAAA,UAEA;AAEF,cAAK,WAAW,QAAU,KAAK,KAAK,CAAC,MAAM,aAAa;AACvD,kBAAM,MAAM,KAAK,MAAM,cAAc,OAAO,IAAI,EAAE,SAAA;AAClD,kBAAM,YAAY,KAAK,OAAO,KAAK,IAAA,IAAQ,SAAS,GAAI;AACxD,0BAAc,eAAe,GAAG,kBAAkB,QAAQ,IAAI,KAAK,UAAU,QAAQ,WAAW,SAAS,UAAU;AAAA,UACpH;AACA,iBAAO;AAAA,QACR,CAAC;AAAA,MAAA;AAEF,kBAAY,GAAG,SAAS,CAAA,QAAO;AAC9B,cAAM,IAAI,MAAM,uBAAuB,GAAG,EAAE;AAAA,MAC7C,CAAC;AAED,YAAM,aAAaC,qBAAS,MAAM,OAAO,YAAY,KAAKC,UAAAA,YAAY,IAAI,WAAW;AAErF,YAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,QAAQ,WAAW;AAAA,QAC1D,SAAS;AAAA,UACR,iBAAiB,UAAU,QAAQ,KAAK;AAAA,UACxC,gBAAgB;AAAA,UAChB,GAAI,OAAO,EAAE,oBAAoB,WAAW,CAAA;AAAA,QAAC;AAAA,QAE9C,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,GAAG,EAAE,QAAQ,OAAA;AAAA,MAAO,CACpB;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,cAAM,eAAe,MAAM,SAAS,KAAA;AACpC,cAAM,IAAI,MAAM,qBAAqB,SAAS,UAAU;AAAA,EAAK,YAAY,EAAE;AAAA,MAC5E;AACA,aAAO;AAAA,IACR,CAAA;AAEA,kBAAA,MAAA,cAAa,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,OAAO,UAAU,QAAA,GAAW,MAAM,eAAe,oBAK3F;AACL,YAAM,WAAW,MAAM,MAAM,GAAG,OAAO,WAAW;AAAA,QACjD,SAAS;AAAA,UACR,iBAAiB,UAAU,KAAK;AAAA,UAChC,mBAAmB,OAAO,SAAS;AAAA,UACnC,gBAAgB;AAAA,QAAA;AAAA,QAEjB,QAAQ;AAAA,QACR,MAAM,KAAK,UAAU;AAAA,UACpB,UAAU,CAAC,EAAE,MAAM,SAAS,QAAQ,eAAe,eAAe;AAAA,QAAA,CAClE;AAAA,MAAA,CACD;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,cAAM,eAAe,MAAM,SAAS,KAAA;AACpC,cAAM,IAAI,MAAM,qBAAqB,SAAS,UAAU;AAAA,EAAK,YAAY,EAAE;AAAA,MAC5E;AACA,aAAO;AAAA,IACR,CAAA;AAAA,EAAA;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTransferClient.js","sources":["../../../../../../packages/cli/src/lib/transfer/DataTransferClient.ts"],"sourcesContent":["import { LineTransform } from '../stream'\nimport { Readable } from 'node:stream'\nimport { createGzip } from 'node:zlib'\nimport { RemoteProject } from '../project/RemoteProject'\n\nexport class DataTransferClient {\n\tdataImport = async ({ printProgress, stream, project, gzip }: {\n\t\tstream: Readable\n\t\tproject: RemoteProject\n\t\tprintProgress: (message: string) => void\n\t\tgzip: boolean\n\t}) => {\n\t\tlet table = ''\n\t\tlet rowCount = 0\n\t\tlet rowTotal = 0\n\t\tlet transferred = 0\n\t\tlet start = Date.now()\n\t\tconst inputStream = stream.pipe(\n\t\t\tnew LineTransform(line => {\n\t\t\t\ttransferred += line.length + 1\n\t\t\t\tif (line === '') {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\tconst data = JSON.parse(line)\n\t\t\t\tswitch (data[0]) {\n\t\t\t\t\tcase 'importSystemSchemaBegin':\n\t\t\t\t\t\treturn JSON.stringify([data[0], { ...data[1], project: project.name }])\n\t\t\t\t\tcase 'importContentSchemaBegin':\n\t\t\t\t\t\treturn JSON.stringify([data[0], { ...data[1], project: project.name }])\n\t\t\t\t\tcase 'insertBegin':\n\t\t\t\t\t\ttable = data[1].table\n\t\t\t\t\t\trowCount = 0\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'insertRow':\n\t\t\t\t\t\trowCount++\n\t\t\t\t\t\trowTotal++\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'insertEnd':\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif ((rowCount % 1000) === 0 || data[0] !== 'insertRow') {\n\t\t\t\t\tconst mbs = Math.floor(transferred / 1024 / 1024).toString()\n\t\t\t\t\tconst durationS = Math.floor((Date.now() - start) / 1000)\n\t\t\t\t\tprintProgress(`transferred ${mbs} MiB; inserted ${rowCount} ${table} rows, ${rowTotal} total; ${durationS} seconds`)\n\t\t\t\t}\n\t\t\t\treturn line\n\t\t\t}),\n\t\t)\n\t\tinputStream.on('error', err => {\n\t\t\tthrow new Error(`Input stream error: ${err}`)\n\t\t})\n\n\t\tconst bodyStream = Readable.toWeb(gzip ? inputStream.pipe(createGzip()) : inputStream) as unknown as BodyInit\n\n\t\tconst response = await fetch(`${project.endpoint}/import`, {\n\t\t\theaders: {\n\t\t\t\t'Authorization': `Bearer ${project.token}`,\n\t\t\t\t'Content-type': 'application/x-ndjson',\n\t\t\t\t...(gzip ? { 'Content-Encoding': 'gzip' } : {}),\n\t\t\t},\n\t\t\tmethod: 'POST',\n\t\t\tbody: bodyStream,\n\t\t\t...{ duplex: 'half' },\n\t\t})\n\t\tif (!response.ok) {\n\t\t\tconst responseBody = await response.text()\n\t\t\tthrow new Error(`Invalid response: ${response.statusText}\\n${responseBody}`)\n\t\t}\n\t\treturn response\n\t}\n\n\tdataExport = async ({ project: { name: project, token, endpoint: baseUrl }, gzip, includeSystem, excludeTables }: {\n\t\tproject: RemoteProject\n\t\texcludeTables?: string[]\n\t\tincludeSystem: boolean\n\t\tgzip: boolean\n\t}) => {\n\t\tconst response = await fetch(`${baseUrl}/export`, {\n\t\t\theaders: {\n\t\t\t\t'Authorization': `Bearer ${token}`,\n\t\t\t\t'Accept-Encoding': gzip ? 'gzip' : 'identity',\n\t\t\t\t'Content-type': 'application/json',\n\t\t\t},\n\t\t\tmethod: 'POST',\n\t\t\tbody: JSON.stringify({\n\t\t\t\tprojects: [{ slug: project, system: includeSystem, excludeTables }],\n\t\t\t}),\n\t\t})\n\t\tif (!response.ok) {\n\t\t\tconst responseBody = await response.text()\n\t\t\tthrow new Error(`Invalid response: ${response.statusText}\\n${responseBody}`)\n\t\t}\n\t\treturn response\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAKO,MAAM,mBAAmB;AAAA,EAAzB,cAAA;AACN,kBAAA,MAAA,cAAa,OAAO,EAAE,eAAe,QAAQ,SAAS,WAKhD;AACL,UAAI,QAAQ;AACZ,UAAI,WAAW;AACf,UAAI,WAAW;AACf,UAAI,cAAc;AAClB,UAAI,QAAQ,KAAK,IAAA;AACjB,YAAM,cAAc,OAAO;AAAA,QAC1B,IAAI,cAAc,CAAA,SAAQ;AACzB,yBAAe,KAAK,SAAS;AAC7B,cAAI,SAAS,IAAI;AAChB,mBAAO;AAAA,UACR;AACA,gBAAM,OAAO,KAAK,MAAM,IAAI;AAC5B,kBAAQ,KAAK,CAAC,GAAA;AAAA,YACb,KAAK;AACJ,qBAAO,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,QAAQ,KAAA,CAAM,CAAC;AAAA,YACvE,KAAK;AACJ,qBAAO,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,QAAQ,KAAA,CAAM,CAAC;AAAA,YACvE,KAAK;AACJ,sBAAQ,KAAK,CAAC,EAAE;AAChB,yBAAW;AACX;AAAA,YACD,KAAK;AACJ;AACA;AACA;AAAA,UAEA;AAEF,cAAK,WAAW,QAAU,KAAK,KAAK,CAAC,MAAM,aAAa;AACvD,kBAAM,MAAM,KAAK,MAAM,cAAc,OAAO,IAAI,EAAE,SAAA;AAClD,kBAAM,YAAY,KAAK,OAAO,KAAK,IAAA,IAAQ,SAAS,GAAI;AACxD,0BAAc,eAAe,GAAG,kBAAkB,QAAQ,IAAI,KAAK,UAAU,QAAQ,WAAW,SAAS,UAAU;AAAA,UACpH;AACA,iBAAO;AAAA,QACR,CAAC;AAAA,MAAA;AAEF,kBAAY,GAAG,SAAS,CAAA,QAAO;AAC9B,cAAM,IAAI,MAAM,uBAAuB,GAAG,EAAE;AAAA,MAC7C,CAAC;AAED,YAAM,aAAa,SAAS,MAAM,OAAO,YAAY,KAAK,YAAY,IAAI,WAAW;AAErF,YAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,QAAQ,WAAW;AAAA,QAC1D,SAAS;AAAA,UACR,iBAAiB,UAAU,QAAQ,KAAK;AAAA,UACxC,gBAAgB;AAAA,UAChB,GAAI,OAAO,EAAE,oBAAoB,WAAW,CAAA;AAAA,QAAC;AAAA,QAE9C,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,GAAG,EAAE,QAAQ,OAAA;AAAA,MAAO,CACpB;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,cAAM,eAAe,MAAM,SAAS,KAAA;AACpC,cAAM,IAAI,MAAM,qBAAqB,SAAS,UAAU;AAAA,EAAK,YAAY,EAAE;AAAA,MAC5E;AACA,aAAO;AAAA,IACR,CAAA;AAEA,kBAAA,MAAA,cAAa,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,OAAO,UAAU,QAAA,GAAW,MAAM,eAAe,oBAK3F;AACL,YAAM,WAAW,MAAM,MAAM,GAAG,OAAO,WAAW;AAAA,QACjD,SAAS;AAAA,UACR,iBAAiB,UAAU,KAAK;AAAA,UAChC,mBAAmB,OAAO,SAAS;AAAA,UACnC,gBAAgB;AAAA,QAAA;AAAA,QAEjB,QAAQ;AAAA,QACR,MAAM,KAAK,UAAU;AAAA,UACpB,UAAU,CAAC,EAAE,MAAM,SAAS,QAAQ,eAAe,eAAe;AAAA,QAAA,CAClE;AAAA,MAAA,CACD;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,cAAM,eAAe,MAAM,SAAS,KAAA;AACpC,cAAM,IAAI,MAAM,qBAAqB,SAAS,UAAU;AAAA,EAAK,YAAY,EAAE;AAAA,MAC5E;AACA,aAAO;AAAA,IACR,CAAA;AAAA,EAAA;AACD;"}
|
|
1
|
+
{"version":3,"file":"DataTransferClient.js","sources":["../../../../../../packages/cli/src/lib/transfer/DataTransferClient.ts"],"sourcesContent":["import { LineTransform } from '../stream.js'\nimport { Readable } from 'node:stream'\nimport { createGzip } from 'node:zlib'\nimport { RemoteProject } from '../project/RemoteProject.js'\n\nexport class DataTransferClient {\n\tdataImport = async ({ printProgress, stream, project, gzip }: {\n\t\tstream: Readable\n\t\tproject: RemoteProject\n\t\tprintProgress: (message: string) => void\n\t\tgzip: boolean\n\t}) => {\n\t\tlet table = ''\n\t\tlet rowCount = 0\n\t\tlet rowTotal = 0\n\t\tlet transferred = 0\n\t\tlet start = Date.now()\n\t\tconst inputStream = stream.pipe(\n\t\t\tnew LineTransform(line => {\n\t\t\t\ttransferred += line.length + 1\n\t\t\t\tif (line === '') {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\tconst data = JSON.parse(line)\n\t\t\t\tswitch (data[0]) {\n\t\t\t\t\tcase 'importSystemSchemaBegin':\n\t\t\t\t\t\treturn JSON.stringify([data[0], { ...data[1], project: project.name }])\n\t\t\t\t\tcase 'importContentSchemaBegin':\n\t\t\t\t\t\treturn JSON.stringify([data[0], { ...data[1], project: project.name }])\n\t\t\t\t\tcase 'insertBegin':\n\t\t\t\t\t\ttable = data[1].table\n\t\t\t\t\t\trowCount = 0\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'insertRow':\n\t\t\t\t\t\trowCount++\n\t\t\t\t\t\trowTotal++\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'insertEnd':\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif ((rowCount % 1000) === 0 || data[0] !== 'insertRow') {\n\t\t\t\t\tconst mbs = Math.floor(transferred / 1024 / 1024).toString()\n\t\t\t\t\tconst durationS = Math.floor((Date.now() - start) / 1000)\n\t\t\t\t\tprintProgress(`transferred ${mbs} MiB; inserted ${rowCount} ${table} rows, ${rowTotal} total; ${durationS} seconds`)\n\t\t\t\t}\n\t\t\t\treturn line\n\t\t\t}),\n\t\t)\n\t\tinputStream.on('error', err => {\n\t\t\tthrow new Error(`Input stream error: ${err}`)\n\t\t})\n\n\t\tconst bodyStream = Readable.toWeb(gzip ? inputStream.pipe(createGzip()) : inputStream) as unknown as BodyInit\n\n\t\tconst response = await fetch(`${project.endpoint}/import`, {\n\t\t\theaders: {\n\t\t\t\t'Authorization': `Bearer ${project.token}`,\n\t\t\t\t'Content-type': 'application/x-ndjson',\n\t\t\t\t...(gzip ? { 'Content-Encoding': 'gzip' } : {}),\n\t\t\t},\n\t\t\tmethod: 'POST',\n\t\t\tbody: bodyStream,\n\t\t\t...{ duplex: 'half' },\n\t\t})\n\t\tif (!response.ok) {\n\t\t\tconst responseBody = await response.text()\n\t\t\tthrow new Error(`Invalid response: ${response.statusText}\\n${responseBody}`)\n\t\t}\n\t\treturn response\n\t}\n\n\tdataExport = async ({ project: { name: project, token, endpoint: baseUrl }, gzip, includeSystem, excludeTables }: {\n\t\tproject: RemoteProject\n\t\texcludeTables?: string[]\n\t\tincludeSystem: boolean\n\t\tgzip: boolean\n\t}) => {\n\t\tconst response = await fetch(`${baseUrl}/export`, {\n\t\t\theaders: {\n\t\t\t\t'Authorization': `Bearer ${token}`,\n\t\t\t\t'Accept-Encoding': gzip ? 'gzip' : 'identity',\n\t\t\t\t'Content-type': 'application/json',\n\t\t\t},\n\t\t\tmethod: 'POST',\n\t\t\tbody: JSON.stringify({\n\t\t\t\tprojects: [{ slug: project, system: includeSystem, excludeTables }],\n\t\t\t}),\n\t\t})\n\t\tif (!response.ok) {\n\t\t\tconst responseBody = await response.text()\n\t\t\tthrow new Error(`Invalid response: ${response.statusText}\\n${responseBody}`)\n\t\t}\n\t\treturn response\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAKO,MAAM,mBAAmB;AAAA,EAAzB,cAAA;AACN,kBAAA,MAAA,cAAa,OAAO,EAAE,eAAe,QAAQ,SAAS,WAKhD;AACL,UAAI,QAAQ;AACZ,UAAI,WAAW;AACf,UAAI,WAAW;AACf,UAAI,cAAc;AAClB,UAAI,QAAQ,KAAK,IAAA;AACjB,YAAM,cAAc,OAAO;AAAA,QAC1B,IAAI,cAAc,CAAA,SAAQ;AACzB,yBAAe,KAAK,SAAS;AAC7B,cAAI,SAAS,IAAI;AAChB,mBAAO;AAAA,UACR;AACA,gBAAM,OAAO,KAAK,MAAM,IAAI;AAC5B,kBAAQ,KAAK,CAAC,GAAA;AAAA,YACb,KAAK;AACJ,qBAAO,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,QAAQ,KAAA,CAAM,CAAC;AAAA,YACvE,KAAK;AACJ,qBAAO,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,QAAQ,KAAA,CAAM,CAAC;AAAA,YACvE,KAAK;AACJ,sBAAQ,KAAK,CAAC,EAAE;AAChB,yBAAW;AACX;AAAA,YACD,KAAK;AACJ;AACA;AACA;AAAA,UAEA;AAEF,cAAK,WAAW,QAAU,KAAK,KAAK,CAAC,MAAM,aAAa;AACvD,kBAAM,MAAM,KAAK,MAAM,cAAc,OAAO,IAAI,EAAE,SAAA;AAClD,kBAAM,YAAY,KAAK,OAAO,KAAK,IAAA,IAAQ,SAAS,GAAI;AACxD,0BAAc,eAAe,GAAG,kBAAkB,QAAQ,IAAI,KAAK,UAAU,QAAQ,WAAW,SAAS,UAAU;AAAA,UACpH;AACA,iBAAO;AAAA,QACR,CAAC;AAAA,MAAA;AAEF,kBAAY,GAAG,SAAS,CAAA,QAAO;AAC9B,cAAM,IAAI,MAAM,uBAAuB,GAAG,EAAE;AAAA,MAC7C,CAAC;AAED,YAAM,aAAa,SAAS,MAAM,OAAO,YAAY,KAAK,YAAY,IAAI,WAAW;AAErF,YAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,QAAQ,WAAW;AAAA,QAC1D,SAAS;AAAA,UACR,iBAAiB,UAAU,QAAQ,KAAK;AAAA,UACxC,gBAAgB;AAAA,UAChB,GAAI,OAAO,EAAE,oBAAoB,WAAW,CAAA;AAAA,QAAC;AAAA,QAE9C,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,GAAG,EAAE,QAAQ,OAAA;AAAA,MAAO,CACpB;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,cAAM,eAAe,MAAM,SAAS,KAAA;AACpC,cAAM,IAAI,MAAM,qBAAqB,SAAS,UAAU;AAAA,EAAK,YAAY,EAAE;AAAA,MAC5E;AACA,aAAO;AAAA,IACR,CAAA;AAEA,kBAAA,MAAA,cAAa,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,OAAO,UAAU,QAAA,GAAW,MAAM,eAAe,oBAK3F;AACL,YAAM,WAAW,MAAM,MAAM,GAAG,OAAO,WAAW;AAAA,QACjD,SAAS;AAAA,UACR,iBAAiB,UAAU,KAAK;AAAA,UAChC,mBAAmB,OAAO,SAAS;AAAA,UACnC,gBAAgB;AAAA,QAAA;AAAA,QAEjB,QAAQ;AAAA,QACR,MAAM,KAAK,UAAU;AAAA,UACpB,UAAU,CAAC,EAAE,MAAM,SAAS,QAAQ,eAAe,eAAe;AAAA,QAAA,CAClE;AAAA,MAAA,CACD;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,cAAM,eAAe,MAAM,SAAS,KAAA;AACpC,cAAM,IAAI,MAAM,qBAAqB,SAAS,UAAU;AAAA,EAAK,YAAY,EAAE;AAAA,MAC5E;AACA,aAAO;AAAA,IACR,CAAA;AAAA,EAAA;AACD;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
3
|
+
const path = require("node:path");
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
5
5
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
6
|
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
@@ -9,10 +9,10 @@ class WorkspaceResolver {
|
|
|
9
9
|
this.yamlHandler = yamlHandler;
|
|
10
10
|
__publicField(this, "resolve", async (baseDir) => {
|
|
11
11
|
const config = await this.readConfig(baseDir);
|
|
12
|
-
const apiDir = config.apiDir ?
|
|
13
|
-
const migrationsDir = config.migrationsDir ?
|
|
14
|
-
const adminDir = config.adminDir === false ? void 0 : config.adminDir ?
|
|
15
|
-
const adminDistDir = adminDir === void 0 ? void 0 : config.adminDistDir ?
|
|
12
|
+
const apiDir = config.apiDir ? path.resolve(baseDir, config.apiDir) : path.join(baseDir, "api");
|
|
13
|
+
const migrationsDir = config.migrationsDir ? path.resolve(baseDir, config.migrationsDir) : path.join(apiDir, "migrations");
|
|
14
|
+
const adminDir = config.adminDir === false ? void 0 : config.adminDir ? path.resolve(baseDir, config.adminDir) : path.join(baseDir, "admin");
|
|
15
|
+
const adminDistDir = adminDir === void 0 ? void 0 : config.adminDistDir ? path.resolve(baseDir, config.adminDistDir) : path.join(adminDir, "dist");
|
|
16
16
|
return {
|
|
17
17
|
baseDir,
|
|
18
18
|
apiDir,
|
|
@@ -23,7 +23,7 @@ class WorkspaceResolver {
|
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
async readConfig(baseDir) {
|
|
26
|
-
const configPath =
|
|
26
|
+
const configPath = path.join(baseDir, "contember.yaml");
|
|
27
27
|
try {
|
|
28
28
|
return await this.yamlHandler.readYaml(configPath);
|
|
29
29
|
} catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceResolver.cjs","sources":["../../../../../../packages/cli/src/lib/workspace/WorkspaceResolver.ts"],"sourcesContent":["import { Workspace } from './Workspace'\nimport { join, resolve } from 'node:path'\nimport { YamlHandler } from '../fs/YamlHandler'\n\nexport interface LocalProjectConfig {\n\tapiDir?: string\n\tmigrationsDir?: string\n\tadminDir?: string | false\n\tadminDistDir?: string\n}\n\nexport class WorkspaceResolver {\n\tconstructor(\n\t\tprivate readonly yamlHandler: YamlHandler,\n\t) {\n\t}\n\n\tresolve = async (baseDir: string): Promise<Workspace> => {\n\t\tconst config = await this.readConfig(baseDir)\n\t\tconst apiDir = config.apiDir ? resolve(baseDir, config.apiDir) : join(baseDir, 'api')\n\t\tconst migrationsDir = config.migrationsDir ? resolve(baseDir, config.migrationsDir) : join(apiDir, 'migrations')\n\t\tconst adminDir = config.adminDir === false ? undefined : (config.adminDir ? resolve(baseDir, config.adminDir) : join(baseDir, 'admin'))\n\t\tconst adminDistDir = adminDir === undefined ? undefined : (config.adminDistDir ? resolve(baseDir, config.adminDistDir) : join(adminDir, 'dist'))\n\n\t\treturn {\n\t\t\tbaseDir,\n\t\t\tapiDir,\n\t\t\tmigrationsDir,\n\t\t\tadminDir,\n\t\t\tadminDistDir,\n\t\t}\n\t}\n\n\tprivate async readConfig(baseDir: string): Promise<LocalProjectConfig> {\n\t\tconst configPath = join(baseDir, 'contember.yaml')\n\t\ttry {\n\t\t\treturn await this.yamlHandler.readYaml(configPath)\n\t\t} catch (e: any) {\n\t\t\tif (e.code === 'ENOENT') {\n\t\t\t\treturn {}\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n}\n"],"names":["resolve","join"],"mappings":";;;;;;AAWO,MAAM,kBAAkB;AAAA,EAC9B,YACkB,aAChB;AADgB,SAAA,cAAA;AAIlB,kBAAA,MAAA,WAAU,OAAO,YAAwC;AACxD,YAAM,SAAS,MAAM,KAAK,WAAW,OAAO;AAC5C,YAAM,SAAS,OAAO,SAASA,
|
|
1
|
+
{"version":3,"file":"WorkspaceResolver.cjs","sources":["../../../../../../packages/cli/src/lib/workspace/WorkspaceResolver.ts"],"sourcesContent":["import { Workspace } from './Workspace.js'\nimport { join, resolve } from 'node:path'\nimport { YamlHandler } from '../fs/YamlHandler.js'\n\nexport interface LocalProjectConfig {\n\tapiDir?: string\n\tmigrationsDir?: string\n\tadminDir?: string | false\n\tadminDistDir?: string\n}\n\nexport class WorkspaceResolver {\n\tconstructor(\n\t\tprivate readonly yamlHandler: YamlHandler,\n\t) {\n\t}\n\n\tresolve = async (baseDir: string): Promise<Workspace> => {\n\t\tconst config = await this.readConfig(baseDir)\n\t\tconst apiDir = config.apiDir ? resolve(baseDir, config.apiDir) : join(baseDir, 'api')\n\t\tconst migrationsDir = config.migrationsDir ? resolve(baseDir, config.migrationsDir) : join(apiDir, 'migrations')\n\t\tconst adminDir = config.adminDir === false ? undefined : (config.adminDir ? resolve(baseDir, config.adminDir) : join(baseDir, 'admin'))\n\t\tconst adminDistDir = adminDir === undefined ? undefined : (config.adminDistDir ? resolve(baseDir, config.adminDistDir) : join(adminDir, 'dist'))\n\n\t\treturn {\n\t\t\tbaseDir,\n\t\t\tapiDir,\n\t\t\tmigrationsDir,\n\t\t\tadminDir,\n\t\t\tadminDistDir,\n\t\t}\n\t}\n\n\tprivate async readConfig(baseDir: string): Promise<LocalProjectConfig> {\n\t\tconst configPath = join(baseDir, 'contember.yaml')\n\t\ttry {\n\t\t\treturn await this.yamlHandler.readYaml(configPath)\n\t\t} catch (e: any) {\n\t\t\tif (e.code === 'ENOENT') {\n\t\t\t\treturn {}\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n}\n"],"names":["resolve","join"],"mappings":";;;;;;AAWO,MAAM,kBAAkB;AAAA,EAC9B,YACkB,aAChB;AADgB,SAAA,cAAA;AAIlB,kBAAA,MAAA,WAAU,OAAO,YAAwC;AACxD,YAAM,SAAS,MAAM,KAAK,WAAW,OAAO;AAC5C,YAAM,SAAS,OAAO,SAASA,aAAQ,SAAS,OAAO,MAAM,IAAIC,UAAK,SAAS,KAAK;AACpF,YAAM,gBAAgB,OAAO,gBAAgBD,aAAQ,SAAS,OAAO,aAAa,IAAIC,UAAK,QAAQ,YAAY;AAC/G,YAAM,WAAW,OAAO,aAAa,QAAQ,SAAa,OAAO,WAAWD,KAAAA,QAAQ,SAAS,OAAO,QAAQ,IAAIC,KAAAA,KAAK,SAAS,OAAO;AACrI,YAAM,eAAe,aAAa,SAAY,SAAa,OAAO,eAAeD,KAAAA,QAAQ,SAAS,OAAO,YAAY,IAAIC,KAAAA,KAAK,UAAU,MAAM;AAE9I,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IAEF,CAAA;AAAA,EAhBA;AAAA,EAkBA,MAAc,WAAW,SAA8C;AACtE,UAAM,aAAaA,KAAAA,KAAK,SAAS,gBAAgB;AACjD,QAAI;AACH,aAAO,MAAM,KAAK,YAAY,SAAS,UAAU;AAAA,IAClD,SAAS,GAAQ;AAChB,UAAI,EAAE,SAAS,UAAU;AACxB,eAAO,CAAA;AAAA,MACR;AACA,YAAM;AAAA,IACP;AAAA,EACD;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceResolver.js","sources":["../../../../../../packages/cli/src/lib/workspace/WorkspaceResolver.ts"],"sourcesContent":["import { Workspace } from './Workspace'\nimport { join, resolve } from 'node:path'\nimport { YamlHandler } from '../fs/YamlHandler'\n\nexport interface LocalProjectConfig {\n\tapiDir?: string\n\tmigrationsDir?: string\n\tadminDir?: string | false\n\tadminDistDir?: string\n}\n\nexport class WorkspaceResolver {\n\tconstructor(\n\t\tprivate readonly yamlHandler: YamlHandler,\n\t) {\n\t}\n\n\tresolve = async (baseDir: string): Promise<Workspace> => {\n\t\tconst config = await this.readConfig(baseDir)\n\t\tconst apiDir = config.apiDir ? resolve(baseDir, config.apiDir) : join(baseDir, 'api')\n\t\tconst migrationsDir = config.migrationsDir ? resolve(baseDir, config.migrationsDir) : join(apiDir, 'migrations')\n\t\tconst adminDir = config.adminDir === false ? undefined : (config.adminDir ? resolve(baseDir, config.adminDir) : join(baseDir, 'admin'))\n\t\tconst adminDistDir = adminDir === undefined ? undefined : (config.adminDistDir ? resolve(baseDir, config.adminDistDir) : join(adminDir, 'dist'))\n\n\t\treturn {\n\t\t\tbaseDir,\n\t\t\tapiDir,\n\t\t\tmigrationsDir,\n\t\t\tadminDir,\n\t\t\tadminDistDir,\n\t\t}\n\t}\n\n\tprivate async readConfig(baseDir: string): Promise<LocalProjectConfig> {\n\t\tconst configPath = join(baseDir, 'contember.yaml')\n\t\ttry {\n\t\t\treturn await this.yamlHandler.readYaml(configPath)\n\t\t} catch (e: any) {\n\t\t\tif (e.code === 'ENOENT') {\n\t\t\t\treturn {}\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAWO,MAAM,kBAAkB;AAAA,EAC9B,YACkB,aAChB;AADgB,SAAA,cAAA;AAIlB,kBAAA,MAAA,WAAU,OAAO,YAAwC;AACxD,YAAM,SAAS,MAAM,KAAK,WAAW,OAAO;AAC5C,YAAM,SAAS,OAAO,SAAS,QAAQ,SAAS,OAAO,MAAM,IAAI,KAAK,SAAS,KAAK;AACpF,YAAM,gBAAgB,OAAO,gBAAgB,QAAQ,SAAS,OAAO,aAAa,IAAI,KAAK,QAAQ,YAAY;AAC/G,YAAM,WAAW,OAAO,aAAa,QAAQ,SAAa,OAAO,WAAW,QAAQ,SAAS,OAAO,QAAQ,IAAI,KAAK,SAAS,OAAO;AACrI,YAAM,eAAe,aAAa,SAAY,SAAa,OAAO,eAAe,QAAQ,SAAS,OAAO,YAAY,IAAI,KAAK,UAAU,MAAM;AAE9I,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IAEF,CAAA;AAAA,EAhBA;AAAA,EAkBA,MAAc,WAAW,SAA8C;AACtE,UAAM,aAAa,KAAK,SAAS,gBAAgB;AACjD,QAAI;AACH,aAAO,MAAM,KAAK,YAAY,SAAS,UAAU;AAAA,IAClD,SAAS,GAAQ;AAChB,UAAI,EAAE,SAAS,UAAU;AACxB,eAAO,CAAA;AAAA,MACR;AACA,YAAM;AAAA,IACP;AAAA,EACD;AACD;"}
|
|
1
|
+
{"version":3,"file":"WorkspaceResolver.js","sources":["../../../../../../packages/cli/src/lib/workspace/WorkspaceResolver.ts"],"sourcesContent":["import { Workspace } from './Workspace.js'\nimport { join, resolve } from 'node:path'\nimport { YamlHandler } from '../fs/YamlHandler.js'\n\nexport interface LocalProjectConfig {\n\tapiDir?: string\n\tmigrationsDir?: string\n\tadminDir?: string | false\n\tadminDistDir?: string\n}\n\nexport class WorkspaceResolver {\n\tconstructor(\n\t\tprivate readonly yamlHandler: YamlHandler,\n\t) {\n\t}\n\n\tresolve = async (baseDir: string): Promise<Workspace> => {\n\t\tconst config = await this.readConfig(baseDir)\n\t\tconst apiDir = config.apiDir ? resolve(baseDir, config.apiDir) : join(baseDir, 'api')\n\t\tconst migrationsDir = config.migrationsDir ? resolve(baseDir, config.migrationsDir) : join(apiDir, 'migrations')\n\t\tconst adminDir = config.adminDir === false ? undefined : (config.adminDir ? resolve(baseDir, config.adminDir) : join(baseDir, 'admin'))\n\t\tconst adminDistDir = adminDir === undefined ? undefined : (config.adminDistDir ? resolve(baseDir, config.adminDistDir) : join(adminDir, 'dist'))\n\n\t\treturn {\n\t\t\tbaseDir,\n\t\t\tapiDir,\n\t\t\tmigrationsDir,\n\t\t\tadminDir,\n\t\t\tadminDistDir,\n\t\t}\n\t}\n\n\tprivate async readConfig(baseDir: string): Promise<LocalProjectConfig> {\n\t\tconst configPath = join(baseDir, 'contember.yaml')\n\t\ttry {\n\t\t\treturn await this.yamlHandler.readYaml(configPath)\n\t\t} catch (e: any) {\n\t\t\tif (e.code === 'ENOENT') {\n\t\t\t\treturn {}\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAWO,MAAM,kBAAkB;AAAA,EAC9B,YACkB,aAChB;AADgB,SAAA,cAAA;AAIlB,kBAAA,MAAA,WAAU,OAAO,YAAwC;AACxD,YAAM,SAAS,MAAM,KAAK,WAAW,OAAO;AAC5C,YAAM,SAAS,OAAO,SAAS,QAAQ,SAAS,OAAO,MAAM,IAAI,KAAK,SAAS,KAAK;AACpF,YAAM,gBAAgB,OAAO,gBAAgB,QAAQ,SAAS,OAAO,aAAa,IAAI,KAAK,QAAQ,YAAY;AAC/G,YAAM,WAAW,OAAO,aAAa,QAAQ,SAAa,OAAO,WAAW,QAAQ,SAAS,OAAO,QAAQ,IAAI,KAAK,SAAS,OAAO;AACrI,YAAM,eAAe,aAAa,SAAY,SAAa,OAAO,eAAe,QAAQ,SAAS,OAAO,YAAY,IAAI,KAAK,UAAU,MAAM;AAE9I,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IAEF,CAAA;AAAA,EAhBA;AAAA,EAkBA,MAAc,WAAW,SAA8C;AACtE,UAAM,aAAa,KAAK,SAAS,gBAAgB;AACjD,QAAI;AACH,aAAO,MAAM,KAAK,YAAY,SAAS,UAAU;AAAA,IAClD,SAAS,GAAQ;AAChB,UAAI,EAAE,SAAS,UAAU;AACxB,eAAO,CAAA;AAAA,MACR;AACA,YAAM;AAAA,IACP;AAAA,EACD;AACD;"}
|
|
@@ -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/production/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":";;;;;AAwBO,MAAM,sBAAsBA,UAAAA,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,iBAAiBC,UAAAA,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;;"}
|
|
@@ -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;
|