@contember/cli 2.1.0-alpha.8 → 2.1.0-beta.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 +39 -0
- package/dist/development/run.cjs.map +1 -1
- package/dist/development/run.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsGetEventCommand.cjs +31 -0
- package/dist/development/src/commands/actions/ActionsGetEventCommand.cjs.map +1 -0
- package/dist/development/src/commands/actions/ActionsGetEventCommand.js +31 -0
- package/dist/development/src/commands/actions/ActionsGetEventCommand.js.map +1 -0
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.cjs +60 -0
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.cjs.map +1 -0
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.js +60 -0
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.js.map +1 -0
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.cjs +29 -0
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.cjs.map +1 -0
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.js +29 -0
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.js.map +1 -0
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.cjs +32 -0
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.cjs.map +1 -0
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.js +32 -0
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.js.map +1 -0
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.cjs +43 -0
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.cjs.map +1 -0
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.js +43 -0
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.js.map +1 -0
- package/dist/development/src/commands/actions/ActionsStopEventCommand.cjs +32 -0
- package/dist/development/src/commands/actions/ActionsStopEventCommand.cjs.map +1 -0
- package/dist/development/src/commands/actions/ActionsStopEventCommand.js +32 -0
- package/dist/development/src/commands/actions/ActionsStopEventCommand.js.map +1 -0
- package/dist/development/src/commands/deploy/DeployCommand.cjs.map +1 -1
- package/dist/development/src/commands/deploy/DeployCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationAmendCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationBlankCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationBlankCommand.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.map +1 -1
- package/dist/development/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationExecuteCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
- 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/MigrationStatusCommand.cjs +1 -1
- package/dist/development/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationStatusCommand.js +1 -1
- package/dist/development/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
- package/dist/development/src/commands/misc/VersionCommand.cjs.map +1 -1
- package/dist/development/src/commands/misc/VersionCommand.js.map +1 -1
- 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/transfer/ExportCommand.cjs +7 -2
- package/dist/development/src/commands/transfer/ExportCommand.cjs.map +1 -1
- package/dist/development/src/commands/transfer/ExportCommand.js +8 -3
- package/dist/development/src/commands/transfer/ExportCommand.js.map +1 -1
- package/dist/development/src/commands/transfer/ImportCommand.cjs +7 -4
- package/dist/development/src/commands/transfer/ImportCommand.cjs.map +1 -1
- package/dist/development/src/commands/transfer/ImportCommand.js +5 -2
- package/dist/development/src/commands/transfer/ImportCommand.js.map +1 -1
- package/dist/development/src/commands/transfer/TransferCommand.cjs +4 -5
- package/dist/development/src/commands/transfer/TransferCommand.cjs.map +1 -1
- package/dist/development/src/commands/transfer/TransferCommand.js +4 -5
- package/dist/development/src/commands/transfer/TransferCommand.js.map +1 -1
- package/dist/development/src/commands/transfer/utils.cjs.map +1 -1
- package/dist/development/src/commands/transfer/utils.js.map +1 -1
- package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.cjs +16 -14
- package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.cjs.map +1 -1
- package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.js +16 -14
- package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.js.map +1 -1
- package/dist/development/src/consts.cjs.map +1 -1
- package/dist/development/src/dic.cjs +100 -4
- package/dist/development/src/dic.cjs.map +1 -1
- package/dist/development/src/dic.js +101 -5
- 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 +7 -9
- package/dist/development/src/lib/VersionChecker.cjs.map +1 -1
- package/dist/development/src/lib/VersionChecker.js +7 -9
- package/dist/development/src/lib/VersionChecker.js.map +1 -1
- package/dist/development/src/lib/actions/ActionsClient.cjs +91 -0
- package/dist/development/src/lib/actions/ActionsClient.cjs.map +1 -0
- package/dist/development/src/lib/actions/ActionsClient.js +91 -0
- package/dist/development/src/lib/actions/ActionsClient.js.map +1 -0
- 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/assertNever.cjs.map +1 -1
- package/dist/development/src/lib/assertNever.js.map +1 -1
- package/dist/development/src/lib/dsn.cjs.map +1 -1
- package/dist/development/src/lib/dsn.js.map +1 -1
- package/dist/development/src/lib/env.cjs.map +1 -1
- package/dist/development/src/lib/env.js.map +1 -1
- 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/FileSystem.cjs.map +1 -1
- package/dist/development/src/lib/fs/FileSystem.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.map +1 -1
- package/dist/development/src/lib/migrations/MigrationExecutionFacade.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationPrinter.cjs +7 -2
- package/dist/development/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationPrinter.js +7 -2
- package/dist/development/src/lib/migrations/MigrationPrinter.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationRebaseFacade.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationRebaseFacade.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.cjs +3 -3
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.js +3 -3
- 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/RemoteProject.cjs.map +1 -1
- package/dist/development/src/lib/project/RemoteProject.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 +135 -177
- package/dist/development/src/lib/project/docs/components/EntityInfo.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/EntityInfo.js +136 -178
- 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 +5 -5
- package/dist/development/src/lib/project/docs/components/FieldLink.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/FieldLink.js +5 -5
- package/dist/development/src/lib/project/docs/components/FieldLink.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/FieldPermissions.cjs +8 -8
- package/dist/development/src/lib/project/docs/components/FieldPermissions.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/FieldPermissions.js +8 -8
- package/dist/development/src/lib/project/docs/components/FieldPermissions.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/FieldType.cjs +34 -36
- package/dist/development/src/lib/project/docs/components/FieldType.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/FieldType.js +34 -36
- package/dist/development/src/lib/project/docs/components/FieldType.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/OnDelete.cjs +22 -26
- package/dist/development/src/lib/project/docs/components/OnDelete.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/OnDelete.js +22 -26
- package/dist/development/src/lib/project/docs/components/OnDelete.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/ProjectInfo.cjs +16 -16
- package/dist/development/src/lib/project/docs/components/ProjectInfo.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/ProjectInfo.js +16 -16
- package/dist/development/src/lib/project/docs/components/ProjectInfo.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/SinglePermission.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/SinglePermission.js.map +1 -1
- package/dist/development/src/lib/project/docs/components/utils.cjs.map +1 -1
- package/dist/development/src/lib/project/docs/components/utils.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.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/SchemaValidationPrinter.cjs.map +1 -1
- package/dist/development/src/lib/schema/SchemaValidationPrinter.js.map +1 -1
- package/dist/development/src/lib/schema/collectReferences.cjs.map +1 -1
- package/dist/development/src/lib/schema/collectReferences.js.map +1 -1
- package/dist/development/src/lib/stream.cjs +0 -7
- package/dist/development/src/lib/stream.cjs.map +1 -1
- package/dist/development/src/lib/stream.js +1 -8
- package/dist/development/src/lib/stream.js.map +1 -1
- package/dist/development/src/lib/tenant/TenantClient.cjs.map +1 -1
- package/dist/development/src/lib/tenant/TenantClient.js.map +1 -1
- package/dist/development/src/lib/transfer/DataTransferClient.cjs +53 -61
- package/dist/development/src/lib/transfer/DataTransferClient.cjs.map +1 -1
- package/dist/development/src/lib/transfer/DataTransferClient.js +55 -63
- package/dist/development/src/lib/transfer/DataTransferClient.js.map +1 -1
- package/dist/development/src/lib/transfer/stdio.cjs.map +1 -1
- package/dist/development/src/lib/transfer/stdio.js.map +1 -1
- package/dist/development/src/lib/workspace/WorkspaceResolver.cjs +4 -4
- package/dist/development/src/lib/workspace/WorkspaceResolver.cjs.map +1 -1
- package/dist/development/src/lib/workspace/WorkspaceResolver.js +5 -5
- package/dist/development/src/lib/workspace/WorkspaceResolver.js.map +1 -1
- package/dist/production/run.cjs.map +1 -1
- package/dist/production/run.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsGetEventCommand.cjs +31 -0
- package/dist/production/src/commands/actions/ActionsGetEventCommand.cjs.map +1 -0
- package/dist/production/src/commands/actions/ActionsGetEventCommand.js +31 -0
- package/dist/production/src/commands/actions/ActionsGetEventCommand.js.map +1 -0
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.cjs +60 -0
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.cjs.map +1 -0
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.js +60 -0
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.js.map +1 -0
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.cjs +29 -0
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.cjs.map +1 -0
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.js +29 -0
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.js.map +1 -0
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.cjs +32 -0
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.cjs.map +1 -0
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.js +32 -0
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.js.map +1 -0
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.cjs +43 -0
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.cjs.map +1 -0
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.js +43 -0
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.js.map +1 -0
- package/dist/production/src/commands/actions/ActionsStopEventCommand.cjs +32 -0
- package/dist/production/src/commands/actions/ActionsStopEventCommand.cjs.map +1 -0
- package/dist/production/src/commands/actions/ActionsStopEventCommand.js +32 -0
- package/dist/production/src/commands/actions/ActionsStopEventCommand.js.map +1 -0
- package/dist/production/src/commands/deploy/DeployCommand.cjs.map +1 -1
- package/dist/production/src/commands/deploy/DeployCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationAmendCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationBlankCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationBlankCommand.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.map +1 -1
- package/dist/production/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationExecuteCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
- 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/MigrationStatusCommand.cjs +1 -1
- package/dist/production/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationStatusCommand.js +1 -1
- package/dist/production/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
- package/dist/production/src/commands/misc/VersionCommand.cjs.map +1 -1
- package/dist/production/src/commands/misc/VersionCommand.js.map +1 -1
- 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/transfer/ExportCommand.cjs +7 -2
- package/dist/production/src/commands/transfer/ExportCommand.cjs.map +1 -1
- package/dist/production/src/commands/transfer/ExportCommand.js +8 -3
- package/dist/production/src/commands/transfer/ExportCommand.js.map +1 -1
- package/dist/production/src/commands/transfer/ImportCommand.cjs +7 -4
- package/dist/production/src/commands/transfer/ImportCommand.cjs.map +1 -1
- package/dist/production/src/commands/transfer/ImportCommand.js +5 -2
- package/dist/production/src/commands/transfer/ImportCommand.js.map +1 -1
- package/dist/production/src/commands/transfer/TransferCommand.cjs +4 -5
- package/dist/production/src/commands/transfer/TransferCommand.cjs.map +1 -1
- package/dist/production/src/commands/transfer/TransferCommand.js +4 -5
- package/dist/production/src/commands/transfer/TransferCommand.js.map +1 -1
- package/dist/production/src/commands/transfer/utils.cjs.map +1 -1
- package/dist/production/src/commands/transfer/utils.js.map +1 -1
- package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.cjs +16 -14
- package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.cjs.map +1 -1
- package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.js +16 -14
- package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.js.map +1 -1
- package/dist/production/src/consts.cjs.map +1 -1
- package/dist/production/src/dic.cjs +100 -4
- package/dist/production/src/dic.cjs.map +1 -1
- package/dist/production/src/dic.js +101 -5
- 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 +7 -9
- package/dist/production/src/lib/VersionChecker.cjs.map +1 -1
- package/dist/production/src/lib/VersionChecker.js +7 -9
- package/dist/production/src/lib/VersionChecker.js.map +1 -1
- package/dist/production/src/lib/actions/ActionsClient.cjs +91 -0
- package/dist/production/src/lib/actions/ActionsClient.cjs.map +1 -0
- package/dist/production/src/lib/actions/ActionsClient.js +91 -0
- package/dist/production/src/lib/actions/ActionsClient.js.map +1 -0
- 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/assertNever.cjs.map +1 -1
- package/dist/production/src/lib/assertNever.js.map +1 -1
- package/dist/production/src/lib/dsn.cjs.map +1 -1
- package/dist/production/src/lib/dsn.js.map +1 -1
- package/dist/production/src/lib/env.cjs.map +1 -1
- package/dist/production/src/lib/env.js.map +1 -1
- 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/FileSystem.cjs.map +1 -1
- package/dist/production/src/lib/fs/FileSystem.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.map +1 -1
- package/dist/production/src/lib/migrations/MigrationExecutionFacade.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationPrinter.cjs +7 -2
- package/dist/production/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationPrinter.js +7 -2
- package/dist/production/src/lib/migrations/MigrationPrinter.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationRebaseFacade.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationRebaseFacade.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.cjs +3 -3
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.js +3 -3
- 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/RemoteProject.cjs.map +1 -1
- package/dist/production/src/lib/project/RemoteProject.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 +39 -66
- package/dist/production/src/lib/project/docs/components/EntityInfo.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/components/EntityInfo.js +40 -67
- 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 +3 -5
- package/dist/production/src/lib/project/docs/components/FieldType.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/components/FieldType.js +3 -5
- package/dist/production/src/lib/project/docs/components/FieldType.js.map +1 -1
- package/dist/production/src/lib/project/docs/components/OnDelete.cjs +4 -8
- package/dist/production/src/lib/project/docs/components/OnDelete.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/components/OnDelete.js +4 -8
- 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/components/SinglePermission.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/components/SinglePermission.js.map +1 -1
- package/dist/production/src/lib/project/docs/components/utils.cjs.map +1 -1
- package/dist/production/src/lib/project/docs/components/utils.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.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/SchemaValidationPrinter.cjs.map +1 -1
- package/dist/production/src/lib/schema/SchemaValidationPrinter.js.map +1 -1
- package/dist/production/src/lib/schema/collectReferences.cjs.map +1 -1
- package/dist/production/src/lib/schema/collectReferences.js.map +1 -1
- package/dist/production/src/lib/stream.cjs +0 -7
- package/dist/production/src/lib/stream.cjs.map +1 -1
- package/dist/production/src/lib/stream.js +1 -8
- package/dist/production/src/lib/stream.js.map +1 -1
- package/dist/production/src/lib/tenant/TenantClient.cjs.map +1 -1
- package/dist/production/src/lib/tenant/TenantClient.js.map +1 -1
- package/dist/production/src/lib/transfer/DataTransferClient.cjs +53 -61
- package/dist/production/src/lib/transfer/DataTransferClient.cjs.map +1 -1
- package/dist/production/src/lib/transfer/DataTransferClient.js +55 -63
- package/dist/production/src/lib/transfer/DataTransferClient.js.map +1 -1
- package/dist/production/src/lib/transfer/stdio.cjs.map +1 -1
- package/dist/production/src/lib/transfer/stdio.js.map +1 -1
- package/dist/production/src/lib/workspace/WorkspaceResolver.cjs +4 -4
- package/dist/production/src/lib/workspace/WorkspaceResolver.cjs.map +1 -1
- package/dist/production/src/lib/workspace/WorkspaceResolver.js +5 -5
- package/dist/production/src/lib/workspace/WorkspaceResolver.js.map +1 -1
- package/dist/types/commands/actions/ActionsGetEventCommand.d.ts +16 -0
- package/dist/types/commands/actions/ActionsGetEventCommand.d.ts.map +1 -0
- package/dist/types/commands/actions/ActionsListFailedEventsCommand.d.ts +15 -0
- package/dist/types/commands/actions/ActionsListFailedEventsCommand.d.ts.map +1 -0
- package/dist/types/commands/actions/ActionsListVariablesCommand.d.ts +14 -0
- package/dist/types/commands/actions/ActionsListVariablesCommand.d.ts.map +1 -0
- package/dist/types/commands/actions/ActionsRetryEventCommand.d.ts +16 -0
- package/dist/types/commands/actions/ActionsRetryEventCommand.d.ts.map +1 -0
- package/dist/types/commands/actions/ActionsSetVariablesCommand.d.ts +19 -0
- package/dist/types/commands/actions/ActionsSetVariablesCommand.d.ts.map +1 -0
- package/dist/types/commands/actions/ActionsStopEventCommand.d.ts +16 -0
- package/dist/types/commands/actions/ActionsStopEventCommand.d.ts.map +1 -0
- package/dist/types/commands/deploy/DeployCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationAmendCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationBlankCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationDescribeCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationDiffCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationExecuteCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationRebaseCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationStatusCommand.d.ts.map +1 -1
- package/dist/types/commands/project/ProjectGenerateDocumentationCommand.d.ts.map +1 -1
- package/dist/types/commands/project/ProjectPrintSchemaCommand.d.ts.map +1 -1
- package/dist/types/commands/transfer/ExportCommand.d.ts.map +1 -1
- package/dist/types/commands/transfer/ImportCommand.d.ts.map +1 -1
- package/dist/types/commands/transfer/TransferCommand.d.ts.map +1 -1
- package/dist/types/commands/transfer/utils.d.ts.map +1 -1
- package/dist/types/commands/workspace/WorkspaceUpdateApiCommand.d.ts.map +1 -1
- package/dist/types/dic.d.ts +18 -0
- package/dist/types/dic.d.ts.map +1 -1
- package/dist/types/lib/VersionChecker.d.ts.map +1 -1
- package/dist/types/lib/actions/ActionsClient.d.ts +33 -0
- package/dist/types/lib/actions/ActionsClient.d.ts.map +1 -0
- package/dist/types/lib/admin/AdminClient.d.ts.map +1 -1
- package/dist/types/lib/admin/AdminDeployer.d.ts.map +1 -1
- package/dist/types/lib/fs/DockerComposeManager.d.ts.map +1 -1
- package/dist/types/lib/migrations/MigrationPrinter.d.ts +1 -1
- package/dist/types/lib/migrations/MigrationPrinter.d.ts.map +1 -1
- package/dist/types/lib/migrations/MigrationsStatusFacade.d.ts +3 -1
- package/dist/types/lib/migrations/MigrationsStatusFacade.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/EntityInfo.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/FieldLink.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/FieldPermissions.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/FieldType.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/OnDelete.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/ProjectInfo.d.ts.map +1 -1
- package/dist/types/lib/project/docs/projectDescribe.d.ts.map +1 -1
- package/dist/types/lib/schema/SchemaValidationPrinter.d.ts.map +1 -1
- package/dist/types/lib/stream.d.ts.map +1 -1
- package/dist/types/lib/tenant/TenantClient.d.ts.map +1 -1
- package/dist/types/lib/transfer/DataTransferClient.d.ts +2 -4
- package/dist/types/lib/transfer/DataTransferClient.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +33 -29
- package/src/commands/actions/ActionsGetEventCommand.ts +41 -0
- package/src/commands/actions/ActionsListFailedEventsCommand.ts +68 -0
- package/src/commands/actions/ActionsListVariablesCommand.ts +36 -0
- package/src/commands/actions/ActionsRetryEventCommand.ts +42 -0
- package/src/commands/actions/ActionsSetVariablesCommand.ts +62 -0
- package/src/commands/actions/ActionsStopEventCommand.ts +42 -0
- package/src/commands/deploy/DeployCommand.ts +0 -3
- package/src/commands/migrations/MigrationAmendCommand.ts +2 -2
- package/src/commands/migrations/MigrationBlankCommand.ts +1 -3
- package/src/commands/migrations/MigrationDescribeCommand.ts +0 -1
- package/src/commands/migrations/MigrationDiffCommand.ts +0 -2
- package/src/commands/migrations/MigrationExecuteCommand.ts +1 -2
- package/src/commands/migrations/MigrationRebaseCommand.ts +0 -2
- package/src/commands/migrations/MigrationStatusCommand.ts +8 -13
- package/src/commands/project/ProjectGenerateDocumentationCommand.ts +1 -2
- package/src/commands/project/ProjectPrintSchemaCommand.ts +1 -3
- package/src/commands/transfer/ExportCommand.ts +9 -4
- package/src/commands/transfer/ImportCommand.ts +7 -3
- package/src/commands/transfer/TransferCommand.ts +6 -6
- package/src/commands/transfer/utils.ts +0 -1
- package/src/commands/workspace/WorkspaceUpdateApiCommand.ts +16 -14
- package/src/dic.ts +162 -103
- package/src/lib/VersionChecker.ts +11 -9
- package/src/lib/actions/ActionsClient.ts +111 -0
- package/src/lib/admin/AdminClient.ts +2 -2
- package/src/lib/admin/AdminDeployer.ts +0 -1
- package/src/lib/fs/DockerComposeManager.ts +0 -3
- package/src/lib/migrations/MigrationPrinter.ts +7 -4
- package/src/lib/migrations/MigrationsStatusFacade.ts +4 -4
- package/src/lib/project/RemoteProjectResolver.ts +2 -2
- package/src/lib/project/docs/components/EntityInfo.tsx +36 -31
- package/src/lib/project/docs/components/FieldLink.tsx +5 -1
- package/src/lib/project/docs/components/FieldPermissions.tsx +8 -6
- package/src/lib/project/docs/components/FieldType.tsx +31 -30
- package/src/lib/project/docs/components/OnDelete.tsx +15 -13
- package/src/lib/project/docs/components/ProjectInfo.tsx +1 -4
- package/src/lib/project/docs/components/SinglePermission.tsx +0 -1
- package/src/lib/project/docs/components/utils.ts +0 -1
- package/src/lib/project/docs/projectDescribe.tsx +0 -2
- package/src/lib/project/docs/resources/style.css +2 -3
- package/src/lib/schema/SchemaLoader.ts +1 -1
- package/src/lib/schema/SchemaValidationPrinter.ts +0 -1
- package/src/lib/stream.ts +7 -8
- package/src/lib/tenant/TenantClient.ts +0 -1
- package/src/lib/transfer/DataTransferClient.ts +56 -74
- package/src/lib/transfer/stdio.ts +0 -1
- package/src/lib/workspace/WorkspaceResolver.ts +5 -5
- package/src/run.ts +2 -5
- package/dist/development/src/lib/migrations/migrations.cjs +0 -43
- package/dist/development/src/lib/migrations/migrations.cjs.map +0 -1
- package/dist/development/src/lib/migrations/migrations.js +0 -43
- package/dist/development/src/lib/migrations/migrations.js.map +0 -1
- package/dist/production/src/lib/migrations/migrations.cjs +0 -43
- package/dist/production/src/lib/migrations/migrations.cjs.map +0 -1
- package/dist/production/src/lib/migrations/migrations.js +0 -43
- package/dist/production/src/lib/migrations/migrations.js.map +0 -1
- package/dist/types/lib/migrations/migrations.d.ts +0 -3
- package/dist/types/lib/migrations/migrations.d.ts.map +0 -1
- package/postcss.config.js +0 -6
- package/src/.eslintrc.cjs +0 -5
- package/src/lib/migrations/migrations.ts +0 -45
- package/src/lib/project/docs/.eslintrc.cjs +0 -5
- package/tailwind.config.js +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemClientProvider.js","sources":["../../../../../packages/cli/src/lib/SystemClientProvider.ts"],"sourcesContent":["import { RemoteProjectProvider } from './project/RemoteProjectProvider'\nimport { SystemClient } from '@contember/migrations-client'\n\nexport class SystemClientProvider {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic get(): SystemClient {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\treturn SystemClient.create(project.endpoint, project.name, project.token)\n\t}\n}\n"],"names":[],"mappings":";AAGO,MAAM,qBAAqB;AAAA,EACjC,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"SystemClientProvider.js","sources":["../../../../../packages/cli/src/lib/SystemClientProvider.ts"],"sourcesContent":["import { RemoteProjectProvider } from './project/RemoteProjectProvider'\nimport { SystemClient } from '@contember/migrations-client'\n\nexport class SystemClientProvider {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic get(): SystemClient {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\treturn SystemClient.create(project.endpoint, project.name, project.token)\n\t}\n}\n"],"names":[],"mappings":";AAGO,MAAM,qBAAqB;AAAA,EACjC,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,EAElB;AAAA,EAEO,MAAoB;AAC1B,UAAM,UAAU,KAAK,sBAAsB,IAAA;AAC3C,WAAO,aAAa,OAAO,QAAQ,UAAU,QAAQ,MAAM,QAAQ,KAAK;AAAA,EACzE;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantClientProvider.cjs","sources":["../../../../../packages/cli/src/lib/TenantClientProvider.ts"],"sourcesContent":["import { TenantClient } from './tenant/TenantClient'\nimport { RemoteProjectProvider } from './project/RemoteProjectProvider'\n\nexport class TenantClientProvider {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic get(): TenantClient {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\treturn TenantClient.create(project.endpoint, project.token)\n\t}\n}\n"],"names":["TenantClient"],"mappings":";;;AAGO,MAAM,qBAAqB;AAAA,EACjC,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"TenantClientProvider.cjs","sources":["../../../../../packages/cli/src/lib/TenantClientProvider.ts"],"sourcesContent":["import { TenantClient } from './tenant/TenantClient'\nimport { RemoteProjectProvider } from './project/RemoteProjectProvider'\n\nexport class TenantClientProvider {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic get(): TenantClient {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\treturn TenantClient.create(project.endpoint, project.token)\n\t}\n}\n"],"names":["TenantClient"],"mappings":";;;AAGO,MAAM,qBAAqB;AAAA,EACjC,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,EAElB;AAAA,EAEO,MAAoB;AAC1B,UAAM,UAAU,KAAK,sBAAsB,IAAA;AAC3C,WAAOA,aAAAA,aAAa,OAAO,QAAQ,UAAU,QAAQ,KAAK;AAAA,EAC3D;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantClientProvider.js","sources":["../../../../../packages/cli/src/lib/TenantClientProvider.ts"],"sourcesContent":["import { TenantClient } from './tenant/TenantClient'\nimport { RemoteProjectProvider } from './project/RemoteProjectProvider'\n\nexport class TenantClientProvider {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic get(): TenantClient {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\treturn TenantClient.create(project.endpoint, project.token)\n\t}\n}\n"],"names":[],"mappings":";AAGO,MAAM,qBAAqB;AAAA,EACjC,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"TenantClientProvider.js","sources":["../../../../../packages/cli/src/lib/TenantClientProvider.ts"],"sourcesContent":["import { TenantClient } from './tenant/TenantClient'\nimport { RemoteProjectProvider } from './project/RemoteProjectProvider'\n\nexport class TenantClientProvider {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic get(): TenantClient {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\treturn TenantClient.create(project.endpoint, project.token)\n\t}\n}\n"],"names":[],"mappings":";AAGO,MAAM,qBAAqB;AAAA,EACjC,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,EAElB;AAAA,EAEO,MAAoB;AAC1B,UAAM,UAAU,KAAK,sBAAsB,IAAA;AAC3C,WAAO,aAAa,OAAO,QAAQ,UAAU,QAAQ,KAAK;AAAA,EAC3D;AACD;"}
|
|
@@ -58,17 +58,12 @@ class VersionChecker {
|
|
|
58
58
|
if (!def.image) {
|
|
59
59
|
continue;
|
|
60
60
|
}
|
|
61
|
-
const [image,
|
|
62
|
-
if (!
|
|
61
|
+
const [image, tag] = def.image.split(":");
|
|
62
|
+
if (!tag || !consts.contemberDockerImages.includes(image)) {
|
|
63
63
|
continue;
|
|
64
64
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
versionParts.pop();
|
|
68
|
-
}
|
|
69
|
-
const cliVersionParts = cliVersion.split(/[.-]/).slice(0, versionParts.length);
|
|
70
|
-
if (versionParts.join(".") !== cliVersionParts.join(".")) {
|
|
71
|
-
errors.push(`Docker service ${name} with image ${image}:${version2} does not match version of CLI ${cliVersion}.`);
|
|
65
|
+
if (extractVersion(tag) !== cliVersion) {
|
|
66
|
+
errors.push(`Docker service ${name} with image ${image}:${tag} does not match version of CLI ${cliVersion}.`);
|
|
72
67
|
}
|
|
73
68
|
}
|
|
74
69
|
}
|
|
@@ -81,5 +76,8 @@ If you are really certain about the compatibility, you can disable this version
|
|
|
81
76
|
});
|
|
82
77
|
}
|
|
83
78
|
}
|
|
79
|
+
const extractVersion = (tag) => {
|
|
80
|
+
return tag.match(/^\d+\.\d+\.\d+(-\w+\.\d+)?/)?.[0] ?? tag;
|
|
81
|
+
};
|
|
84
82
|
exports.VersionChecker = VersionChecker;
|
|
85
83
|
//# sourceMappingURL=VersionChecker.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionChecker.cjs","sources":["../../../../../packages/cli/src/lib/VersionChecker.ts"],"sourcesContent":["import { join, relative } from 'node:path'\nimport * as semver from 'semver'\nimport { PackageWorkspaceResolver } from '@contember/cli-common'\nimport { DockerComposeManager } from './fs/DockerComposeManager'\nimport { contemberDockerImages } from '../consts'\n\nexport class VersionChecker {\n\tconstructor(\n\t\tprivate readonly version: string,\n\t\tprivate readonly dir: string,\n\t\tprivate readonly packageWorkspaceResolver: PackageWorkspaceResolver,\n\t\tprivate readonly dockerComposeManager: DockerComposeManager,\n\t) {\n\t}\n\n\tcheckVersions = async () => {\n\t\tconst cliVersion = this.version\n\t\tconst packageWorkspace = await this.packageWorkspaceResolver.resolve()\n\n\t\tconst errors: string[] = []\n\n\t\tfor (const packageName of ['@contember/schema', '@contember/schema-definition']) {\n\t\t\tconst installedPackages = await packageWorkspace.findInstalledDependencies(packageName)\n\t\t\tfor (const pckg of installedPackages) {\n\t\t\t\tconst jsonPath = relative(this.dir, join(pckg.defined.pckg.dir, 'package.json'))\n\n\t\t\t\tif (!pckg.installed) {\n\t\t\t\t\terrors.push(`Package ${packageName} defined in ${jsonPath} is not installed.`)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (pckg.defined.version !== 'workspace:*' && !semver.satisfies(pckg.installed.version, pckg.defined.version)) {\n\t\t\t\t\terrors.push(`Package ${packageName}@${pckg.installed.version} does not match constraint ${pckg.defined.version} defined in ${jsonPath}.`)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (cliVersion !== pckg.installed.version) {\n\t\t\t\t\terrors.push(`Package ${packageName}@${pckg.installed.version} does not match version of CLI ${cliVersion}.`)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst dockerCompose = await this.dockerComposeManager.tryReadMainDockerComposeConfig()\n\n\t\tif (!dockerCompose) {\n\t\t\terrors.push('docker-compose.yaml not found.')\n\t\t} else {\n\t\t\tfor (const [name, def] of Object.entries(dockerCompose.services ?? {})) {\n\t\t\t\tif (!def.image) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst [image,
|
|
1
|
+
{"version":3,"file":"VersionChecker.cjs","sources":["../../../../../packages/cli/src/lib/VersionChecker.ts"],"sourcesContent":["import { join, relative } from 'node:path'\nimport * as semver from 'semver'\nimport { PackageWorkspaceResolver } from '@contember/cli-common'\nimport { DockerComposeManager } from './fs/DockerComposeManager'\nimport { contemberDockerImages } from '../consts'\n\nexport class VersionChecker {\n\tconstructor(\n\t\tprivate readonly version: string,\n\t\tprivate readonly dir: string,\n\t\tprivate readonly packageWorkspaceResolver: PackageWorkspaceResolver,\n\t\tprivate readonly dockerComposeManager: DockerComposeManager,\n\t) {\n\t}\n\n\tcheckVersions = async () => {\n\t\tconst cliVersion = this.version\n\t\tconst packageWorkspace = await this.packageWorkspaceResolver.resolve()\n\n\t\tconst errors: string[] = []\n\n\t\tfor (const packageName of ['@contember/schema', '@contember/schema-definition']) {\n\t\t\tconst installedPackages = await packageWorkspace.findInstalledDependencies(packageName)\n\t\t\tfor (const pckg of installedPackages) {\n\t\t\t\tconst jsonPath = relative(this.dir, join(pckg.defined.pckg.dir, 'package.json'))\n\n\t\t\t\tif (!pckg.installed) {\n\t\t\t\t\terrors.push(`Package ${packageName} defined in ${jsonPath} is not installed.`)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (pckg.defined.version !== 'workspace:*' && !semver.satisfies(pckg.installed.version, pckg.defined.version)) {\n\t\t\t\t\terrors.push(`Package ${packageName}@${pckg.installed.version} does not match constraint ${pckg.defined.version} defined in ${jsonPath}.`)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (cliVersion !== pckg.installed.version) {\n\t\t\t\t\terrors.push(`Package ${packageName}@${pckg.installed.version} does not match version of CLI ${cliVersion}.`)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst dockerCompose = await this.dockerComposeManager.tryReadMainDockerComposeConfig()\n\n\t\tif (!dockerCompose) {\n\t\t\terrors.push('docker-compose.yaml not found.')\n\t\t} else {\n\t\t\tfor (const [name, def] of Object.entries(dockerCompose.services ?? {})) {\n\t\t\t\tif (!def.image) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst [image, tag] = def.image.split(':')\n\t\t\t\tif (!tag || !contemberDockerImages.includes(image)) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tif (extractVersion(tag) !== cliVersion) {\n\t\t\t\t\terrors.push(`Docker service ${name} with image ${image}:${tag} does not match version of CLI ${cliVersion}.`)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (errors.length) {\n\t\t\tthrow `${errors.map(it => `${it}`).join('\\n')}\n\nPlease make sure all dependencies are up to date.\\nIf you are really certain about the compatibility, you can disable this version check by running the CLI with the CONTEMBER_SKIP_VERSION_CHECK=1 environment variable`\n\t\t}\n\t}\n}\n\nconst extractVersion = (tag: string) => {\n\t// e.g.\n\t// 2.1.0-alpha.15-foo-bar => 2.1.0-alpha.15\n\t// 2.1.0-debian => 2.1.0\n\treturn tag.match(/^\\d+\\.\\d+\\.\\d+(-\\w+\\.\\d+)?/)?.[0] ?? tag\n}\n"],"names":["relative","join","semver","contemberDockerImages"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,eAAe;AAAA,EAC3B,YACkB,SACA,KACA,0BACA,sBAChB;AAJgB,SAAA,UAAA;AACA,SAAA,MAAA;AACA,SAAA,2BAAA;AACA,SAAA,uBAAA;AAIlB,kBAAA,MAAA,iBAAgB,YAAY;AAC3B,YAAM,aAAa,KAAK;AACxB,YAAM,mBAAmB,MAAM,KAAK,yBAAyB,QAAA;AAE7D,YAAM,SAAmB,CAAA;AAEzB,iBAAW,eAAe,CAAC,qBAAqB,8BAA8B,GAAG;AAChF,cAAM,oBAAoB,MAAM,iBAAiB,0BAA0B,WAAW;AACtF,mBAAW,QAAQ,mBAAmB;AACrC,gBAAM,WAAWA,UAAAA,SAAS,KAAK,KAAKC,UAAAA,KAAK,KAAK,QAAQ,KAAK,KAAK,cAAc,CAAC;AAE/E,cAAI,CAAC,KAAK,WAAW;AACpB,mBAAO,KAAK,WAAW,WAAW,eAAe,QAAQ,oBAAoB;AAC7E;AAAA,UACD;AACA,cAAI,KAAK,QAAQ,YAAY,iBAAiB,CAACC,kBAAO,UAAU,KAAK,UAAU,SAAS,KAAK,QAAQ,OAAO,GAAG;AAC9G,mBAAO,KAAK,WAAW,WAAW,IAAI,KAAK,UAAU,OAAO,8BAA8B,KAAK,QAAQ,OAAO,eAAe,QAAQ,GAAG;AACxI;AAAA,UACD;AACA,cAAI,eAAe,KAAK,UAAU,SAAS;AAC1C,mBAAO,KAAK,WAAW,WAAW,IAAI,KAAK,UAAU,OAAO,kCAAkC,UAAU,GAAG;AAAA,UAC5G;AAAA,QACD;AAAA,MACD;AACA,YAAM,gBAAgB,MAAM,KAAK,qBAAqB,+BAAA;AAEtD,UAAI,CAAC,eAAe;AACnB,eAAO,KAAK,gCAAgC;AAAA,MAC7C,OAAO;AACN,mBAAW,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,cAAc,YAAY,CAAA,CAAE,GAAG;AACvE,cAAI,CAAC,IAAI,OAAO;AACf;AAAA,UACD;AACA,gBAAM,CAAC,OAAO,GAAG,IAAI,IAAI,MAAM,MAAM,GAAG;AACxC,cAAI,CAAC,OAAO,CAACC,OAAAA,sBAAsB,SAAS,KAAK,GAAG;AACnD;AAAA,UACD;AAEA,cAAI,eAAe,GAAG,MAAM,YAAY;AACvC,mBAAO,KAAK,kBAAkB,IAAI,eAAe,KAAK,IAAI,GAAG,kCAAkC,UAAU,GAAG;AAAA,UAC7G;AAAA,QACD;AAAA,MACD;AAEA,UAAI,OAAO,QAAQ;AAClB,cAAM,GAAG,OAAO,IAAI,CAAA,OAAM,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,MAG9C;AAAA,IACD,CAAA;AAAA,EAnDA;AAoDD;AAEA,MAAM,iBAAiB,CAAC,QAAgB;AAIvC,SAAO,IAAI,MAAM,4BAA4B,IAAI,CAAC,KAAK;AACxD;;"}
|
|
@@ -39,17 +39,12 @@ class VersionChecker {
|
|
|
39
39
|
if (!def.image) {
|
|
40
40
|
continue;
|
|
41
41
|
}
|
|
42
|
-
const [image,
|
|
43
|
-
if (!
|
|
42
|
+
const [image, tag] = def.image.split(":");
|
|
43
|
+
if (!tag || !contemberDockerImages.includes(image)) {
|
|
44
44
|
continue;
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
versionParts.pop();
|
|
49
|
-
}
|
|
50
|
-
const cliVersionParts = cliVersion.split(/[.-]/).slice(0, versionParts.length);
|
|
51
|
-
if (versionParts.join(".") !== cliVersionParts.join(".")) {
|
|
52
|
-
errors.push(`Docker service ${name} with image ${image}:${version2} does not match version of CLI ${cliVersion}.`);
|
|
46
|
+
if (extractVersion(tag) !== cliVersion) {
|
|
47
|
+
errors.push(`Docker service ${name} with image ${image}:${tag} does not match version of CLI ${cliVersion}.`);
|
|
53
48
|
}
|
|
54
49
|
}
|
|
55
50
|
}
|
|
@@ -62,6 +57,9 @@ If you are really certain about the compatibility, you can disable this version
|
|
|
62
57
|
});
|
|
63
58
|
}
|
|
64
59
|
}
|
|
60
|
+
const extractVersion = (tag) => {
|
|
61
|
+
return tag.match(/^\d+\.\d+\.\d+(-\w+\.\d+)?/)?.[0] ?? tag;
|
|
62
|
+
};
|
|
65
63
|
export {
|
|
66
64
|
VersionChecker
|
|
67
65
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionChecker.js","sources":["../../../../../packages/cli/src/lib/VersionChecker.ts"],"sourcesContent":["import { join, relative } from 'node:path'\nimport * as semver from 'semver'\nimport { PackageWorkspaceResolver } from '@contember/cli-common'\nimport { DockerComposeManager } from './fs/DockerComposeManager'\nimport { contemberDockerImages } from '../consts'\n\nexport class VersionChecker {\n\tconstructor(\n\t\tprivate readonly version: string,\n\t\tprivate readonly dir: string,\n\t\tprivate readonly packageWorkspaceResolver: PackageWorkspaceResolver,\n\t\tprivate readonly dockerComposeManager: DockerComposeManager,\n\t) {\n\t}\n\n\tcheckVersions = async () => {\n\t\tconst cliVersion = this.version\n\t\tconst packageWorkspace = await this.packageWorkspaceResolver.resolve()\n\n\t\tconst errors: string[] = []\n\n\t\tfor (const packageName of ['@contember/schema', '@contember/schema-definition']) {\n\t\t\tconst installedPackages = await packageWorkspace.findInstalledDependencies(packageName)\n\t\t\tfor (const pckg of installedPackages) {\n\t\t\t\tconst jsonPath = relative(this.dir, join(pckg.defined.pckg.dir, 'package.json'))\n\n\t\t\t\tif (!pckg.installed) {\n\t\t\t\t\terrors.push(`Package ${packageName} defined in ${jsonPath} is not installed.`)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (pckg.defined.version !== 'workspace:*' && !semver.satisfies(pckg.installed.version, pckg.defined.version)) {\n\t\t\t\t\terrors.push(`Package ${packageName}@${pckg.installed.version} does not match constraint ${pckg.defined.version} defined in ${jsonPath}.`)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (cliVersion !== pckg.installed.version) {\n\t\t\t\t\terrors.push(`Package ${packageName}@${pckg.installed.version} does not match version of CLI ${cliVersion}.`)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst dockerCompose = await this.dockerComposeManager.tryReadMainDockerComposeConfig()\n\n\t\tif (!dockerCompose) {\n\t\t\terrors.push('docker-compose.yaml not found.')\n\t\t} else {\n\t\t\tfor (const [name, def] of Object.entries(dockerCompose.services ?? {})) {\n\t\t\t\tif (!def.image) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst [image,
|
|
1
|
+
{"version":3,"file":"VersionChecker.js","sources":["../../../../../packages/cli/src/lib/VersionChecker.ts"],"sourcesContent":["import { join, relative } from 'node:path'\nimport * as semver from 'semver'\nimport { PackageWorkspaceResolver } from '@contember/cli-common'\nimport { DockerComposeManager } from './fs/DockerComposeManager'\nimport { contemberDockerImages } from '../consts'\n\nexport class VersionChecker {\n\tconstructor(\n\t\tprivate readonly version: string,\n\t\tprivate readonly dir: string,\n\t\tprivate readonly packageWorkspaceResolver: PackageWorkspaceResolver,\n\t\tprivate readonly dockerComposeManager: DockerComposeManager,\n\t) {\n\t}\n\n\tcheckVersions = async () => {\n\t\tconst cliVersion = this.version\n\t\tconst packageWorkspace = await this.packageWorkspaceResolver.resolve()\n\n\t\tconst errors: string[] = []\n\n\t\tfor (const packageName of ['@contember/schema', '@contember/schema-definition']) {\n\t\t\tconst installedPackages = await packageWorkspace.findInstalledDependencies(packageName)\n\t\t\tfor (const pckg of installedPackages) {\n\t\t\t\tconst jsonPath = relative(this.dir, join(pckg.defined.pckg.dir, 'package.json'))\n\n\t\t\t\tif (!pckg.installed) {\n\t\t\t\t\terrors.push(`Package ${packageName} defined in ${jsonPath} is not installed.`)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (pckg.defined.version !== 'workspace:*' && !semver.satisfies(pckg.installed.version, pckg.defined.version)) {\n\t\t\t\t\terrors.push(`Package ${packageName}@${pckg.installed.version} does not match constraint ${pckg.defined.version} defined in ${jsonPath}.`)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (cliVersion !== pckg.installed.version) {\n\t\t\t\t\terrors.push(`Package ${packageName}@${pckg.installed.version} does not match version of CLI ${cliVersion}.`)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst dockerCompose = await this.dockerComposeManager.tryReadMainDockerComposeConfig()\n\n\t\tif (!dockerCompose) {\n\t\t\terrors.push('docker-compose.yaml not found.')\n\t\t} else {\n\t\t\tfor (const [name, def] of Object.entries(dockerCompose.services ?? {})) {\n\t\t\t\tif (!def.image) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst [image, tag] = def.image.split(':')\n\t\t\t\tif (!tag || !contemberDockerImages.includes(image)) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tif (extractVersion(tag) !== cliVersion) {\n\t\t\t\t\terrors.push(`Docker service ${name} with image ${image}:${tag} does not match version of CLI ${cliVersion}.`)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (errors.length) {\n\t\t\tthrow `${errors.map(it => `${it}`).join('\\n')}\n\nPlease make sure all dependencies are up to date.\\nIf you are really certain about the compatibility, you can disable this version check by running the CLI with the CONTEMBER_SKIP_VERSION_CHECK=1 environment variable`\n\t\t}\n\t}\n}\n\nconst extractVersion = (tag: string) => {\n\t// e.g.\n\t// 2.1.0-alpha.15-foo-bar => 2.1.0-alpha.15\n\t// 2.1.0-debian => 2.1.0\n\treturn tag.match(/^\\d+\\.\\d+\\.\\d+(-\\w+\\.\\d+)?/)?.[0] ?? tag\n}\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,eAAe;AAAA,EAC3B,YACkB,SACA,KACA,0BACA,sBAChB;AAJgB,SAAA,UAAA;AACA,SAAA,MAAA;AACA,SAAA,2BAAA;AACA,SAAA,uBAAA;AAIlB,kBAAA,MAAA,iBAAgB,YAAY;AAC3B,YAAM,aAAa,KAAK;AACxB,YAAM,mBAAmB,MAAM,KAAK,yBAAyB,QAAA;AAE7D,YAAM,SAAmB,CAAA;AAEzB,iBAAW,eAAe,CAAC,qBAAqB,8BAA8B,GAAG;AAChF,cAAM,oBAAoB,MAAM,iBAAiB,0BAA0B,WAAW;AACtF,mBAAW,QAAQ,mBAAmB;AACrC,gBAAM,WAAW,SAAS,KAAK,KAAK,KAAK,KAAK,QAAQ,KAAK,KAAK,cAAc,CAAC;AAE/E,cAAI,CAAC,KAAK,WAAW;AACpB,mBAAO,KAAK,WAAW,WAAW,eAAe,QAAQ,oBAAoB;AAC7E;AAAA,UACD;AACA,cAAI,KAAK,QAAQ,YAAY,iBAAiB,CAAC,OAAO,UAAU,KAAK,UAAU,SAAS,KAAK,QAAQ,OAAO,GAAG;AAC9G,mBAAO,KAAK,WAAW,WAAW,IAAI,KAAK,UAAU,OAAO,8BAA8B,KAAK,QAAQ,OAAO,eAAe,QAAQ,GAAG;AACxI;AAAA,UACD;AACA,cAAI,eAAe,KAAK,UAAU,SAAS;AAC1C,mBAAO,KAAK,WAAW,WAAW,IAAI,KAAK,UAAU,OAAO,kCAAkC,UAAU,GAAG;AAAA,UAC5G;AAAA,QACD;AAAA,MACD;AACA,YAAM,gBAAgB,MAAM,KAAK,qBAAqB,+BAAA;AAEtD,UAAI,CAAC,eAAe;AACnB,eAAO,KAAK,gCAAgC;AAAA,MAC7C,OAAO;AACN,mBAAW,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,cAAc,YAAY,CAAA,CAAE,GAAG;AACvE,cAAI,CAAC,IAAI,OAAO;AACf;AAAA,UACD;AACA,gBAAM,CAAC,OAAO,GAAG,IAAI,IAAI,MAAM,MAAM,GAAG;AACxC,cAAI,CAAC,OAAO,CAAC,sBAAsB,SAAS,KAAK,GAAG;AACnD;AAAA,UACD;AAEA,cAAI,eAAe,GAAG,MAAM,YAAY;AACvC,mBAAO,KAAK,kBAAkB,IAAI,eAAe,KAAK,IAAI,GAAG,kCAAkC,UAAU,GAAG;AAAA,UAC7G;AAAA,QACD;AAAA,MACD;AAEA,UAAI,OAAO,QAAQ;AAClB,cAAM,GAAG,OAAO,IAAI,CAAA,OAAM,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,MAG9C;AAAA,IACD,CAAA;AAAA,EAnDA;AAoDD;AAEA,MAAM,iBAAiB,CAAC,QAAgB;AAIvC,SAAO,IAAI,MAAM,4BAA4B,IAAI,CAAC,KAAK;AACxD;"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const graphqlClient = require("@contember/graphql-client");
|
|
4
|
+
const createActionsApiUrl = (url, project) => {
|
|
5
|
+
if (url.endsWith("/")) {
|
|
6
|
+
url = url.substring(0, url.length - 1);
|
|
7
|
+
}
|
|
8
|
+
return url + "/actions/" + project;
|
|
9
|
+
};
|
|
10
|
+
class ActionsClient {
|
|
11
|
+
constructor(apiClient) {
|
|
12
|
+
this.apiClient = apiClient;
|
|
13
|
+
}
|
|
14
|
+
static create(url, project, apiToken) {
|
|
15
|
+
const graphqlClient$1 = new graphqlClient.GraphQlClient({ url: createActionsApiUrl(url, project), apiToken });
|
|
16
|
+
return new ActionsClient(graphqlClient$1);
|
|
17
|
+
}
|
|
18
|
+
async listVariables() {
|
|
19
|
+
const query = `query {
|
|
20
|
+
variables {
|
|
21
|
+
name
|
|
22
|
+
value
|
|
23
|
+
}
|
|
24
|
+
}`;
|
|
25
|
+
const result = await this.apiClient.execute(query);
|
|
26
|
+
return result.variables;
|
|
27
|
+
}
|
|
28
|
+
async setVariables(variables, mode) {
|
|
29
|
+
const query = `mutation($variables: [VariableInput!]!, $mode: SetVariablesMode) {
|
|
30
|
+
setVariables(args: { variables: $variables, mode: $mode }) {
|
|
31
|
+
ok
|
|
32
|
+
}
|
|
33
|
+
}`;
|
|
34
|
+
const result = await this.apiClient.execute(query, { variables: { mode, variables } });
|
|
35
|
+
return result.setVariables.ok;
|
|
36
|
+
}
|
|
37
|
+
async listFailedEvents({ offset, limit } = {}) {
|
|
38
|
+
const query = `query($offset: Int, $limit: Int) {
|
|
39
|
+
failedEvents(args: { offset: $offset, limit: $limit }) {
|
|
40
|
+
id
|
|
41
|
+
createdAt
|
|
42
|
+
lastStateChange
|
|
43
|
+
visibleAt
|
|
44
|
+
numRetries
|
|
45
|
+
state
|
|
46
|
+
target
|
|
47
|
+
payload
|
|
48
|
+
log
|
|
49
|
+
}
|
|
50
|
+
}`;
|
|
51
|
+
const result = await this.apiClient.execute(query, { variables: { offset, limit } });
|
|
52
|
+
return result.failedEvents;
|
|
53
|
+
}
|
|
54
|
+
async retryEvent(id) {
|
|
55
|
+
const query = `mutation($id: UUID!) {
|
|
56
|
+
retryEvent(id: $id) {
|
|
57
|
+
ok
|
|
58
|
+
}
|
|
59
|
+
}`;
|
|
60
|
+
const result = await this.apiClient.execute(query, { variables: { id } });
|
|
61
|
+
return result.retryEvent.ok;
|
|
62
|
+
}
|
|
63
|
+
async stopEvent(id) {
|
|
64
|
+
const query = `mutation($id: UUID!) {
|
|
65
|
+
stopEvent(id: $id) {
|
|
66
|
+
ok
|
|
67
|
+
}
|
|
68
|
+
}`;
|
|
69
|
+
const result = await this.apiClient.execute(query, { variables: { id } });
|
|
70
|
+
return result.stopEvent.ok;
|
|
71
|
+
}
|
|
72
|
+
async getEvent(id) {
|
|
73
|
+
const query = `query($id: UUID!) {
|
|
74
|
+
event(id: $id) {
|
|
75
|
+
id
|
|
76
|
+
createdAt
|
|
77
|
+
lastStateChange
|
|
78
|
+
visibleAt
|
|
79
|
+
numRetries
|
|
80
|
+
state
|
|
81
|
+
target
|
|
82
|
+
payload
|
|
83
|
+
log
|
|
84
|
+
}
|
|
85
|
+
}`;
|
|
86
|
+
const result = await this.apiClient.execute(query, { variables: { id } });
|
|
87
|
+
return result.event;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.ActionsClient = ActionsClient;
|
|
91
|
+
//# sourceMappingURL=ActionsClient.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsClient.cjs","sources":["../../../../../../packages/cli/src/lib/actions/ActionsClient.ts"],"sourcesContent":["import { GraphQlClient } from '@contember/graphql-client'\n\nconst createActionsApiUrl = (url: string, project: string) => {\n\tif (url.endsWith('/')) {\n\t\turl = url.substring(0, url.length - 1)\n\t}\n\n\treturn url + '/actions/' + project\n}\nexport class ActionsClient {\n\tconstructor(private readonly apiClient: GraphQlClient) {\n\t}\n\n\tpublic static create(url: string, project: string, apiToken: string): ActionsClient {\n\t\tconst graphqlClient = new GraphQlClient({ url: createActionsApiUrl(url, project), apiToken })\n\t\treturn new ActionsClient(graphqlClient)\n\t}\n\n\tpublic async listVariables(): Promise<{ name: string; value: string }[]> {\n\t\tconst query = `query {\n variables {\n \tname\n \tvalue\n }\n}`\n\t\tconst result = await this.apiClient.execute<{\n\t\t\tvariables: Array<{ name: string; value: string }>\n\t\t}>(query)\n\t\treturn result.variables\n\t}\n\n\tpublic async setVariables(variables: { name: string; value: string }[], mode: 'MERGE' | 'SET' | 'APPEND_ONLY_MISSING'): Promise<boolean> {\n\t\tconst query = `mutation($variables: [VariableInput!]!, $mode: SetVariablesMode) {\n setVariables(args: { variables: $variables, mode: $mode }) {\n\tok\n }\n }`\n\t\tconst result = await this.apiClient.execute<{ setVariables: { ok: boolean } }>(query, { variables: { mode, variables } })\n\t\treturn result.setVariables.ok\n\t}\n\n\tpublic async listFailedEvents({ offset, limit }: { offset?: number; limit?: number } = {}): Promise<Event[]> {\n\t\tconst query = `query($offset: Int, $limit: Int) {\n failedEvents(args: { offset: $offset, limit: $limit }) {\n \tid\n \tcreatedAt\n \tlastStateChange\n \tvisibleAt\n \tnumRetries\n \tstate\n \ttarget\n \tpayload\n \tlog\n }\n}`\n\t\tconst result = await this.apiClient.execute<{\n\t\t\tfailedEvents: Event[]\n\t\t}>(query, { variables: { offset, limit } })\n\t\treturn result.failedEvents\n\t}\n\n\tpublic async retryEvent(id: string): Promise<boolean> {\n\t\tconst query = `mutation($id: UUID!) {\n retryEvent(id: $id) {\n \tok\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ retryEvent: { ok: boolean } }>(query, { variables: { id } })\n\t\treturn result.retryEvent.ok\n\t}\n\n\tpublic async stopEvent(id: string): Promise<boolean> {\n\t\tconst query = `mutation($id: UUID!) {\n stopEvent(id: $id) {\n \tok\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ stopEvent: { ok: boolean } }>(query, { variables: { id } })\n\t\treturn result.stopEvent.ok\n\t}\n\n\tpublic async getEvent(id: string): Promise<Event | null> {\n\t\tconst query = `query($id: UUID!) {\n event(id: $id) {\n \tid\n \tcreatedAt\n \tlastStateChange\n \tvisibleAt\n \tnumRetries\n \tstate\n \ttarget\n \tpayload\n \tlog\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ event: Event | null }>(query, { variables: { id } })\n\t\treturn result.event\n\t}\n}\n\nexport type Event = {\n\tid: string\n\tcreatedAt: string\n\tlastStateChange: string\n\tvisibleAt: string | null\n\tnumRetries: number\n\tstate: 'retrying' | 'failed'\n\ttarget: string\n\tpayload: any\n\tlog: any\n}\n"],"names":["graphqlClient","GraphQlClient"],"mappings":";;;AAEA,MAAM,sBAAsB,CAAC,KAAa,YAAoB;AAC7D,MAAI,IAAI,SAAS,GAAG,GAAG;AACtB,UAAM,IAAI,UAAU,GAAG,IAAI,SAAS,CAAC;AAAA,EACtC;AAEA,SAAO,MAAM,cAAc;AAC5B;AACO,MAAM,cAAc;AAAA,EAC1B,YAA6B,WAA0B;AAA1B,SAAA,YAAA;AAAA,EAC7B;AAAA,EAEA,OAAc,OAAO,KAAa,SAAiB,UAAiC;AACnF,UAAMA,kBAAgB,IAAIC,cAAAA,cAAc,EAAE,KAAK,oBAAoB,KAAK,OAAO,GAAG,UAAU;AAC5F,WAAO,IAAI,cAAcD,eAAa;AAAA,EACvC;AAAA,EAEA,MAAa,gBAA4D;AACxE,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAMd,UAAM,SAAS,MAAM,KAAK,UAAU,QAEjC,KAAK;AACR,WAAO,OAAO;AAAA,EACf;AAAA,EAEA,MAAa,aAAa,WAA8C,MAAiE;AACxI,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAA2C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAA,EAAU,CAAG;AACxH,WAAO,OAAO,aAAa;AAAA,EAC5B;AAAA,EAEA,MAAa,iBAAiB,EAAE,QAAQ,MAAA,IAA+C,CAAA,GAAsB;AAC5G,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAad,UAAM,SAAS,MAAM,KAAK,UAAU,QAEjC,OAAO,EAAE,WAAW,EAAE,QAAQ,MAAA,EAAM,CAAG;AAC1C,WAAO,OAAO;AAAA,EACf;AAAA,EAEA,MAAa,WAAW,IAA8B;AACrD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAAyC,OAAO,EAAE,WAAW,EAAE,GAAA,GAAM;AACzG,WAAO,OAAO,WAAW;AAAA,EAC1B;AAAA,EAEA,MAAa,UAAU,IAA8B;AACpD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAAwC,OAAO,EAAE,WAAW,EAAE,GAAA,GAAM;AACxG,WAAO,OAAO,UAAU;AAAA,EACzB;AAAA,EAEA,MAAa,SAAS,IAAmC;AACxD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAad,UAAM,SAAS,MAAM,KAAK,UAAU,QAAiC,OAAO,EAAE,WAAW,EAAE,GAAA,GAAM;AACjG,WAAO,OAAO;AAAA,EACf;AACD;;"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { GraphQlClient } from "@contember/graphql-client";
|
|
2
|
+
const createActionsApiUrl = (url, project) => {
|
|
3
|
+
if (url.endsWith("/")) {
|
|
4
|
+
url = url.substring(0, url.length - 1);
|
|
5
|
+
}
|
|
6
|
+
return url + "/actions/" + project;
|
|
7
|
+
};
|
|
8
|
+
class ActionsClient {
|
|
9
|
+
constructor(apiClient) {
|
|
10
|
+
this.apiClient = apiClient;
|
|
11
|
+
}
|
|
12
|
+
static create(url, project, apiToken) {
|
|
13
|
+
const graphqlClient = new GraphQlClient({ url: createActionsApiUrl(url, project), apiToken });
|
|
14
|
+
return new ActionsClient(graphqlClient);
|
|
15
|
+
}
|
|
16
|
+
async listVariables() {
|
|
17
|
+
const query = `query {
|
|
18
|
+
variables {
|
|
19
|
+
name
|
|
20
|
+
value
|
|
21
|
+
}
|
|
22
|
+
}`;
|
|
23
|
+
const result = await this.apiClient.execute(query);
|
|
24
|
+
return result.variables;
|
|
25
|
+
}
|
|
26
|
+
async setVariables(variables, mode) {
|
|
27
|
+
const query = `mutation($variables: [VariableInput!]!, $mode: SetVariablesMode) {
|
|
28
|
+
setVariables(args: { variables: $variables, mode: $mode }) {
|
|
29
|
+
ok
|
|
30
|
+
}
|
|
31
|
+
}`;
|
|
32
|
+
const result = await this.apiClient.execute(query, { variables: { mode, variables } });
|
|
33
|
+
return result.setVariables.ok;
|
|
34
|
+
}
|
|
35
|
+
async listFailedEvents({ offset, limit } = {}) {
|
|
36
|
+
const query = `query($offset: Int, $limit: Int) {
|
|
37
|
+
failedEvents(args: { offset: $offset, limit: $limit }) {
|
|
38
|
+
id
|
|
39
|
+
createdAt
|
|
40
|
+
lastStateChange
|
|
41
|
+
visibleAt
|
|
42
|
+
numRetries
|
|
43
|
+
state
|
|
44
|
+
target
|
|
45
|
+
payload
|
|
46
|
+
log
|
|
47
|
+
}
|
|
48
|
+
}`;
|
|
49
|
+
const result = await this.apiClient.execute(query, { variables: { offset, limit } });
|
|
50
|
+
return result.failedEvents;
|
|
51
|
+
}
|
|
52
|
+
async retryEvent(id) {
|
|
53
|
+
const query = `mutation($id: UUID!) {
|
|
54
|
+
retryEvent(id: $id) {
|
|
55
|
+
ok
|
|
56
|
+
}
|
|
57
|
+
}`;
|
|
58
|
+
const result = await this.apiClient.execute(query, { variables: { id } });
|
|
59
|
+
return result.retryEvent.ok;
|
|
60
|
+
}
|
|
61
|
+
async stopEvent(id) {
|
|
62
|
+
const query = `mutation($id: UUID!) {
|
|
63
|
+
stopEvent(id: $id) {
|
|
64
|
+
ok
|
|
65
|
+
}
|
|
66
|
+
}`;
|
|
67
|
+
const result = await this.apiClient.execute(query, { variables: { id } });
|
|
68
|
+
return result.stopEvent.ok;
|
|
69
|
+
}
|
|
70
|
+
async getEvent(id) {
|
|
71
|
+
const query = `query($id: UUID!) {
|
|
72
|
+
event(id: $id) {
|
|
73
|
+
id
|
|
74
|
+
createdAt
|
|
75
|
+
lastStateChange
|
|
76
|
+
visibleAt
|
|
77
|
+
numRetries
|
|
78
|
+
state
|
|
79
|
+
target
|
|
80
|
+
payload
|
|
81
|
+
log
|
|
82
|
+
}
|
|
83
|
+
}`;
|
|
84
|
+
const result = await this.apiClient.execute(query, { variables: { id } });
|
|
85
|
+
return result.event;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
export {
|
|
89
|
+
ActionsClient
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=ActionsClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsClient.js","sources":["../../../../../../packages/cli/src/lib/actions/ActionsClient.ts"],"sourcesContent":["import { GraphQlClient } from '@contember/graphql-client'\n\nconst createActionsApiUrl = (url: string, project: string) => {\n\tif (url.endsWith('/')) {\n\t\turl = url.substring(0, url.length - 1)\n\t}\n\n\treturn url + '/actions/' + project\n}\nexport class ActionsClient {\n\tconstructor(private readonly apiClient: GraphQlClient) {\n\t}\n\n\tpublic static create(url: string, project: string, apiToken: string): ActionsClient {\n\t\tconst graphqlClient = new GraphQlClient({ url: createActionsApiUrl(url, project), apiToken })\n\t\treturn new ActionsClient(graphqlClient)\n\t}\n\n\tpublic async listVariables(): Promise<{ name: string; value: string }[]> {\n\t\tconst query = `query {\n variables {\n \tname\n \tvalue\n }\n}`\n\t\tconst result = await this.apiClient.execute<{\n\t\t\tvariables: Array<{ name: string; value: string }>\n\t\t}>(query)\n\t\treturn result.variables\n\t}\n\n\tpublic async setVariables(variables: { name: string; value: string }[], mode: 'MERGE' | 'SET' | 'APPEND_ONLY_MISSING'): Promise<boolean> {\n\t\tconst query = `mutation($variables: [VariableInput!]!, $mode: SetVariablesMode) {\n setVariables(args: { variables: $variables, mode: $mode }) {\n\tok\n }\n }`\n\t\tconst result = await this.apiClient.execute<{ setVariables: { ok: boolean } }>(query, { variables: { mode, variables } })\n\t\treturn result.setVariables.ok\n\t}\n\n\tpublic async listFailedEvents({ offset, limit }: { offset?: number; limit?: number } = {}): Promise<Event[]> {\n\t\tconst query = `query($offset: Int, $limit: Int) {\n failedEvents(args: { offset: $offset, limit: $limit }) {\n \tid\n \tcreatedAt\n \tlastStateChange\n \tvisibleAt\n \tnumRetries\n \tstate\n \ttarget\n \tpayload\n \tlog\n }\n}`\n\t\tconst result = await this.apiClient.execute<{\n\t\t\tfailedEvents: Event[]\n\t\t}>(query, { variables: { offset, limit } })\n\t\treturn result.failedEvents\n\t}\n\n\tpublic async retryEvent(id: string): Promise<boolean> {\n\t\tconst query = `mutation($id: UUID!) {\n retryEvent(id: $id) {\n \tok\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ retryEvent: { ok: boolean } }>(query, { variables: { id } })\n\t\treturn result.retryEvent.ok\n\t}\n\n\tpublic async stopEvent(id: string): Promise<boolean> {\n\t\tconst query = `mutation($id: UUID!) {\n stopEvent(id: $id) {\n \tok\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ stopEvent: { ok: boolean } }>(query, { variables: { id } })\n\t\treturn result.stopEvent.ok\n\t}\n\n\tpublic async getEvent(id: string): Promise<Event | null> {\n\t\tconst query = `query($id: UUID!) {\n event(id: $id) {\n \tid\n \tcreatedAt\n \tlastStateChange\n \tvisibleAt\n \tnumRetries\n \tstate\n \ttarget\n \tpayload\n \tlog\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ event: Event | null }>(query, { variables: { id } })\n\t\treturn result.event\n\t}\n}\n\nexport type Event = {\n\tid: string\n\tcreatedAt: string\n\tlastStateChange: string\n\tvisibleAt: string | null\n\tnumRetries: number\n\tstate: 'retrying' | 'failed'\n\ttarget: string\n\tpayload: any\n\tlog: any\n}\n"],"names":[],"mappings":";AAEA,MAAM,sBAAsB,CAAC,KAAa,YAAoB;AAC7D,MAAI,IAAI,SAAS,GAAG,GAAG;AACtB,UAAM,IAAI,UAAU,GAAG,IAAI,SAAS,CAAC;AAAA,EACtC;AAEA,SAAO,MAAM,cAAc;AAC5B;AACO,MAAM,cAAc;AAAA,EAC1B,YAA6B,WAA0B;AAA1B,SAAA,YAAA;AAAA,EAC7B;AAAA,EAEA,OAAc,OAAO,KAAa,SAAiB,UAAiC;AACnF,UAAM,gBAAgB,IAAI,cAAc,EAAE,KAAK,oBAAoB,KAAK,OAAO,GAAG,UAAU;AAC5F,WAAO,IAAI,cAAc,aAAa;AAAA,EACvC;AAAA,EAEA,MAAa,gBAA4D;AACxE,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAMd,UAAM,SAAS,MAAM,KAAK,UAAU,QAEjC,KAAK;AACR,WAAO,OAAO;AAAA,EACf;AAAA,EAEA,MAAa,aAAa,WAA8C,MAAiE;AACxI,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAA2C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAA,EAAU,CAAG;AACxH,WAAO,OAAO,aAAa;AAAA,EAC5B;AAAA,EAEA,MAAa,iBAAiB,EAAE,QAAQ,MAAA,IAA+C,CAAA,GAAsB;AAC5G,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAad,UAAM,SAAS,MAAM,KAAK,UAAU,QAEjC,OAAO,EAAE,WAAW,EAAE,QAAQ,MAAA,EAAM,CAAG;AAC1C,WAAO,OAAO;AAAA,EACf;AAAA,EAEA,MAAa,WAAW,IAA8B;AACrD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAAyC,OAAO,EAAE,WAAW,EAAE,GAAA,GAAM;AACzG,WAAO,OAAO,WAAW;AAAA,EAC1B;AAAA,EAEA,MAAa,UAAU,IAA8B;AACpD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAAwC,OAAO,EAAE,WAAW,EAAE,GAAA,GAAM;AACxG,WAAO,OAAO,UAAU;AAAA,EACzB;AAAA,EAEA,MAAa,SAAS,IAAmC;AACxD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAad,UAAM,SAAS,MAAM,KAAK,UAAU,QAAiC,OAAO,EAAE,WAAW,EAAE,GAAA,GAAM;AACjG,WAAO,OAAO;AAAA,EACf;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminClient.cjs","sources":["../../../../../../packages/cli/src/lib/admin/AdminClient.ts"],"sourcesContent":["import { maskToken } from '../maskToken'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport type AdminFiles = Array<{ path: string; data: string }>\nexport class AdminClient {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic async deploy(project: string | null, files: AdminFiles): Promise<void> {\n\t\tconst response = await this.execute('_deploy', 'POST', { project, files })\n\n\t\tif (!response.ok) {\n\t\t\tconst project = this.remoteProjectProvider.get()\n\t\t\tconst maskedToken = maskToken(project.token)\n\t\t\tthrow `Failed to deploy admin, POST request to ${project.adminEndpoint}/_deploy with token ${maskedToken} returned status ${response.status} ${response.statusText}\\n${await response.text()}`\n\t\t}\n\t}\n\n\tprivate async execute(path: string, method: string, body: any): Promise<Response> {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\tif (!project.adminEndpoint) {\n\t\t\tthrow new Error('Admin endpoint not set')\n\t\t}\n\t\treturn await fetch(`${project.adminEndpoint}/${path}`, {\n\t\t\tmethod: method,\n\t\t\theaders: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${project.token}` },\n\t\t\tbody: JSON.stringify(body),\n\t\t})\n\t}\n
|
|
1
|
+
{"version":3,"file":"AdminClient.cjs","sources":["../../../../../../packages/cli/src/lib/admin/AdminClient.ts"],"sourcesContent":["import { maskToken } from '../maskToken'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport type AdminFiles = Array<{ path: string; data: string }>\nexport class AdminClient {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic async deploy(project: string | null, files: AdminFiles): Promise<void> {\n\t\tconst response = await this.execute('_deploy', 'POST', { project, files })\n\n\t\tif (!response.ok) {\n\t\t\tconst project = this.remoteProjectProvider.get()\n\t\t\tconst maskedToken = maskToken(project.token)\n\t\t\tthrow `Failed to deploy admin, POST request to ${project.adminEndpoint}/_deploy with token ${maskedToken} returned status ${response.status} ${response.statusText}\\n${await response\n\t\t\t\t.text()}`\n\t\t}\n\t}\n\n\tprivate async execute(path: string, method: string, body: any): Promise<Response> {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\tif (!project.adminEndpoint) {\n\t\t\tthrow new Error('Admin endpoint not set')\n\t\t}\n\t\treturn await fetch(`${project.adminEndpoint}/${path}`, {\n\t\t\tmethod: method,\n\t\t\theaders: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${project.token}` },\n\t\t\tbody: JSON.stringify(body),\n\t\t})\n\t}\n}\n"],"names":["project","maskToken"],"mappings":";;;AAIO,MAAM,YAAY;AAAA,EACxB,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,EAElB;AAAA,EAEA,MAAa,OAAO,SAAwB,OAAkC;AAC7E,UAAM,WAAW,MAAM,KAAK,QAAQ,WAAW,QAAQ,EAAE,SAAS,OAAO;AAEzE,QAAI,CAAC,SAAS,IAAI;AACjB,YAAMA,WAAU,KAAK,sBAAsB,IAAA;AAC3C,YAAM,cAAcC,UAAAA,UAAUD,SAAQ,KAAK;AAC3C,YAAM,2CAA2CA,SAAQ,aAAa,uBAAuB,WAAW,oBAAoB,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,EAAK,MAAM,SAC3K,KAAA,CAAM;AAAA,IACT;AAAA,EACD;AAAA,EAEA,MAAc,QAAQ,MAAc,QAAgB,MAA8B;AACjF,UAAM,UAAU,KAAK,sBAAsB,IAAA;AAC3C,QAAI,CAAC,QAAQ,eAAe;AAC3B,YAAM,IAAI,MAAM,wBAAwB;AAAA,IACzC;AACA,WAAO,MAAM,MAAM,GAAG,QAAQ,aAAa,IAAI,IAAI,IAAI;AAAA,MACtD;AAAA,MACA,SAAS,EAAE,gBAAgB,oBAAoB,iBAAiB,UAAU,QAAQ,KAAK,GAAA;AAAA,MACvF,MAAM,KAAK,UAAU,IAAI;AAAA,IAAA,CACzB;AAAA,EACF;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminClient.js","sources":["../../../../../../packages/cli/src/lib/admin/AdminClient.ts"],"sourcesContent":["import { maskToken } from '../maskToken'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport type AdminFiles = Array<{ path: string; data: string }>\nexport class AdminClient {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic async deploy(project: string | null, files: AdminFiles): Promise<void> {\n\t\tconst response = await this.execute('_deploy', 'POST', { project, files })\n\n\t\tif (!response.ok) {\n\t\t\tconst project = this.remoteProjectProvider.get()\n\t\t\tconst maskedToken = maskToken(project.token)\n\t\t\tthrow `Failed to deploy admin, POST request to ${project.adminEndpoint}/_deploy with token ${maskedToken} returned status ${response.status} ${response.statusText}\\n${await response.text()}`\n\t\t}\n\t}\n\n\tprivate async execute(path: string, method: string, body: any): Promise<Response> {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\tif (!project.adminEndpoint) {\n\t\t\tthrow new Error('Admin endpoint not set')\n\t\t}\n\t\treturn await fetch(`${project.adminEndpoint}/${path}`, {\n\t\t\tmethod: method,\n\t\t\theaders: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${project.token}` },\n\t\t\tbody: JSON.stringify(body),\n\t\t})\n\t}\n
|
|
1
|
+
{"version":3,"file":"AdminClient.js","sources":["../../../../../../packages/cli/src/lib/admin/AdminClient.ts"],"sourcesContent":["import { maskToken } from '../maskToken'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport type AdminFiles = Array<{ path: string; data: string }>\nexport class AdminClient {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic async deploy(project: string | null, files: AdminFiles): Promise<void> {\n\t\tconst response = await this.execute('_deploy', 'POST', { project, files })\n\n\t\tif (!response.ok) {\n\t\t\tconst project = this.remoteProjectProvider.get()\n\t\t\tconst maskedToken = maskToken(project.token)\n\t\t\tthrow `Failed to deploy admin, POST request to ${project.adminEndpoint}/_deploy with token ${maskedToken} returned status ${response.status} ${response.statusText}\\n${await response\n\t\t\t\t.text()}`\n\t\t}\n\t}\n\n\tprivate async execute(path: string, method: string, body: any): Promise<Response> {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\tif (!project.adminEndpoint) {\n\t\t\tthrow new Error('Admin endpoint not set')\n\t\t}\n\t\treturn await fetch(`${project.adminEndpoint}/${path}`, {\n\t\t\tmethod: method,\n\t\t\theaders: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${project.token}` },\n\t\t\tbody: JSON.stringify(body),\n\t\t})\n\t}\n}\n"],"names":["project"],"mappings":";AAIO,MAAM,YAAY;AAAA,EACxB,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,EAElB;AAAA,EAEA,MAAa,OAAO,SAAwB,OAAkC;AAC7E,UAAM,WAAW,MAAM,KAAK,QAAQ,WAAW,QAAQ,EAAE,SAAS,OAAO;AAEzE,QAAI,CAAC,SAAS,IAAI;AACjB,YAAMA,WAAU,KAAK,sBAAsB,IAAA;AAC3C,YAAM,cAAc,UAAUA,SAAQ,KAAK;AAC3C,YAAM,2CAA2CA,SAAQ,aAAa,uBAAuB,WAAW,oBAAoB,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,EAAK,MAAM,SAC3K,KAAA,CAAM;AAAA,IACT;AAAA,EACD;AAAA,EAEA,MAAc,QAAQ,MAAc,QAAgB,MAA8B;AACjF,UAAM,UAAU,KAAK,sBAAsB,IAAA;AAC3C,QAAI,CAAC,QAAQ,eAAe;AAC3B,YAAM,IAAI,MAAM,wBAAwB;AAAA,IACzC;AACA,WAAO,MAAM,MAAM,GAAG,QAAQ,aAAa,IAAI,IAAI,IAAI;AAAA,MACtD;AAAA,MACA,SAAS,EAAE,gBAAgB,oBAAoB,iBAAiB,UAAU,QAAQ,KAAK,GAAA;AAAA,MACvF,MAAM,KAAK,UAAU,IAAI;AAAA,IAAA,CACzB;AAAA,EACF;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminDeployer.cjs","sources":["../../../../../../packages/cli/src/lib/admin/AdminDeployer.ts"],"sourcesContent":["import { AdminClient, AdminFiles } from './AdminClient'\nimport { FileSystem } from '../fs/FileSystem'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport class AdminDeployer {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t\tprivate readonly adminClient: AdminClient,\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\tpublic deploy = async ({ dir, root }: {\n\t\tdir: string\n\t\troot: boolean\n\t}) => {\n\t\tconsole.log('Deploying admin...')\n\t\tconst files = await this.readAdminFiles(dir)\n\t\tconst project = root ? null : this.remoteProjectProvider.get().name\n\n\t\t// in some cases you need deploy whole folder with custom build etc.\n\t\t// with root option you can build app on your own and simply deploy it with subprojects\n\t\tawait this.adminClient.deploy(project, files)\n\n\t\tconsole.log(`Admin deployed (${files.length} files)`)\n\t}\n\n\
|
|
1
|
+
{"version":3,"file":"AdminDeployer.cjs","sources":["../../../../../../packages/cli/src/lib/admin/AdminDeployer.ts"],"sourcesContent":["import { AdminClient, AdminFiles } from './AdminClient'\nimport { FileSystem } from '../fs/FileSystem'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport class AdminDeployer {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t\tprivate readonly adminClient: AdminClient,\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\tpublic deploy = async ({ dir, root }: {\n\t\tdir: string\n\t\troot: boolean\n\t}) => {\n\t\tconsole.log('Deploying admin...')\n\t\tconst files = await this.readAdminFiles(dir)\n\t\tconst project = root ? null : this.remoteProjectProvider.get().name\n\n\t\t// in some cases you need deploy whole folder with custom build etc.\n\t\t// with root option you can build app on your own and simply deploy it with subprojects\n\t\tawait this.adminClient.deploy(project, files)\n\n\t\tconsole.log(`Admin deployed (${files.length} files)`)\n\t}\n\n\tprivate readAdminFiles = async (dir: string, prefix: string = ''): Promise<AdminFiles> => {\n\t\tconst files = []\n\t\tfor (const fileName of await this.fs.readDir(dir, { withFileTypes: true })) {\n\t\t\tif (fileName.isDirectory()) {\n\t\t\t\tconst subFiles = await this.readAdminFiles(`${dir}/${fileName.name}`, prefix + fileName.name + '/')\n\t\t\t\tfiles.push(...subFiles)\n\t\t\t} else if (fileName.isFile()) {\n\t\t\t\tfiles.push({\n\t\t\t\t\tpath: prefix + fileName.name,\n\t\t\t\t\tdata: (await this.fs.readFile(`${dir}/${fileName.name}`)).toString('base64'),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\treturn files\n\t}\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,cAAc;AAAA,EAC1B,YACkB,uBACA,aACA,IAChB;AAHgB,SAAA,wBAAA;AACA,SAAA,cAAA;AACA,SAAA,KAAA;AAIlB,kBAAA,MAAO,UAAS,OAAO,EAAE,KAAK,WAGxB;AACL,cAAQ,IAAI,oBAAoB;AAChC,YAAM,QAAQ,MAAM,KAAK,eAAe,GAAG;AAC3C,YAAM,UAAU,OAAO,OAAO,KAAK,sBAAsB,MAAM;AAI/D,YAAM,KAAK,YAAY,OAAO,SAAS,KAAK;AAE5C,cAAQ,IAAI,mBAAmB,MAAM,MAAM,SAAS;AAAA,IACrD,CAAA;AAEA,kBAAA,MAAQ,kBAAiB,OAAO,KAAa,SAAiB,OAA4B;AACzF,YAAM,QAAQ,CAAA;AACd,iBAAW,YAAY,MAAM,KAAK,GAAG,QAAQ,KAAK,EAAE,eAAe,KAAA,CAAM,GAAG;AAC3E,YAAI,SAAS,eAAe;AAC3B,gBAAM,WAAW,MAAM,KAAK,eAAe,GAAG,GAAG,IAAI,SAAS,IAAI,IAAI,SAAS,SAAS,OAAO,GAAG;AAClG,gBAAM,KAAK,GAAG,QAAQ;AAAA,QACvB,WAAW,SAAS,UAAU;AAC7B,gBAAM,KAAK;AAAA,YACV,MAAM,SAAS,SAAS;AAAA,YACxB,OAAO,MAAM,KAAK,GAAG,SAAS,GAAG,GAAG,IAAI,SAAS,IAAI,EAAE,GAAG,SAAS,QAAQ;AAAA,UAAA,CAC3E;AAAA,QACF;AAAA,MACD;AAEA,aAAO;AAAA,IACR,CAAA;AAAA,EAhCA;AAiCD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminDeployer.js","sources":["../../../../../../packages/cli/src/lib/admin/AdminDeployer.ts"],"sourcesContent":["import { AdminClient, AdminFiles } from './AdminClient'\nimport { FileSystem } from '../fs/FileSystem'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport class AdminDeployer {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t\tprivate readonly adminClient: AdminClient,\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\tpublic deploy = async ({ dir, root }: {\n\t\tdir: string\n\t\troot: boolean\n\t}) => {\n\t\tconsole.log('Deploying admin...')\n\t\tconst files = await this.readAdminFiles(dir)\n\t\tconst project = root ? null : this.remoteProjectProvider.get().name\n\n\t\t// in some cases you need deploy whole folder with custom build etc.\n\t\t// with root option you can build app on your own and simply deploy it with subprojects\n\t\tawait this.adminClient.deploy(project, files)\n\n\t\tconsole.log(`Admin deployed (${files.length} files)`)\n\t}\n\n\
|
|
1
|
+
{"version":3,"file":"AdminDeployer.js","sources":["../../../../../../packages/cli/src/lib/admin/AdminDeployer.ts"],"sourcesContent":["import { AdminClient, AdminFiles } from './AdminClient'\nimport { FileSystem } from '../fs/FileSystem'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport class AdminDeployer {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t\tprivate readonly adminClient: AdminClient,\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\tpublic deploy = async ({ dir, root }: {\n\t\tdir: string\n\t\troot: boolean\n\t}) => {\n\t\tconsole.log('Deploying admin...')\n\t\tconst files = await this.readAdminFiles(dir)\n\t\tconst project = root ? null : this.remoteProjectProvider.get().name\n\n\t\t// in some cases you need deploy whole folder with custom build etc.\n\t\t// with root option you can build app on your own and simply deploy it with subprojects\n\t\tawait this.adminClient.deploy(project, files)\n\n\t\tconsole.log(`Admin deployed (${files.length} files)`)\n\t}\n\n\tprivate readAdminFiles = async (dir: string, prefix: string = ''): Promise<AdminFiles> => {\n\t\tconst files = []\n\t\tfor (const fileName of await this.fs.readDir(dir, { withFileTypes: true })) {\n\t\t\tif (fileName.isDirectory()) {\n\t\t\t\tconst subFiles = await this.readAdminFiles(`${dir}/${fileName.name}`, prefix + fileName.name + '/')\n\t\t\t\tfiles.push(...subFiles)\n\t\t\t} else if (fileName.isFile()) {\n\t\t\t\tfiles.push({\n\t\t\t\t\tpath: prefix + fileName.name,\n\t\t\t\t\tdata: (await this.fs.readFile(`${dir}/${fileName.name}`)).toString('base64'),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\treturn files\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,cAAc;AAAA,EAC1B,YACkB,uBACA,aACA,IAChB;AAHgB,SAAA,wBAAA;AACA,SAAA,cAAA;AACA,SAAA,KAAA;AAIlB,kBAAA,MAAO,UAAS,OAAO,EAAE,KAAK,WAGxB;AACL,cAAQ,IAAI,oBAAoB;AAChC,YAAM,QAAQ,MAAM,KAAK,eAAe,GAAG;AAC3C,YAAM,UAAU,OAAO,OAAO,KAAK,sBAAsB,MAAM;AAI/D,YAAM,KAAK,YAAY,OAAO,SAAS,KAAK;AAE5C,cAAQ,IAAI,mBAAmB,MAAM,MAAM,SAAS;AAAA,IACrD,CAAA;AAEA,kBAAA,MAAQ,kBAAiB,OAAO,KAAa,SAAiB,OAA4B;AACzF,YAAM,QAAQ,CAAA;AACd,iBAAW,YAAY,MAAM,KAAK,GAAG,QAAQ,KAAK,EAAE,eAAe,KAAA,CAAM,GAAG;AAC3E,YAAI,SAAS,eAAe;AAC3B,gBAAM,WAAW,MAAM,KAAK,eAAe,GAAG,GAAG,IAAI,SAAS,IAAI,IAAI,SAAS,SAAS,OAAO,GAAG;AAClG,gBAAM,KAAK,GAAG,QAAQ;AAAA,QACvB,WAAW,SAAS,UAAU;AAC7B,gBAAM,KAAK;AAAA,YACV,MAAM,SAAS,SAAS;AAAA,YACxB,OAAO,MAAM,KAAK,GAAG,SAAS,GAAG,GAAG,IAAI,SAAS,IAAI,EAAE,GAAG,SAAS,QAAQ;AAAA,UAAA,CAC3E;AAAA,QACF;AAAA,MACD;AAEA,aAAO;AAAA,IACR,CAAA;AAAA,EAhCA;AAiCD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertNever.cjs","sources":["../../../../../packages/cli/src/lib/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":";;AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"assertNever.cjs","sources":["../../../../../packages/cli/src/lib/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":";;AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,MAAA;AACX;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertNever.js","sources":["../../../../../packages/cli/src/lib/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"assertNever.js","sources":["../../../../../packages/cli/src/lib/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,MAAA;AACX;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dsn.cjs","sources":["../../../../../packages/cli/src/lib/dsn.ts"],"sourcesContent":["import { URL } from 'node:url'\n\nexport const parseDsn = (dsn: string): { endpoint: string; project: string; token: string } => {\n\tconst uri = new URL(dsn)\n\tif (uri.protocol !== 'contember:' && uri.protocol !== 'contember-unsecure:') {\n\t\tthrow 'Invalid DSN'\n\t}\n\treturn {\n\t\tproject: uri.username,\n\t\ttoken: uri.password,\n\t\tendpoint: (uri.protocol === 'contember-unsecure:' ? 'http://' : 'https://') + uri.host,\n\t}\n}\n"],"names":["URL"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"dsn.cjs","sources":["../../../../../packages/cli/src/lib/dsn.ts"],"sourcesContent":["import { URL } from 'node:url'\n\nexport const parseDsn = (dsn: string): { endpoint: string; project: string; token: string } => {\n\tconst uri = new URL(dsn)\n\tif (uri.protocol !== 'contember:' && uri.protocol !== 'contember-unsecure:') {\n\t\tthrow 'Invalid DSN'\n\t}\n\treturn {\n\t\tproject: uri.username,\n\t\ttoken: uri.password,\n\t\tendpoint: (uri.protocol === 'contember-unsecure:' ? 'http://' : 'https://') + uri.host,\n\t}\n}\n"],"names":["URL"],"mappings":";;;AAEO,MAAM,WAAW,CAAC,QAAsE;AAC9F,QAAM,MAAM,IAAIA,SAAAA,IAAI,GAAG;AACvB,MAAI,IAAI,aAAa,gBAAgB,IAAI,aAAa,uBAAuB;AAC5E,UAAM;AAAA,EACP;AACA,SAAO;AAAA,IACN,SAAS,IAAI;AAAA,IACb,OAAO,IAAI;AAAA,IACX,WAAW,IAAI,aAAa,wBAAwB,YAAY,cAAc,IAAI;AAAA,EAAA;AAEpF;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dsn.js","sources":["../../../../../packages/cli/src/lib/dsn.ts"],"sourcesContent":["import { URL } from 'node:url'\n\nexport const parseDsn = (dsn: string): { endpoint: string; project: string; token: string } => {\n\tconst uri = new URL(dsn)\n\tif (uri.protocol !== 'contember:' && uri.protocol !== 'contember-unsecure:') {\n\t\tthrow 'Invalid DSN'\n\t}\n\treturn {\n\t\tproject: uri.username,\n\t\ttoken: uri.password,\n\t\tendpoint: (uri.protocol === 'contember-unsecure:' ? 'http://' : 'https://') + uri.host,\n\t}\n}\n"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"dsn.js","sources":["../../../../../packages/cli/src/lib/dsn.ts"],"sourcesContent":["import { URL } from 'node:url'\n\nexport const parseDsn = (dsn: string): { endpoint: string; project: string; token: string } => {\n\tconst uri = new URL(dsn)\n\tif (uri.protocol !== 'contember:' && uri.protocol !== 'contember-unsecure:') {\n\t\tthrow 'Invalid DSN'\n\t}\n\treturn {\n\t\tproject: uri.username,\n\t\ttoken: uri.password,\n\t\tendpoint: (uri.protocol === 'contember-unsecure:' ? 'http://' : 'https://') + uri.host,\n\t}\n}\n"],"names":[],"mappings":";AAEO,MAAM,WAAW,CAAC,QAAsE;AAC9F,QAAM,MAAM,IAAI,IAAI,GAAG;AACvB,MAAI,IAAI,aAAa,gBAAgB,IAAI,aAAa,uBAAuB;AAC5E,UAAM;AAAA,EACP;AACA,SAAO;AAAA,IACN,SAAS,IAAI;AAAA,IACb,OAAO,IAAI;AAAA,IACX,WAAW,IAAI,aAAa,wBAAwB,YAAY,cAAc,IAAI;AAAA,EAAA;AAEpF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.cjs","sources":["../../../../../packages/cli/src/lib/env.ts"],"sourcesContent":["export interface CliEnv {\n\tapiToken?: string\n\tloginToken?: string\n\tapiUrl?: string\n\tprojectName?: string\n\tdockerComposeFile?: string\n\tdsn?: string\n\tdir?: string\n\tmigrationsOptions?: {\n\t\tmaxPatchSize?: number\n\t}\n}\n\nexport const readCliEnv = (): CliEnv => {\n\treturn {\n\t\tdir: process.env.CONTEMBER_DIR,\n\t\tapiToken: process.env.CONTEMBER_API_TOKEN,\n\t\tloginToken: process.env.CONTEMBER_LOGIN_TOKEN,\n\t\tapiUrl: process.env.CONTEMBER_API_URL ?? process.env.CONTEMBER_INSTANCE,\n\t\tprojectName: process.env.CONTEMBER_PROJECT_NAME,\n\t\tdockerComposeFile: process.env.COMPOSE_FILE,\n\t\tdsn: process.env.CONTEMBER_DSN,\n\t\tmigrationsOptions: {\n\t\t\tmaxPatchSize: process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE ? parseInt(process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE) : undefined,\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";;AAaO,MAAM,aAAa,MAAc;
|
|
1
|
+
{"version":3,"file":"env.cjs","sources":["../../../../../packages/cli/src/lib/env.ts"],"sourcesContent":["export interface CliEnv {\n\tapiToken?: string\n\tloginToken?: string\n\tapiUrl?: string\n\tprojectName?: string\n\tdockerComposeFile?: string\n\tdsn?: string\n\tdir?: string\n\tmigrationsOptions?: {\n\t\tmaxPatchSize?: number\n\t}\n}\n\nexport const readCliEnv = (): CliEnv => {\n\treturn {\n\t\tdir: process.env.CONTEMBER_DIR,\n\t\tapiToken: process.env.CONTEMBER_API_TOKEN,\n\t\tloginToken: process.env.CONTEMBER_LOGIN_TOKEN,\n\t\tapiUrl: process.env.CONTEMBER_API_URL ?? process.env.CONTEMBER_INSTANCE,\n\t\tprojectName: process.env.CONTEMBER_PROJECT_NAME,\n\t\tdockerComposeFile: process.env.COMPOSE_FILE,\n\t\tdsn: process.env.CONTEMBER_DSN,\n\t\tmigrationsOptions: {\n\t\t\tmaxPatchSize: process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE ? parseInt(process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE) : undefined,\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";;AAaO,MAAM,aAAa,MAAc;AACvC,SAAO;AAAA,IACN,KAAK,QAAQ,IAAI;AAAA,IACjB,UAAU,QAAQ,IAAI;AAAA,IACtB,YAAY,QAAQ,IAAI;AAAA,IACxB,QAAQ,QAAQ,IAAI,qBAAqB,QAAQ,IAAI;AAAA,IACrD,aAAa,QAAQ,IAAI;AAAA,IACzB,mBAAmB,QAAQ,IAAI;AAAA,IAC/B,KAAK,QAAQ,IAAI;AAAA,IACjB,mBAAmB;AAAA,MAClB,cAAc,QAAQ,IAAI,sCAAsC,SAAS,QAAQ,IAAI,mCAAmC,IAAI;AAAA,IAAA;AAAA,EAC7H;AAEF;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sources":["../../../../../packages/cli/src/lib/env.ts"],"sourcesContent":["export interface CliEnv {\n\tapiToken?: string\n\tloginToken?: string\n\tapiUrl?: string\n\tprojectName?: string\n\tdockerComposeFile?: string\n\tdsn?: string\n\tdir?: string\n\tmigrationsOptions?: {\n\t\tmaxPatchSize?: number\n\t}\n}\n\nexport const readCliEnv = (): CliEnv => {\n\treturn {\n\t\tdir: process.env.CONTEMBER_DIR,\n\t\tapiToken: process.env.CONTEMBER_API_TOKEN,\n\t\tloginToken: process.env.CONTEMBER_LOGIN_TOKEN,\n\t\tapiUrl: process.env.CONTEMBER_API_URL ?? process.env.CONTEMBER_INSTANCE,\n\t\tprojectName: process.env.CONTEMBER_PROJECT_NAME,\n\t\tdockerComposeFile: process.env.COMPOSE_FILE,\n\t\tdsn: process.env.CONTEMBER_DSN,\n\t\tmigrationsOptions: {\n\t\t\tmaxPatchSize: process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE ? parseInt(process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE) : undefined,\n\t\t},\n\t}\n}\n"],"names":[],"mappings":"AAaO,MAAM,aAAa,MAAc;
|
|
1
|
+
{"version":3,"file":"env.js","sources":["../../../../../packages/cli/src/lib/env.ts"],"sourcesContent":["export interface CliEnv {\n\tapiToken?: string\n\tloginToken?: string\n\tapiUrl?: string\n\tprojectName?: string\n\tdockerComposeFile?: string\n\tdsn?: string\n\tdir?: string\n\tmigrationsOptions?: {\n\t\tmaxPatchSize?: number\n\t}\n}\n\nexport const readCliEnv = (): CliEnv => {\n\treturn {\n\t\tdir: process.env.CONTEMBER_DIR,\n\t\tapiToken: process.env.CONTEMBER_API_TOKEN,\n\t\tloginToken: process.env.CONTEMBER_LOGIN_TOKEN,\n\t\tapiUrl: process.env.CONTEMBER_API_URL ?? process.env.CONTEMBER_INSTANCE,\n\t\tprojectName: process.env.CONTEMBER_PROJECT_NAME,\n\t\tdockerComposeFile: process.env.COMPOSE_FILE,\n\t\tdsn: process.env.CONTEMBER_DSN,\n\t\tmigrationsOptions: {\n\t\t\tmaxPatchSize: process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE ? parseInt(process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE) : undefined,\n\t\t},\n\t}\n}\n"],"names":[],"mappings":"AAaO,MAAM,aAAa,MAAc;AACvC,SAAO;AAAA,IACN,KAAK,QAAQ,IAAI;AAAA,IACjB,UAAU,QAAQ,IAAI;AAAA,IACtB,YAAY,QAAQ,IAAI;AAAA,IACxB,QAAQ,QAAQ,IAAI,qBAAqB,QAAQ,IAAI;AAAA,IACrD,aAAa,QAAQ,IAAI;AAAA,IACzB,mBAAmB,QAAQ,IAAI;AAAA,IAC/B,KAAK,QAAQ,IAAI;AAAA,IACjB,mBAAmB;AAAA,MAClB,cAAc,QAAQ,IAAI,sCAAsC,SAAS,QAAQ,IAAI,mCAAmC,IAAI;AAAA,IAAA;AAAA,EAC7H;AAEF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DockerComposeManager.cjs","sources":["../../../../../../packages/cli/src/lib/fs/DockerComposeManager.ts"],"sourcesContent":["import { dirname, join } from 'node:path'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport { JsonUpdateCallback, YamlHandler } from './YamlHandler'\n\nexport interface DockerComposeServiceConfig {\n\timage?: string\n\tcommand?: string\n\tuser?: string\n\tenvironment?: Record<string, string>\n\tports?: (string | {})[] // todo long syntax\n}\n\nexport interface DockerComposeConfig {\n\t[key: string]: unknown\n\n\tversion?: string\n\tservices?: Record<string, DockerComposeServiceConfig>\n}\n\
|
|
1
|
+
{"version":3,"file":"DockerComposeManager.cjs","sources":["../../../../../../packages/cli/src/lib/fs/DockerComposeManager.ts"],"sourcesContent":["import { dirname, join } from 'node:path'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport { JsonUpdateCallback, YamlHandler } from './YamlHandler'\n\nexport interface DockerComposeServiceConfig {\n\timage?: string\n\tcommand?: string\n\tuser?: string\n\tenvironment?: Record<string, string>\n\tports?: (string | {})[] // todo long syntax\n}\n\nexport interface DockerComposeConfig {\n\t[key: string]: unknown\n\n\tversion?: string\n\tservices?: Record<string, DockerComposeServiceConfig>\n}\n\nconst MAIN_CONFIGS = ['docker-compose.yaml', 'docker-compose.yml']\n\nexport class DockerComposeManager {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate readonly composeFile: string | undefined,\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly yamlHandler: YamlHandler,\n\t) {\n\t}\n\n\ttryReadMainDockerComposeConfig = async (dir: string = this.dir): Promise<DockerComposeConfig | null> => {\n\t\tconst path = await this.resolvePath(dir, MAIN_CONFIGS)\n\t\tif (!path) {\n\t\t\tif (dir === '/') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn await this.tryReadMainDockerComposeConfig(dirname(dir))\n\t\t}\n\t\treturn jsyaml.load(await this.fs.readFile(path, 'utf8')) as DockerComposeConfig\n\t}\n\n\tupdateMainDockerComposeConfig = async (\n\t\tupdater: JsonUpdateCallback<DockerComposeConfig>,\n\t\tdir: string = this.dir,\n\t): Promise<void> => {\n\t\tconst path = this.composeFile || (await this.resolvePath(dir, MAIN_CONFIGS)) || join(dir, MAIN_CONFIGS[0])\n\t\treturn this.yamlHandler.updateYaml(path, updater, { createMissing: true })\n\t}\n\n\tprivate resolvePath = async (dir: string, possibleFileNames: string[]): Promise<string | null> => {\n\t\tfor (const file of possibleFileNames) {\n\t\t\tconst path = join(dir, file)\n\t\t\tif (await this.fs.pathExists(path)) {\n\t\t\t\treturn path\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n}\n"],"names":["dir","dirname","join"],"mappings":";;;;;;;AAoBA,MAAM,eAAe,CAAC,uBAAuB,oBAAoB;AAE1D,MAAM,qBAAqB;AAAA,EACjC,YACkB,KACA,aACA,IACA,aAChB;AAJgB,SAAA,MAAA;AACA,SAAA,cAAA;AACA,SAAA,KAAA;AACA,SAAA,cAAA;AAIlB,kBAAA,MAAA,kCAAiC,OAAOA,OAAc,KAAK,QAA6C;AACvG,YAAM,OAAO,MAAM,KAAK,YAAYA,MAAK,YAAY;AACrD,UAAI,CAAC,MAAM;AACV,YAAIA,SAAQ,KAAK;AAChB,iBAAO;AAAA,QACR;AACA,eAAO,MAAM,KAAK,+BAA+BC,UAAAA,QAAQD,IAAG,CAAC;AAAA,MAC9D;AACA,aAAO,OAAO,KAAK,MAAM,KAAK,GAAG,SAAS,MAAM,MAAM,CAAC;AAAA,IACxD,CAAA;AAEA,kBAAA,MAAA,iCAAgC,OAC/B,SACAA,OAAc,KAAK,QACA;AACnB,YAAM,OAAO,KAAK,eAAgB,MAAM,KAAK,YAAYA,MAAK,YAAY,KAAME,UAAAA,KAAKF,MAAK,aAAa,CAAC,CAAC;AACzG,aAAO,KAAK,YAAY,WAAW,MAAM,SAAS,EAAE,eAAe,MAAM;AAAA,IAC1E,CAAA;AAEA,kBAAA,MAAQ,eAAc,OAAOA,MAAa,sBAAwD;AACjG,iBAAW,QAAQ,mBAAmB;AACrC,cAAM,OAAOE,UAAAA,KAAKF,MAAK,IAAI;AAC3B,YAAI,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG;AACnC,iBAAO;AAAA,QACR;AAAA,MACD;AACA,aAAO;AAAA,IACR,CAAA;AAAA,EA7BA;AA8BD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DockerComposeManager.js","sources":["../../../../../../packages/cli/src/lib/fs/DockerComposeManager.ts"],"sourcesContent":["import { dirname, join } from 'node:path'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport { JsonUpdateCallback, YamlHandler } from './YamlHandler'\n\nexport interface DockerComposeServiceConfig {\n\timage?: string\n\tcommand?: string\n\tuser?: string\n\tenvironment?: Record<string, string>\n\tports?: (string | {})[] // todo long syntax\n}\n\nexport interface DockerComposeConfig {\n\t[key: string]: unknown\n\n\tversion?: string\n\tservices?: Record<string, DockerComposeServiceConfig>\n}\n\
|
|
1
|
+
{"version":3,"file":"DockerComposeManager.js","sources":["../../../../../../packages/cli/src/lib/fs/DockerComposeManager.ts"],"sourcesContent":["import { dirname, join } from 'node:path'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport { JsonUpdateCallback, YamlHandler } from './YamlHandler'\n\nexport interface DockerComposeServiceConfig {\n\timage?: string\n\tcommand?: string\n\tuser?: string\n\tenvironment?: Record<string, string>\n\tports?: (string | {})[] // todo long syntax\n}\n\nexport interface DockerComposeConfig {\n\t[key: string]: unknown\n\n\tversion?: string\n\tservices?: Record<string, DockerComposeServiceConfig>\n}\n\nconst MAIN_CONFIGS = ['docker-compose.yaml', 'docker-compose.yml']\n\nexport class DockerComposeManager {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate readonly composeFile: string | undefined,\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly yamlHandler: YamlHandler,\n\t) {\n\t}\n\n\ttryReadMainDockerComposeConfig = async (dir: string = this.dir): Promise<DockerComposeConfig | null> => {\n\t\tconst path = await this.resolvePath(dir, MAIN_CONFIGS)\n\t\tif (!path) {\n\t\t\tif (dir === '/') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn await this.tryReadMainDockerComposeConfig(dirname(dir))\n\t\t}\n\t\treturn jsyaml.load(await this.fs.readFile(path, 'utf8')) as DockerComposeConfig\n\t}\n\n\tupdateMainDockerComposeConfig = async (\n\t\tupdater: JsonUpdateCallback<DockerComposeConfig>,\n\t\tdir: string = this.dir,\n\t): Promise<void> => {\n\t\tconst path = this.composeFile || (await this.resolvePath(dir, MAIN_CONFIGS)) || join(dir, MAIN_CONFIGS[0])\n\t\treturn this.yamlHandler.updateYaml(path, updater, { createMissing: true })\n\t}\n\n\tprivate resolvePath = async (dir: string, possibleFileNames: string[]): Promise<string | null> => {\n\t\tfor (const file of possibleFileNames) {\n\t\t\tconst path = join(dir, file)\n\t\t\tif (await this.fs.pathExists(path)) {\n\t\t\t\treturn path\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n}\n"],"names":["dir","jsyaml"],"mappings":";;;;;AAoBA,MAAM,eAAe,CAAC,uBAAuB,oBAAoB;AAE1D,MAAM,qBAAqB;AAAA,EACjC,YACkB,KACA,aACA,IACA,aAChB;AAJgB,SAAA,MAAA;AACA,SAAA,cAAA;AACA,SAAA,KAAA;AACA,SAAA,cAAA;AAIlB,kBAAA,MAAA,kCAAiC,OAAOA,OAAc,KAAK,QAA6C;AACvG,YAAM,OAAO,MAAM,KAAK,YAAYA,MAAK,YAAY;AACrD,UAAI,CAAC,MAAM;AACV,YAAIA,SAAQ,KAAK;AAChB,iBAAO;AAAA,QACR;AACA,eAAO,MAAM,KAAK,+BAA+B,QAAQA,IAAG,CAAC;AAAA,MAC9D;AACA,aAAOC,gBAAO,KAAK,MAAM,KAAK,GAAG,SAAS,MAAM,MAAM,CAAC;AAAA,IACxD,CAAA;AAEA,kBAAA,MAAA,iCAAgC,OAC/B,SACAD,OAAc,KAAK,QACA;AACnB,YAAM,OAAO,KAAK,eAAgB,MAAM,KAAK,YAAYA,MAAK,YAAY,KAAM,KAAKA,MAAK,aAAa,CAAC,CAAC;AACzG,aAAO,KAAK,YAAY,WAAW,MAAM,SAAS,EAAE,eAAe,MAAM;AAAA,IAC1E,CAAA;AAEA,kBAAA,MAAQ,eAAc,OAAOA,MAAa,sBAAwD;AACjG,iBAAW,QAAQ,mBAAmB;AACrC,cAAM,OAAO,KAAKA,MAAK,IAAI;AAC3B,YAAI,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG;AACnC,iBAAO;AAAA,QACR;AAAA,MACD;AACA,aAAO;AAAA,IACR,CAAA;AAAA,EA7BA;AA8BD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystem.cjs","sources":["../../../../../../packages/cli/src/lib/fs/FileSystem.ts"],"sourcesContent":["import * as fs from 'node:fs/promises'\nimport { access } from 'node:fs/promises'\nimport glob from 'fast-glob'\n\nexport class FileSystem {\n\treadDir = fs.readdir\n\treadFile = fs.readFile\n\tpathExists = async (path: string) => {\n\t\ttry {\n\t\t\tawait access(path)\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\tlistDirectories = async (dir: string, patterns: string[]): Promise<string[]> => {\n\t\treturn await glob(patterns, { onlyDirectories: true, cwd: dir })\n\t}\n}\n"],"names":["fs","access"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,WAAW;AAAA,EAAjB,cAAA;AACN,kBAAA,MAAA,WAAUA,cAAG,OAAA;AACb,kBAAA,MAAA,YAAWA,cAAG,QAAA;AACd,kBAAA,MAAA,cAAa,OAAO,SAAiB;
|
|
1
|
+
{"version":3,"file":"FileSystem.cjs","sources":["../../../../../../packages/cli/src/lib/fs/FileSystem.ts"],"sourcesContent":["import * as fs from 'node:fs/promises'\nimport { access } from 'node:fs/promises'\nimport glob from 'fast-glob'\n\nexport class FileSystem {\n\treadDir = fs.readdir\n\treadFile = fs.readFile\n\tpathExists = async (path: string) => {\n\t\ttry {\n\t\t\tawait access(path)\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\tlistDirectories = async (dir: string, patterns: string[]): Promise<string[]> => {\n\t\treturn await glob(patterns, { onlyDirectories: true, cwd: dir })\n\t}\n}\n"],"names":["fs","access"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,WAAW;AAAA,EAAjB,cAAA;AACN,kBAAA,MAAA,WAAUA,cAAG,OAAA;AACb,kBAAA,MAAA,YAAWA,cAAG,QAAA;AACd,kBAAA,MAAA,cAAa,OAAO,SAAiB;AACpC,UAAI;AACH,cAAMC,GAAAA,OAAO,IAAI;AACjB,eAAO;AAAA,MACR,QAAQ;AACP,eAAO;AAAA,MACR;AAAA,IACD,CAAA;AACA,kBAAA,MAAA,mBAAkB,OAAO,KAAa,aAA0C;AAC/E,aAAO,MAAM,KAAK,UAAU,EAAE,iBAAiB,MAAM,KAAK,KAAK;AAAA,IAChE,CAAA;AAAA,EAAA;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystem.js","sources":["../../../../../../packages/cli/src/lib/fs/FileSystem.ts"],"sourcesContent":["import * as fs from 'node:fs/promises'\nimport { access } from 'node:fs/promises'\nimport glob from 'fast-glob'\n\nexport class FileSystem {\n\treadDir = fs.readdir\n\treadFile = fs.readFile\n\tpathExists = async (path: string) => {\n\t\ttry {\n\t\t\tawait access(path)\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\tlistDirectories = async (dir: string, patterns: string[]): Promise<string[]> => {\n\t\treturn await glob(patterns, { onlyDirectories: true, cwd: dir })\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAIO,MAAM,WAAW;AAAA,EAAjB,cAAA;AACN,kBAAA,MAAA,WAAU,GAAG,OAAA;AACb,kBAAA,MAAA,YAAW,GAAG,QAAA;AACd,kBAAA,MAAA,cAAa,OAAO,SAAiB;
|
|
1
|
+
{"version":3,"file":"FileSystem.js","sources":["../../../../../../packages/cli/src/lib/fs/FileSystem.ts"],"sourcesContent":["import * as fs from 'node:fs/promises'\nimport { access } from 'node:fs/promises'\nimport glob from 'fast-glob'\n\nexport class FileSystem {\n\treadDir = fs.readdir\n\treadFile = fs.readFile\n\tpathExists = async (path: string) => {\n\t\ttry {\n\t\t\tawait access(path)\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\tlistDirectories = async (dir: string, patterns: string[]): Promise<string[]> => {\n\t\treturn await glob(patterns, { onlyDirectories: true, cwd: dir })\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAIO,MAAM,WAAW;AAAA,EAAjB,cAAA;AACN,kBAAA,MAAA,WAAU,GAAG,OAAA;AACb,kBAAA,MAAA,YAAW,GAAG,QAAA;AACd,kBAAA,MAAA,cAAa,OAAO,SAAiB;AACpC,UAAI;AACH,cAAM,OAAO,IAAI;AACjB,eAAO;AAAA,MACR,QAAQ;AACP,eAAO;AAAA,MACR;AAAA,IACD,CAAA;AACA,kBAAA,MAAA,mBAAkB,OAAO,KAAa,aAA0C;AAC/E,aAAO,MAAM,KAAK,UAAU,EAAE,iBAAiB,MAAM,KAAK,KAAK;AAAA,IAChE,CAAA;AAAA,EAAA;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YamlHandler.cjs","sources":["../../../../../../packages/cli/src/lib/fs/YamlHandler.ts"],"sourcesContent":["import { readFile, writeFile } from 'node:fs/promises'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport YAWN from 'yawn-yaml'\nimport { JSONObject, JSONPrimitive } from '../json'\nimport { Merger } from '@contember/config-loader'\n\nexport type JsonUpdateCallback<Value = JSONObject> = (\n\tdata: Partial<Value>,\n\tutils: { merge: (a: JSONObject, b: JSONObject) => JSONObject },\n) => Value\n\nexport class YamlHandler {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\treadYaml = async <T = unknown>(path: string): Promise<T> => {\n\t\tconst content = await this.fs.readFile(path, { encoding: 'utf8' })\n\t\treturn jsyaml.load(content) as unknown as T\n\t}\n\n\ttryReadYaml = async <T = unknown>(path: string): Promise<T | null> => {\n\t\ttry {\n\t\t\treturn await this.readYaml<T>(path)\n\t\t} catch (e: any) {\n\t\t\tif (e.code === 'ENOENT') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tupdateYaml = async <Value = JSONObject>(\n\t\tpath: string,\n\t\tupdater: JsonUpdateCallback<Value>,\n\t\toptions: { createMissing?: boolean } = {},\n\t) => {\n\t\tlet config = ''\n\t\tif (await this.fs.pathExists(path)) {\n\t\t\tconfig = await readFile(path, { encoding: 'utf8' })\n\t\t} else if (options.createMissing !== true) {\n\t\t\tthrow new Error(`File ${path} does not exist.`)\n\t\t}\n\n\t\tlet newConfig = ''\n\t\tconst mergeUtils = { merge: (a: JSONObject, b: JSONObject) => Merger.merge<JSONPrimitive>(a, b) }\n\t\tif (config) {\n\t\t\tconst yawn = new YAWN(config)\n\t\t\tyawn.json = updater(yawn.json, mergeUtils)\n\t\t\tnewConfig = yawn.yaml\n\t\t} else {\n\t\t\tnewConfig = jsyaml.dump(updater({}, mergeUtils))\n\t\t}\n\n\t\tawait writeFile(path, newConfig, { encoding: 'utf8' })\n\t}\n}\n"],"names":["fs","readFile","Merger","writeFile"],"mappings":";;;;;;;;;AAYO,MAAM,YAAY;AAAA,EACxB,YACkBA,MAChB;AADgB,SAAA,KAAAA;AAIlB,kBAAA,MAAA,YAAW,OAAoB,SAA6B;
|
|
1
|
+
{"version":3,"file":"YamlHandler.cjs","sources":["../../../../../../packages/cli/src/lib/fs/YamlHandler.ts"],"sourcesContent":["import { readFile, writeFile } from 'node:fs/promises'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport YAWN from 'yawn-yaml'\nimport { JSONObject, JSONPrimitive } from '../json'\nimport { Merger } from '@contember/config-loader'\n\nexport type JsonUpdateCallback<Value = JSONObject> = (\n\tdata: Partial<Value>,\n\tutils: { merge: (a: JSONObject, b: JSONObject) => JSONObject },\n) => Value\n\nexport class YamlHandler {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\treadYaml = async <T = unknown>(path: string): Promise<T> => {\n\t\tconst content = await this.fs.readFile(path, { encoding: 'utf8' })\n\t\treturn jsyaml.load(content) as unknown as T\n\t}\n\n\ttryReadYaml = async <T = unknown>(path: string): Promise<T | null> => {\n\t\ttry {\n\t\t\treturn await this.readYaml<T>(path)\n\t\t} catch (e: any) {\n\t\t\tif (e.code === 'ENOENT') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tupdateYaml = async <Value = JSONObject>(\n\t\tpath: string,\n\t\tupdater: JsonUpdateCallback<Value>,\n\t\toptions: { createMissing?: boolean } = {},\n\t) => {\n\t\tlet config = ''\n\t\tif (await this.fs.pathExists(path)) {\n\t\t\tconfig = await readFile(path, { encoding: 'utf8' })\n\t\t} else if (options.createMissing !== true) {\n\t\t\tthrow new Error(`File ${path} does not exist.`)\n\t\t}\n\n\t\tlet newConfig = ''\n\t\tconst mergeUtils = { merge: (a: JSONObject, b: JSONObject) => Merger.merge<JSONPrimitive>(a, b) }\n\t\tif (config) {\n\t\t\tconst yawn = new YAWN(config)\n\t\t\tyawn.json = updater(yawn.json, mergeUtils)\n\t\t\tnewConfig = yawn.yaml\n\t\t} else {\n\t\t\tnewConfig = jsyaml.dump(updater({}, mergeUtils))\n\t\t}\n\n\t\tawait writeFile(path, newConfig, { encoding: 'utf8' })\n\t}\n}\n"],"names":["fs","readFile","Merger","writeFile"],"mappings":";;;;;;;;;AAYO,MAAM,YAAY;AAAA,EACxB,YACkBA,MAChB;AADgB,SAAA,KAAAA;AAIlB,kBAAA,MAAA,YAAW,OAAoB,SAA6B;AAC3D,YAAM,UAAU,MAAM,KAAK,GAAG,SAAS,MAAM,EAAE,UAAU,QAAQ;AACjE,aAAO,OAAO,KAAK,OAAO;AAAA,IAC3B,CAAA;AAEA,kBAAA,MAAA,eAAc,OAAoB,SAAoC;AACrE,UAAI;AACH,eAAO,MAAM,KAAK,SAAY,IAAI;AAAA,MACnC,SAAS,GAAQ;AAChB,YAAI,EAAE,SAAS,UAAU;AACxB,iBAAO;AAAA,QACR;AACA,cAAM;AAAA,MACP;AAAA,IACD,CAAA;AAEA,kBAAA,MAAA,cAAa,OACZ,MACA,SACA,UAAuC,OACnC;AACJ,UAAI,SAAS;AACb,UAAI,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG;AACnC,iBAAS,MAAMC,GAAAA,SAAS,MAAM,EAAE,UAAU,QAAQ;AAAA,MACnD,WAAW,QAAQ,kBAAkB,MAAM;AAC1C,cAAM,IAAI,MAAM,QAAQ,IAAI,kBAAkB;AAAA,MAC/C;AAEA,UAAI,YAAY;AAChB,YAAM,aAAa,EAAE,OAAO,CAAC,GAAe,MAAkBC,aAAAA,OAAO,MAAqB,GAAG,CAAC,EAAA;AAC9F,UAAI,QAAQ;AACX,cAAM,OAAO,IAAI,KAAK,MAAM;AAC5B,aAAK,OAAO,QAAQ,KAAK,MAAM,UAAU;AACzC,oBAAY,KAAK;AAAA,MAClB,OAAO;AACN,oBAAY,OAAO,KAAK,QAAQ,CAAA,GAAI,UAAU,CAAC;AAAA,MAChD;AAEA,YAAMC,GAAAA,UAAU,MAAM,WAAW,EAAE,UAAU,QAAQ;AAAA,IACtD,CAAA;AAAA,EAzCA;AA0CD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YamlHandler.js","sources":["../../../../../../packages/cli/src/lib/fs/YamlHandler.ts"],"sourcesContent":["import { readFile, writeFile } from 'node:fs/promises'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport YAWN from 'yawn-yaml'\nimport { JSONObject, JSONPrimitive } from '../json'\nimport { Merger } from '@contember/config-loader'\n\nexport type JsonUpdateCallback<Value = JSONObject> = (\n\tdata: Partial<Value>,\n\tutils: { merge: (a: JSONObject, b: JSONObject) => JSONObject },\n) => Value\n\nexport class YamlHandler {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\treadYaml = async <T = unknown>(path: string): Promise<T> => {\n\t\tconst content = await this.fs.readFile(path, { encoding: 'utf8' })\n\t\treturn jsyaml.load(content) as unknown as T\n\t}\n\n\ttryReadYaml = async <T = unknown>(path: string): Promise<T | null> => {\n\t\ttry {\n\t\t\treturn await this.readYaml<T>(path)\n\t\t} catch (e: any) {\n\t\t\tif (e.code === 'ENOENT') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tupdateYaml = async <Value = JSONObject>(\n\t\tpath: string,\n\t\tupdater: JsonUpdateCallback<Value>,\n\t\toptions: { createMissing?: boolean } = {},\n\t) => {\n\t\tlet config = ''\n\t\tif (await this.fs.pathExists(path)) {\n\t\t\tconfig = await readFile(path, { encoding: 'utf8' })\n\t\t} else if (options.createMissing !== true) {\n\t\t\tthrow new Error(`File ${path} does not exist.`)\n\t\t}\n\n\t\tlet newConfig = ''\n\t\tconst mergeUtils = { merge: (a: JSONObject, b: JSONObject) => Merger.merge<JSONPrimitive>(a, b) }\n\t\tif (config) {\n\t\t\tconst yawn = new YAWN(config)\n\t\t\tyawn.json = updater(yawn.json, mergeUtils)\n\t\t\tnewConfig = yawn.yaml\n\t\t} else {\n\t\t\tnewConfig = jsyaml.dump(updater({}, mergeUtils))\n\t\t}\n\n\t\tawait writeFile(path, newConfig, { encoding: 'utf8' })\n\t}\n}\n"],"names":["jsyaml"],"mappings":";;;;;;;AAYO,MAAM,YAAY;AAAA,EACxB,YACkB,IAChB;AADgB,SAAA,KAAA;AAIlB,kBAAA,MAAA,YAAW,OAAoB,SAA6B;
|
|
1
|
+
{"version":3,"file":"YamlHandler.js","sources":["../../../../../../packages/cli/src/lib/fs/YamlHandler.ts"],"sourcesContent":["import { readFile, writeFile } from 'node:fs/promises'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport YAWN from 'yawn-yaml'\nimport { JSONObject, JSONPrimitive } from '../json'\nimport { Merger } from '@contember/config-loader'\n\nexport type JsonUpdateCallback<Value = JSONObject> = (\n\tdata: Partial<Value>,\n\tutils: { merge: (a: JSONObject, b: JSONObject) => JSONObject },\n) => Value\n\nexport class YamlHandler {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\treadYaml = async <T = unknown>(path: string): Promise<T> => {\n\t\tconst content = await this.fs.readFile(path, { encoding: 'utf8' })\n\t\treturn jsyaml.load(content) as unknown as T\n\t}\n\n\ttryReadYaml = async <T = unknown>(path: string): Promise<T | null> => {\n\t\ttry {\n\t\t\treturn await this.readYaml<T>(path)\n\t\t} catch (e: any) {\n\t\t\tif (e.code === 'ENOENT') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tupdateYaml = async <Value = JSONObject>(\n\t\tpath: string,\n\t\tupdater: JsonUpdateCallback<Value>,\n\t\toptions: { createMissing?: boolean } = {},\n\t) => {\n\t\tlet config = ''\n\t\tif (await this.fs.pathExists(path)) {\n\t\t\tconfig = await readFile(path, { encoding: 'utf8' })\n\t\t} else if (options.createMissing !== true) {\n\t\t\tthrow new Error(`File ${path} does not exist.`)\n\t\t}\n\n\t\tlet newConfig = ''\n\t\tconst mergeUtils = { merge: (a: JSONObject, b: JSONObject) => Merger.merge<JSONPrimitive>(a, b) }\n\t\tif (config) {\n\t\t\tconst yawn = new YAWN(config)\n\t\t\tyawn.json = updater(yawn.json, mergeUtils)\n\t\t\tnewConfig = yawn.yaml\n\t\t} else {\n\t\t\tnewConfig = jsyaml.dump(updater({}, mergeUtils))\n\t\t}\n\n\t\tawait writeFile(path, newConfig, { encoding: 'utf8' })\n\t}\n}\n"],"names":["jsyaml"],"mappings":";;;;;;;AAYO,MAAM,YAAY;AAAA,EACxB,YACkB,IAChB;AADgB,SAAA,KAAA;AAIlB,kBAAA,MAAA,YAAW,OAAoB,SAA6B;AAC3D,YAAM,UAAU,MAAM,KAAK,GAAG,SAAS,MAAM,EAAE,UAAU,QAAQ;AACjE,aAAOA,gBAAO,KAAK,OAAO;AAAA,IAC3B,CAAA;AAEA,kBAAA,MAAA,eAAc,OAAoB,SAAoC;AACrE,UAAI;AACH,eAAO,MAAM,KAAK,SAAY,IAAI;AAAA,MACnC,SAAS,GAAQ;AAChB,YAAI,EAAE,SAAS,UAAU;AACxB,iBAAO;AAAA,QACR;AACA,cAAM;AAAA,MACP;AAAA,IACD,CAAA;AAEA,kBAAA,MAAA,cAAa,OACZ,MACA,SACA,UAAuC,OACnC;AACJ,UAAI,SAAS;AACb,UAAI,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG;AACnC,iBAAS,MAAM,SAAS,MAAM,EAAE,UAAU,QAAQ;AAAA,MACnD,WAAW,QAAQ,kBAAkB,MAAM;AAC1C,cAAM,IAAI,MAAM,QAAQ,IAAI,kBAAkB;AAAA,MAC/C;AAEA,UAAI,YAAY;AAChB,YAAM,aAAa,EAAE,OAAO,CAAC,GAAe,MAAkB,OAAO,MAAqB,GAAG,CAAC,EAAA;AAC9F,UAAI,QAAQ;AACX,cAAM,OAAO,IAAI,KAAK,MAAM;AAC5B,aAAK,OAAO,QAAQ,KAAK,MAAM,UAAU;AACzC,oBAAY,KAAK;AAAA,MAClB,OAAO;AACN,oBAAYA,gBAAO,KAAK,QAAQ,CAAA,GAAI,UAAU,CAAC;AAAA,MAChD;AAEA,YAAM,UAAU,MAAM,WAAW,EAAE,UAAU,QAAQ;AAAA,IACtD,CAAA;AAAA,EAzCA;AA0CD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EsBuildBuilder.cjs","sources":["../../../../../../packages/cli/src/lib/js/EsBuildBuilder.ts"],"sourcesContent":["import { JsBuilder } from './JsBuilder'\n\nexport class EsBuildBuilder implements JsBuilder {\n\tasync build(path: string): Promise<string> {\n\t\tconst esbuild = await import('esbuild')\n\t\tconst response = await esbuild.build({\n\t\t\tentryPoints: [path],\n\t\t\tplatform: 'node',\n\t\t\tbundle: true,\n\t\t\ttreeShaking: true,\n\t\t\twrite: false,\n\t\t\tloader: { '.sql': 'text' },\n\t\t\texternal: ['@contember/admin', 'react', 'react/jsx-runtime'],\n\t\t})\n\t\treturn response.outputFiles[0].text\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,eAAoC;AAAA,EAChD,MAAM,MAAM,MAA+B;
|
|
1
|
+
{"version":3,"file":"EsBuildBuilder.cjs","sources":["../../../../../../packages/cli/src/lib/js/EsBuildBuilder.ts"],"sourcesContent":["import { JsBuilder } from './JsBuilder'\n\nexport class EsBuildBuilder implements JsBuilder {\n\tasync build(path: string): Promise<string> {\n\t\tconst esbuild = await import('esbuild')\n\t\tconst response = await esbuild.build({\n\t\t\tentryPoints: [path],\n\t\t\tplatform: 'node',\n\t\t\tbundle: true,\n\t\t\ttreeShaking: true,\n\t\t\twrite: false,\n\t\t\tloader: { '.sql': 'text' },\n\t\t\texternal: ['@contember/admin', 'react', 'react/jsx-runtime'],\n\t\t})\n\t\treturn response.outputFiles[0].text\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,eAAoC;AAAA,EAChD,MAAM,MAAM,MAA+B;AAC1C,UAAM,UAAU,MAAM,OAAO,SAAS;AACtC,UAAM,WAAW,MAAM,QAAQ,MAAM;AAAA,MACpC,aAAa,CAAC,IAAI;AAAA,MAClB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,OAAO;AAAA,MACP,QAAQ,EAAE,QAAQ,OAAA;AAAA,MAClB,UAAU,CAAC,oBAAoB,SAAS,mBAAmB;AAAA,IAAA,CAC3D;AACD,WAAO,SAAS,YAAY,CAAC,EAAE;AAAA,EAChC;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EsBuildBuilder.js","sources":["../../../../../../packages/cli/src/lib/js/EsBuildBuilder.ts"],"sourcesContent":["import { JsBuilder } from './JsBuilder'\n\nexport class EsBuildBuilder implements JsBuilder {\n\tasync build(path: string): Promise<string> {\n\t\tconst esbuild = await import('esbuild')\n\t\tconst response = await esbuild.build({\n\t\t\tentryPoints: [path],\n\t\t\tplatform: 'node',\n\t\t\tbundle: true,\n\t\t\ttreeShaking: true,\n\t\t\twrite: false,\n\t\t\tloader: { '.sql': 'text' },\n\t\t\texternal: ['@contember/admin', 'react', 'react/jsx-runtime'],\n\t\t})\n\t\treturn response.outputFiles[0].text\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,eAAoC;AAAA,EAChD,MAAM,MAAM,MAA+B;
|
|
1
|
+
{"version":3,"file":"EsBuildBuilder.js","sources":["../../../../../../packages/cli/src/lib/js/EsBuildBuilder.ts"],"sourcesContent":["import { JsBuilder } from './JsBuilder'\n\nexport class EsBuildBuilder implements JsBuilder {\n\tasync build(path: string): Promise<string> {\n\t\tconst esbuild = await import('esbuild')\n\t\tconst response = await esbuild.build({\n\t\t\tentryPoints: [path],\n\t\t\tplatform: 'node',\n\t\t\tbundle: true,\n\t\t\ttreeShaking: true,\n\t\t\twrite: false,\n\t\t\tloader: { '.sql': 'text' },\n\t\t\texternal: ['@contember/admin', 'react', 'react/jsx-runtime'],\n\t\t})\n\t\treturn response.outputFiles[0].text\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,eAAoC;AAAA,EAChD,MAAM,MAAM,MAA+B;AAC1C,UAAM,UAAU,MAAM,OAAO,SAAS;AACtC,UAAM,WAAW,MAAM,QAAQ,MAAM;AAAA,MACpC,aAAa,CAAC,IAAI;AAAA,MAClB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,OAAO;AAAA,MACP,QAAQ,EAAE,QAAQ,OAAA;AAAA,MAClB,UAAU,CAAC,oBAAoB,SAAS,mBAAmB;AAAA,IAAA,CAC3D;AACD,WAAO,SAAS,YAAY,CAAC,EAAE;AAAA,EAChC;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvalExecutor.cjs","sources":["../../../../../../packages/cli/src/lib/js/EvalExecutor.ts"],"sourcesContent":["import { JsExecutor } from './JsExecutor'\n\nexport class EvalExecutor implements JsExecutor {\n\tpublic async execute(code: string): Promise<unknown> {\n\t\tconst fn = new Function('require', `var module = {}; ((module) => { ${code} })(module); return module`)\n\t\treturn fn(require).exports\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,aAAmC;AAAA,EAC/C,MAAa,QAAQ,MAAgC;AACpD,UAAM,KAAK,IAAI,SAAS,WAAW,mCAAmC,IAAI,4BAA4B;
|
|
1
|
+
{"version":3,"file":"EvalExecutor.cjs","sources":["../../../../../../packages/cli/src/lib/js/EvalExecutor.ts"],"sourcesContent":["import { JsExecutor } from './JsExecutor'\n\nexport class EvalExecutor implements JsExecutor {\n\tpublic async execute(code: string): Promise<unknown> {\n\t\tconst fn = new Function('require', `var module = {}; ((module) => { ${code} })(module); return module`)\n\t\treturn fn(require).exports\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,aAAmC;AAAA,EAC/C,MAAa,QAAQ,MAAgC;AACpD,UAAM,KAAK,IAAI,SAAS,WAAW,mCAAmC,IAAI,4BAA4B;AACtG,WAAO,GAAG,OAAO,EAAE;AAAA,EACpB;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvalExecutor.js","sources":["../../../../../../packages/cli/src/lib/js/EvalExecutor.ts"],"sourcesContent":["import { JsExecutor } from './JsExecutor'\n\nexport class EvalExecutor implements JsExecutor {\n\tpublic async execute(code: string): Promise<unknown> {\n\t\tconst fn = new Function('require', `var module = {}; ((module) => { ${code} })(module); return module`)\n\t\treturn fn(require).exports\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,aAAmC;AAAA,EAC/C,MAAa,QAAQ,MAAgC;AACpD,UAAM,KAAK,IAAI,SAAS,WAAW,mCAAmC,IAAI,4BAA4B;
|
|
1
|
+
{"version":3,"file":"EvalExecutor.js","sources":["../../../../../../packages/cli/src/lib/js/EvalExecutor.ts"],"sourcesContent":["import { JsExecutor } from './JsExecutor'\n\nexport class EvalExecutor implements JsExecutor {\n\tpublic async execute(code: string): Promise<unknown> {\n\t\tconst fn = new Function('require', `var module = {}; ((module) => { ${code} })(module); return module`)\n\t\treturn fn(require).exports\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,aAAmC;AAAA,EAC/C,MAAa,QAAQ,MAAgC;AACpD,UAAM,KAAK,IAAI,SAAS,WAAW,mCAAmC,IAAI,4BAA4B;AACtG,WAAO,GAAG,OAAO,EAAE;AAAA,EACpB;AACD;"}
|