@contember/cli 2.0.0-alpha.32 → 2.0.0-alpha.36

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.
Files changed (246) hide show
  1. package/contember-docker.sh +0 -0
  2. package/dist/development/run.cjs.map +1 -1
  3. package/dist/development/run.js.map +1 -1
  4. package/dist/development/src/commands/deploy/DeployCommand.cjs.map +1 -1
  5. package/dist/development/src/commands/deploy/DeployCommand.js.map +1 -1
  6. package/dist/development/src/commands/migrations/MigrationAmendCommand.cjs.map +1 -1
  7. package/dist/development/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
  8. package/dist/development/src/commands/migrations/MigrationBlankCommand.cjs.map +1 -1
  9. package/dist/development/src/commands/migrations/MigrationBlankCommand.js.map +1 -1
  10. package/dist/development/src/commands/migrations/MigrationDescribeCommand.cjs.map +1 -1
  11. package/dist/development/src/commands/migrations/MigrationDescribeCommand.js.map +1 -1
  12. package/dist/development/src/commands/migrations/MigrationDiffCommand.cjs.map +1 -1
  13. package/dist/development/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
  14. package/dist/development/src/commands/migrations/MigrationExecuteCommand.cjs.map +1 -1
  15. package/dist/development/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
  16. package/dist/development/src/commands/migrations/MigrationRebaseCommand.cjs.map +1 -1
  17. package/dist/development/src/commands/migrations/MigrationRebaseCommand.js.map +1 -1
  18. package/dist/development/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
  19. package/dist/development/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
  20. package/dist/development/src/commands/misc/VersionCommand.cjs.map +1 -1
  21. package/dist/development/src/commands/misc/VersionCommand.js.map +1 -1
  22. package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.cjs.map +1 -1
  23. package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.js.map +1 -1
  24. package/dist/development/src/commands/project/ProjectPrintSchemaCommand.cjs.map +1 -1
  25. package/dist/development/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
  26. package/dist/development/src/commands/project/ProjectValidateCommand.cjs.map +1 -1
  27. package/dist/development/src/commands/project/ProjectValidateCommand.js.map +1 -1
  28. package/dist/development/src/commands/transfer/ExportCommand.cjs.map +1 -1
  29. package/dist/development/src/commands/transfer/ExportCommand.js.map +1 -1
  30. package/dist/development/src/commands/transfer/ImportCommand.cjs.map +1 -1
  31. package/dist/development/src/commands/transfer/ImportCommand.js.map +1 -1
  32. package/dist/development/src/commands/transfer/TransferCommand.cjs.map +1 -1
  33. package/dist/development/src/commands/transfer/TransferCommand.js.map +1 -1
  34. package/dist/development/src/commands/transfer/utils.cjs.map +1 -1
  35. package/dist/development/src/commands/transfer/utils.js.map +1 -1
  36. package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.cjs.map +1 -1
  37. package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.js.map +1 -1
  38. package/dist/development/src/consts.cjs +1 -1
  39. package/dist/development/src/consts.cjs.map +1 -1
  40. package/dist/development/src/dic.cjs.map +1 -1
  41. package/dist/development/src/dic.js.map +1 -1
  42. package/dist/development/src/lib/SystemClientProvider.cjs.map +1 -1
  43. package/dist/development/src/lib/SystemClientProvider.js.map +1 -1
  44. package/dist/development/src/lib/TenantClientProvider.cjs.map +1 -1
  45. package/dist/development/src/lib/TenantClientProvider.js.map +1 -1
  46. package/dist/development/src/lib/VersionChecker.cjs.map +1 -1
  47. package/dist/development/src/lib/VersionChecker.js.map +1 -1
  48. package/dist/development/src/lib/admin/AdminClient.cjs.map +1 -1
  49. package/dist/development/src/lib/admin/AdminClient.js.map +1 -1
  50. package/dist/development/src/lib/admin/AdminDeployer.cjs.map +1 -1
  51. package/dist/development/src/lib/admin/AdminDeployer.js.map +1 -1
  52. package/dist/development/src/lib/dsn.cjs.map +1 -1
  53. package/dist/development/src/lib/dsn.js.map +1 -1
  54. package/dist/development/src/lib/env.cjs.map +1 -1
  55. package/dist/development/src/lib/env.js.map +1 -1
  56. package/dist/development/src/lib/fs/DockerComposeManager.cjs.map +1 -1
  57. package/dist/development/src/lib/fs/DockerComposeManager.js.map +1 -1
  58. package/dist/development/src/lib/fs/FileSystem.cjs.map +1 -1
  59. package/dist/development/src/lib/fs/FileSystem.js.map +1 -1
  60. package/dist/development/src/lib/fs/YamlHandler.cjs.map +1 -1
  61. package/dist/development/src/lib/fs/YamlHandler.js.map +1 -1
  62. package/dist/development/src/lib/js/EsBuildBuilder.cjs +24 -19
  63. package/dist/development/src/lib/js/EsBuildBuilder.cjs.map +1 -1
  64. package/dist/development/src/lib/js/EsBuildBuilder.js +1 -1
  65. package/dist/development/src/lib/js/EsBuildBuilder.js.map +1 -1
  66. package/dist/development/src/lib/js/EvalExecutor.cjs.map +1 -1
  67. package/dist/development/src/lib/js/EvalExecutor.js.map +1 -1
  68. package/dist/development/src/lib/js/JsCodeRunner.cjs.map +1 -1
  69. package/dist/development/src/lib/js/JsCodeRunner.js.map +1 -1
  70. package/dist/development/src/lib/migrations/MigrationExecutionFacade.cjs.map +1 -1
  71. package/dist/development/src/lib/migrations/MigrationExecutionFacade.js.map +1 -1
  72. package/dist/development/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
  73. package/dist/development/src/lib/migrations/MigrationPrinter.js.map +1 -1
  74. package/dist/development/src/lib/migrations/MigrationRebaseFacade.cjs.map +1 -1
  75. package/dist/development/src/lib/migrations/MigrationRebaseFacade.js.map +1 -1
  76. package/dist/development/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
  77. package/dist/development/src/lib/migrations/MigrationsStatusFacade.js.map +1 -1
  78. package/dist/development/src/lib/migrations/MigrationsValidator.cjs.map +1 -1
  79. package/dist/development/src/lib/migrations/MigrationsValidator.js.map +1 -1
  80. package/dist/development/src/lib/migrations/migrations.cjs.map +1 -1
  81. package/dist/development/src/lib/migrations/migrations.js.map +1 -1
  82. package/dist/development/src/lib/project/RemoteProject.cjs.map +1 -1
  83. package/dist/development/src/lib/project/RemoteProject.js.map +1 -1
  84. package/dist/development/src/lib/project/RemoteProjectProvider.cjs.map +1 -1
  85. package/dist/development/src/lib/project/RemoteProjectProvider.js.map +1 -1
  86. package/dist/development/src/lib/project/RemoteProjectResolver.cjs.map +1 -1
  87. package/dist/development/src/lib/project/RemoteProjectResolver.js.map +1 -1
  88. package/dist/development/src/lib/project/docs/components/EntityInfo.cjs.map +1 -1
  89. package/dist/development/src/lib/project/docs/components/EntityInfo.js.map +1 -1
  90. package/dist/development/src/lib/project/docs/components/FieldLink.cjs.map +1 -1
  91. package/dist/development/src/lib/project/docs/components/FieldLink.js.map +1 -1
  92. package/dist/development/src/lib/project/docs/components/FieldPermissions.cjs.map +1 -1
  93. package/dist/development/src/lib/project/docs/components/FieldPermissions.js.map +1 -1
  94. package/dist/development/src/lib/project/docs/components/FieldType.cjs.map +1 -1
  95. package/dist/development/src/lib/project/docs/components/FieldType.js.map +1 -1
  96. package/dist/development/src/lib/project/docs/components/OnDelete.cjs.map +1 -1
  97. package/dist/development/src/lib/project/docs/components/OnDelete.js.map +1 -1
  98. package/dist/development/src/lib/project/docs/components/ProjectInfo.cjs.map +1 -1
  99. package/dist/development/src/lib/project/docs/components/ProjectInfo.js.map +1 -1
  100. package/dist/development/src/lib/project/docs/components/SinglePermission.cjs.map +1 -1
  101. package/dist/development/src/lib/project/docs/components/SinglePermission.js.map +1 -1
  102. package/dist/development/src/lib/project/docs/projectDescribe.cjs.map +1 -1
  103. package/dist/development/src/lib/schema/SchemaLoader.cjs.map +1 -1
  104. package/dist/development/src/lib/schema/SchemaLoader.js.map +1 -1
  105. package/dist/development/src/lib/schema/SchemaValidationHelper.cjs.map +1 -1
  106. package/dist/development/src/lib/schema/SchemaValidationPrinter.cjs.map +1 -1
  107. package/dist/development/src/lib/schema/SchemaValidationPrinter.js.map +1 -1
  108. package/dist/development/src/lib/schema/collectReferences.cjs.map +1 -1
  109. package/dist/development/src/lib/schema/collectReferences.js.map +1 -1
  110. package/dist/development/src/lib/stream.cjs.map +1 -1
  111. package/dist/development/src/lib/stream.js.map +1 -1
  112. package/dist/development/src/lib/tenant/TenantClient.cjs.map +1 -1
  113. package/dist/development/src/lib/tenant/TenantClient.js.map +1 -1
  114. package/dist/development/src/lib/transfer/DataTransferClient.cjs.map +1 -1
  115. package/dist/development/src/lib/transfer/DataTransferClient.js.map +1 -1
  116. package/dist/development/src/lib/transfer/stdio.cjs.map +1 -1
  117. package/dist/development/src/lib/transfer/stdio.js.map +1 -1
  118. package/dist/development/src/lib/workspace/WorkspaceResolver.cjs.map +1 -1
  119. package/dist/development/src/lib/workspace/WorkspaceResolver.js.map +1 -1
  120. package/dist/production/run.cjs.map +1 -1
  121. package/dist/production/run.js.map +1 -1
  122. package/dist/production/src/commands/deploy/DeployCommand.cjs.map +1 -1
  123. package/dist/production/src/commands/deploy/DeployCommand.js.map +1 -1
  124. package/dist/production/src/commands/migrations/MigrationAmendCommand.cjs.map +1 -1
  125. package/dist/production/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
  126. package/dist/production/src/commands/migrations/MigrationBlankCommand.cjs.map +1 -1
  127. package/dist/production/src/commands/migrations/MigrationBlankCommand.js.map +1 -1
  128. package/dist/production/src/commands/migrations/MigrationDescribeCommand.cjs.map +1 -1
  129. package/dist/production/src/commands/migrations/MigrationDescribeCommand.js.map +1 -1
  130. package/dist/production/src/commands/migrations/MigrationDiffCommand.cjs.map +1 -1
  131. package/dist/production/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
  132. package/dist/production/src/commands/migrations/MigrationExecuteCommand.cjs.map +1 -1
  133. package/dist/production/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
  134. package/dist/production/src/commands/migrations/MigrationRebaseCommand.cjs.map +1 -1
  135. package/dist/production/src/commands/migrations/MigrationRebaseCommand.js.map +1 -1
  136. package/dist/production/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
  137. package/dist/production/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
  138. package/dist/production/src/commands/misc/VersionCommand.cjs.map +1 -1
  139. package/dist/production/src/commands/misc/VersionCommand.js.map +1 -1
  140. package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.cjs.map +1 -1
  141. package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.js.map +1 -1
  142. package/dist/production/src/commands/project/ProjectPrintSchemaCommand.cjs.map +1 -1
  143. package/dist/production/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
  144. package/dist/production/src/commands/project/ProjectValidateCommand.cjs.map +1 -1
  145. package/dist/production/src/commands/project/ProjectValidateCommand.js.map +1 -1
  146. package/dist/production/src/commands/transfer/ExportCommand.cjs.map +1 -1
  147. package/dist/production/src/commands/transfer/ExportCommand.js.map +1 -1
  148. package/dist/production/src/commands/transfer/ImportCommand.cjs.map +1 -1
  149. package/dist/production/src/commands/transfer/ImportCommand.js.map +1 -1
  150. package/dist/production/src/commands/transfer/TransferCommand.cjs.map +1 -1
  151. package/dist/production/src/commands/transfer/TransferCommand.js.map +1 -1
  152. package/dist/production/src/commands/transfer/utils.cjs.map +1 -1
  153. package/dist/production/src/commands/transfer/utils.js.map +1 -1
  154. package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.cjs.map +1 -1
  155. package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.js.map +1 -1
  156. package/dist/production/src/consts.cjs +1 -1
  157. package/dist/production/src/consts.cjs.map +1 -1
  158. package/dist/production/src/dic.cjs.map +1 -1
  159. package/dist/production/src/dic.js.map +1 -1
  160. package/dist/production/src/lib/SystemClientProvider.cjs.map +1 -1
  161. package/dist/production/src/lib/SystemClientProvider.js.map +1 -1
  162. package/dist/production/src/lib/TenantClientProvider.cjs.map +1 -1
  163. package/dist/production/src/lib/TenantClientProvider.js.map +1 -1
  164. package/dist/production/src/lib/VersionChecker.cjs.map +1 -1
  165. package/dist/production/src/lib/VersionChecker.js.map +1 -1
  166. package/dist/production/src/lib/admin/AdminClient.cjs.map +1 -1
  167. package/dist/production/src/lib/admin/AdminClient.js.map +1 -1
  168. package/dist/production/src/lib/admin/AdminDeployer.cjs.map +1 -1
  169. package/dist/production/src/lib/admin/AdminDeployer.js.map +1 -1
  170. package/dist/production/src/lib/dsn.cjs.map +1 -1
  171. package/dist/production/src/lib/dsn.js.map +1 -1
  172. package/dist/production/src/lib/env.cjs.map +1 -1
  173. package/dist/production/src/lib/env.js.map +1 -1
  174. package/dist/production/src/lib/fs/DockerComposeManager.cjs.map +1 -1
  175. package/dist/production/src/lib/fs/DockerComposeManager.js.map +1 -1
  176. package/dist/production/src/lib/fs/FileSystem.cjs.map +1 -1
  177. package/dist/production/src/lib/fs/FileSystem.js.map +1 -1
  178. package/dist/production/src/lib/fs/YamlHandler.cjs.map +1 -1
  179. package/dist/production/src/lib/fs/YamlHandler.js.map +1 -1
  180. package/dist/production/src/lib/js/EsBuildBuilder.cjs +24 -19
  181. package/dist/production/src/lib/js/EsBuildBuilder.cjs.map +1 -1
  182. package/dist/production/src/lib/js/EsBuildBuilder.js +1 -1
  183. package/dist/production/src/lib/js/EsBuildBuilder.js.map +1 -1
  184. package/dist/production/src/lib/js/EvalExecutor.cjs.map +1 -1
  185. package/dist/production/src/lib/js/EvalExecutor.js.map +1 -1
  186. package/dist/production/src/lib/js/JsCodeRunner.cjs.map +1 -1
  187. package/dist/production/src/lib/js/JsCodeRunner.js.map +1 -1
  188. package/dist/production/src/lib/migrations/MigrationExecutionFacade.cjs.map +1 -1
  189. package/dist/production/src/lib/migrations/MigrationExecutionFacade.js.map +1 -1
  190. package/dist/production/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
  191. package/dist/production/src/lib/migrations/MigrationPrinter.js.map +1 -1
  192. package/dist/production/src/lib/migrations/MigrationRebaseFacade.cjs.map +1 -1
  193. package/dist/production/src/lib/migrations/MigrationRebaseFacade.js.map +1 -1
  194. package/dist/production/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
  195. package/dist/production/src/lib/migrations/MigrationsStatusFacade.js.map +1 -1
  196. package/dist/production/src/lib/migrations/MigrationsValidator.cjs.map +1 -1
  197. package/dist/production/src/lib/migrations/MigrationsValidator.js.map +1 -1
  198. package/dist/production/src/lib/migrations/migrations.cjs.map +1 -1
  199. package/dist/production/src/lib/migrations/migrations.js.map +1 -1
  200. package/dist/production/src/lib/project/RemoteProject.cjs.map +1 -1
  201. package/dist/production/src/lib/project/RemoteProject.js.map +1 -1
  202. package/dist/production/src/lib/project/RemoteProjectProvider.cjs.map +1 -1
  203. package/dist/production/src/lib/project/RemoteProjectProvider.js.map +1 -1
  204. package/dist/production/src/lib/project/RemoteProjectResolver.cjs.map +1 -1
  205. package/dist/production/src/lib/project/RemoteProjectResolver.js.map +1 -1
  206. package/dist/production/src/lib/project/docs/components/EntityInfo.cjs.map +1 -1
  207. package/dist/production/src/lib/project/docs/components/EntityInfo.js.map +1 -1
  208. package/dist/production/src/lib/project/docs/components/FieldPermissions.cjs.map +1 -1
  209. package/dist/production/src/lib/project/docs/components/FieldPermissions.js.map +1 -1
  210. package/dist/production/src/lib/project/docs/components/FieldType.cjs.map +1 -1
  211. package/dist/production/src/lib/project/docs/components/FieldType.js.map +1 -1
  212. package/dist/production/src/lib/project/docs/components/OnDelete.cjs.map +1 -1
  213. package/dist/production/src/lib/project/docs/components/OnDelete.js.map +1 -1
  214. package/dist/production/src/lib/project/docs/components/ProjectInfo.cjs.map +1 -1
  215. package/dist/production/src/lib/project/docs/components/ProjectInfo.js.map +1 -1
  216. package/dist/production/src/lib/project/docs/components/SinglePermission.cjs.map +1 -1
  217. package/dist/production/src/lib/project/docs/components/SinglePermission.js.map +1 -1
  218. package/dist/production/src/lib/project/docs/projectDescribe.cjs.map +1 -1
  219. package/dist/production/src/lib/project/docs/projectDescribe.js.map +1 -1
  220. package/dist/production/src/lib/schema/SchemaLoader.cjs.map +1 -1
  221. package/dist/production/src/lib/schema/SchemaLoader.js.map +1 -1
  222. package/dist/production/src/lib/schema/SchemaValidationHelper.cjs.map +1 -1
  223. package/dist/production/src/lib/schema/SchemaValidationPrinter.cjs.map +1 -1
  224. package/dist/production/src/lib/schema/SchemaValidationPrinter.js.map +1 -1
  225. package/dist/production/src/lib/schema/collectReferences.cjs.map +1 -1
  226. package/dist/production/src/lib/schema/collectReferences.js.map +1 -1
  227. package/dist/production/src/lib/stream.cjs.map +1 -1
  228. package/dist/production/src/lib/stream.js.map +1 -1
  229. package/dist/production/src/lib/tenant/TenantClient.cjs.map +1 -1
  230. package/dist/production/src/lib/tenant/TenantClient.js.map +1 -1
  231. package/dist/production/src/lib/transfer/DataTransferClient.cjs.map +1 -1
  232. package/dist/production/src/lib/transfer/DataTransferClient.js.map +1 -1
  233. package/dist/production/src/lib/transfer/stdio.cjs.map +1 -1
  234. package/dist/production/src/lib/transfer/stdio.js.map +1 -1
  235. package/dist/production/src/lib/workspace/WorkspaceResolver.cjs.map +1 -1
  236. package/dist/production/src/lib/workspace/WorkspaceResolver.js.map +1 -1
  237. package/dist/types/lib/js/EsBuildBuilder.d.ts.map +1 -1
  238. package/dist/types/lib/migrations/MigrationPrinter.d.ts.map +1 -1
  239. package/dist/types/tsconfig.tsbuildinfo +1 -1
  240. package/package.json +18 -15
  241. package/src/lib/js/EsBuildBuilder.ts +1 -1
  242. package/src/lib/migrations/MigrationPrinter.ts +3 -0
  243. package/tsconfig.settings.json +0 -1
  244. package/Dockerfile +0 -20
  245. package/build.sh +0 -11
  246. package/esbuild.cjs +0 -27
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationStatusCommand.js","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationStatusCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { MigrationFilesManager, MigrationState, sortMigrations, SystemClient } from '@contember/migrations-client'\nimport chalk from 'chalk'\nimport { MigrationsStatusFacade } from '../../lib/migrations/MigrationsStatusFacade'\nimport { MigrationPrinter } from '../../lib/migrations/MigrationPrinter'\nimport { SystemClientProvider } from '../../lib/SystemClientProvider'\n\ntype Args = {\n}\n\ntype Options = {\n\t['only-to-execute']?: true\n\t['only-errors']?: true\n\t['restore-missing']?: true\n}\n\nexport class MigrationStatusCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationsStatusFacade: MigrationsStatusFacade,\n\t\tprivate readonly migrationFilesManager: MigrationFilesManager,\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Shows status of executed migrations on an instance & sync status')\n\t\tconfiguration //\n\t\t\t.option('only-errors')\n\t\t\t.valueNone()\n\t\t\t.description('Show only migrations with an error.')\n\t\tconfiguration //\n\t\t\t.option('only-to-execute')\n\t\t\t.valueNone()\n\t\t\t.description('Show only migrations to execute.')\n\t\tconfiguration //\n\t\t\t.option('restore-missing')\n\t\t\t.valueNone()\n\t\t\t.description('Restores migrations locally missing')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\n\t\tconst onlyErrors = input.getOption('only-errors')\n\t\tconst onlyToExecute = input.getOption('only-to-execute')\n\t\tconst restoreMissing = input.getOption('restore-missing')\n\n\t\tlet status = await this.migrationsStatusFacade.resolveMigrationsStatus({})\n\n\t\tif (restoreMissing) {\n\t\t\tconst missing = status.errorMigrations.filter(it => it.state === MigrationState.EXECUTED_MISSING)\n\t\t\tfor (const migration of missing) {\n\t\t\t\tconsole.log(`Restoring migration ${migration.name}`)\n\t\t\t\tconst fullMigration = await this.systemClientProvider.get().getExecutedMigration(migration.version)\n\t\t\t\tawait this.migrationFilesManager.createFile(\n\t\t\t\t\tJSON.stringify(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tformatVersion: fullMigration.formatVersion,\n\t\t\t\t\t\t\tmodifications: fullMigration.modifications,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t'\\t',\n\t\t\t\t\t) + '\\n',\n\t\t\t\t\tfullMigration.name,\n\t\t\t\t)\n\t\t\t}\n\t\t\tstatus = await this.migrationsStatusFacade.resolveMigrationsStatus({})\n\t\t}\n\n\n\n\t\tconst filtered =\n\t\t\tonlyErrors || onlyToExecute\n\t\t\t\t? sortMigrations([\n\t\t\t\t\t...(onlyErrors ? status.errorMigrations : []),\n\t\t\t\t\t...(onlyToExecute ? status.migrationsToExecute : []),\n\t\t\t\t ])\n\t\t\t\t: status.allMigrations\n\n\t\tthis.migrationPrinter.printStatusTable(filtered)\n\n\t\tconst hasErrors = status.errorMigrations.length > 0\n\n\t\tif (hasErrors) {\n\t\t\tconsole.error(chalk.redBright('Some migrations are broken'))\n\t\t}\n\n\t\treturn hasErrors ? 1 : 0\n\t}\n}\n"],"names":[],"mappings":";;;AAgBO,MAAM,+BAA+B,QAAuB;AAAA,EAClE,YACkB,wBACA,uBACA,sBACA,kBAChB;AACK;AALW,SAAA,yBAAA;AACA,SAAA,wBAAA;AACA,SAAA,uBAAA;AACA,SAAA,mBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kEAAkE;AAC5F,kBACE,OAAO,aAAa,EACpB,UAAU,EACV,YAAY,qCAAqC;AACnD,kBACE,OAAO,iBAAiB,EACxB,UAAU,EACV,YAAY,kCAAkC;AAChD,kBACE,OAAO,iBAAiB,EACxB,UAAU,EACV,YAAY,qCAAqC;AAAA,EACpD;AAAA,EAEA,MAAgB,QAAQ,OAA8C;AAE/D,UAAA,aAAa,MAAM,UAAU,aAAa;AAC1C,UAAA,gBAAgB,MAAM,UAAU,iBAAiB;AACjD,UAAA,iBAAiB,MAAM,UAAU,iBAAiB;AAExD,QAAI,SAAS,MAAM,KAAK,uBAAuB,wBAAwB,CAAE,CAAA;AAEzE,QAAI,gBAAgB;AACb,YAAA,UAAU,OAAO,gBAAgB,OAAO,QAAM,GAAG,UAAU,eAAe,gBAAgB;AAChG,iBAAW,aAAa,SAAS;AAChC,gBAAQ,IAAI,uBAAuB,UAAU,IAAI,EAAE;AAC7C,cAAA,gBAAgB,MAAM,KAAK,qBAAqB,MAAM,qBAAqB,UAAU,OAAO;AAClG,cAAM,KAAK,sBAAsB;AAAA,UAChC,KAAK;AAAA,YACJ;AAAA,cACC,eAAe,cAAc;AAAA,cAC7B,eAAe,cAAc;AAAA,YAC9B;AAAA,YACA;AAAA,YACA;AAAA,UAAA,IACG;AAAA,UACJ,cAAc;AAAA,QAAA;AAAA,MAEhB;AACA,eAAS,MAAM,KAAK,uBAAuB,wBAAwB,CAAE,CAAA;AAAA,IACtE;AAIM,UAAA,WACL,cAAc,gBACX,eAAe;AAAA,MAChB,GAAI,aAAa,OAAO,kBAAkB,CAAC;AAAA,MAC3C,GAAI,gBAAgB,OAAO,sBAAsB,CAAC;AAAA,IAAA,CAChD,IACD,OAAO;AAEN,SAAA,iBAAiB,iBAAiB,QAAQ;AAEzC,UAAA,YAAY,OAAO,gBAAgB,SAAS;AAElD,QAAI,WAAW;AACd,cAAQ,MAAM,MAAM,UAAU,4BAA4B,CAAC;AAAA,IAC5D;AAEA,WAAO,YAAY,IAAI;AAAA,EACxB;AACD;"}
1
+ {"version":3,"file":"MigrationStatusCommand.js","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationStatusCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { MigrationFilesManager, MigrationState, sortMigrations, SystemClient } from '@contember/migrations-client'\nimport chalk from 'chalk'\nimport { MigrationsStatusFacade } from '../../lib/migrations/MigrationsStatusFacade'\nimport { MigrationPrinter } from '../../lib/migrations/MigrationPrinter'\nimport { SystemClientProvider } from '../../lib/SystemClientProvider'\n\ntype Args = {\n}\n\ntype Options = {\n\t['only-to-execute']?: true\n\t['only-errors']?: true\n\t['restore-missing']?: true\n}\n\nexport class MigrationStatusCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationsStatusFacade: MigrationsStatusFacade,\n\t\tprivate readonly migrationFilesManager: MigrationFilesManager,\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Shows status of executed migrations on an instance & sync status')\n\t\tconfiguration //\n\t\t\t.option('only-errors')\n\t\t\t.valueNone()\n\t\t\t.description('Show only migrations with an error.')\n\t\tconfiguration //\n\t\t\t.option('only-to-execute')\n\t\t\t.valueNone()\n\t\t\t.description('Show only migrations to execute.')\n\t\tconfiguration //\n\t\t\t.option('restore-missing')\n\t\t\t.valueNone()\n\t\t\t.description('Restores migrations locally missing')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\n\t\tconst onlyErrors = input.getOption('only-errors')\n\t\tconst onlyToExecute = input.getOption('only-to-execute')\n\t\tconst restoreMissing = input.getOption('restore-missing')\n\n\t\tlet status = await this.migrationsStatusFacade.resolveMigrationsStatus({})\n\n\t\tif (restoreMissing) {\n\t\t\tconst missing = status.errorMigrations.filter(it => it.state === MigrationState.EXECUTED_MISSING)\n\t\t\tfor (const migration of missing) {\n\t\t\t\tconsole.log(`Restoring migration ${migration.name}`)\n\t\t\t\tconst fullMigration = await this.systemClientProvider.get().getExecutedMigration(migration.version)\n\t\t\t\tawait this.migrationFilesManager.createFile(\n\t\t\t\t\tJSON.stringify(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tformatVersion: fullMigration.formatVersion,\n\t\t\t\t\t\t\tmodifications: fullMigration.modifications,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t'\\t',\n\t\t\t\t\t) + '\\n',\n\t\t\t\t\tfullMigration.name,\n\t\t\t\t)\n\t\t\t}\n\t\t\tstatus = await this.migrationsStatusFacade.resolveMigrationsStatus({})\n\t\t}\n\n\n\n\t\tconst filtered =\n\t\t\tonlyErrors || onlyToExecute\n\t\t\t\t? sortMigrations([\n\t\t\t\t\t...(onlyErrors ? status.errorMigrations : []),\n\t\t\t\t\t...(onlyToExecute ? status.migrationsToExecute : []),\n\t\t\t\t ])\n\t\t\t\t: status.allMigrations\n\n\t\tthis.migrationPrinter.printStatusTable(filtered)\n\n\t\tconst hasErrors = status.errorMigrations.length > 0\n\n\t\tif (hasErrors) {\n\t\t\tconsole.error(chalk.redBright('Some migrations are broken'))\n\t\t}\n\n\t\treturn hasErrors ? 1 : 0\n\t}\n}\n"],"names":[],"mappings":";;;AAgBO,MAAM,+BAA+B,QAAuB;AAAA,EAClE,YACkB,wBACA,uBACA,sBACA,kBAChB;AACK,UAAA;AALW,SAAA,yBAAA;AACA,SAAA,wBAAA;AACA,SAAA,uBAAA;AACA,SAAA,mBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kEAAkE;AAC5F,kBACE,OAAO,aAAa,EACpB,UAAU,EACV,YAAY,qCAAqC;AACnD,kBACE,OAAO,iBAAiB,EACxB,UAAU,EACV,YAAY,kCAAkC;AAChD,kBACE,OAAO,iBAAiB,EACxB,UAAU,EACV,YAAY,qCAAqC;AAAA,EAAA;AAAA,EAGpD,MAAgB,QAAQ,OAA8C;AAE/D,UAAA,aAAa,MAAM,UAAU,aAAa;AAC1C,UAAA,gBAAgB,MAAM,UAAU,iBAAiB;AACjD,UAAA,iBAAiB,MAAM,UAAU,iBAAiB;AAExD,QAAI,SAAS,MAAM,KAAK,uBAAuB,wBAAwB,CAAA,CAAE;AAEzE,QAAI,gBAAgB;AACb,YAAA,UAAU,OAAO,gBAAgB,OAAO,QAAM,GAAG,UAAU,eAAe,gBAAgB;AAChG,iBAAW,aAAa,SAAS;AAChC,gBAAQ,IAAI,uBAAuB,UAAU,IAAI,EAAE;AAC7C,cAAA,gBAAgB,MAAM,KAAK,qBAAqB,MAAM,qBAAqB,UAAU,OAAO;AAClG,cAAM,KAAK,sBAAsB;AAAA,UAChC,KAAK;AAAA,YACJ;AAAA,cACC,eAAe,cAAc;AAAA,cAC7B,eAAe,cAAc;AAAA,YAC9B;AAAA,YACA;AAAA,YACA;AAAA,UAAA,IACG;AAAA,UACJ,cAAc;AAAA,QACf;AAAA,MAAA;AAED,eAAS,MAAM,KAAK,uBAAuB,wBAAwB,CAAA,CAAE;AAAA,IAAA;AAKhE,UAAA,WACL,cAAc,gBACX,eAAe;AAAA,MAChB,GAAI,aAAa,OAAO,kBAAkB,CAAC;AAAA,MAC3C,GAAI,gBAAgB,OAAO,sBAAsB,CAAA;AAAA,IAAC,CAChD,IACD,OAAO;AAEN,SAAA,iBAAiB,iBAAiB,QAAQ;AAEzC,UAAA,YAAY,OAAO,gBAAgB,SAAS;AAElD,QAAI,WAAW;AACd,cAAQ,MAAM,MAAM,UAAU,4BAA4B,CAAC;AAAA,IAAA;AAG5D,WAAO,YAAY,IAAI;AAAA,EAAA;AAEzB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"VersionCommand.cjs","sources":["../../../../../../packages/cli/src/commands/misc/VersionCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration } from '@contember/cli-common'\n\nexport class VersionCommand extends Command<{}, {}> {\n\tconstructor(\n\t\tprivate readonly version: string,\n\t) {\n\t\tsuper()\n\t}\n\tprotected configure(configuration: CommandConfiguration<{}, {}>): void {\n\t\tconfiguration.description('Prints Contember CLI version')\n\t}\n\n\tprotected async execute(): Promise<void | number> {\n\t\tconsole.log(this.version)\n\t\treturn 0\n\t}\n}\n"],"names":["Command"],"mappings":";;;AAEO,MAAM,uBAAuBA,UAAAA,QAAgB;AAAA,EACnD,YACkB,SAChB;AACK;AAFW,SAAA,UAAA;AAAA,EAGlB;AAAA,EACU,UAAU,eAAmD;AACtE,kBAAc,YAAY,8BAA8B;AAAA,EACzD;AAAA,EAEA,MAAgB,UAAkC;AACzC,YAAA,IAAI,KAAK,OAAO;AACjB,WAAA;AAAA,EACR;AACD;;"}
1
+ {"version":3,"file":"VersionCommand.cjs","sources":["../../../../../../packages/cli/src/commands/misc/VersionCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration } from '@contember/cli-common'\n\nexport class VersionCommand extends Command<{}, {}> {\n\tconstructor(\n\t\tprivate readonly version: string,\n\t) {\n\t\tsuper()\n\t}\n\tprotected configure(configuration: CommandConfiguration<{}, {}>): void {\n\t\tconfiguration.description('Prints Contember CLI version')\n\t}\n\n\tprotected async execute(): Promise<void | number> {\n\t\tconsole.log(this.version)\n\t\treturn 0\n\t}\n}\n"],"names":["Command"],"mappings":";;;AAEO,MAAM,uBAAuBA,UAAAA,QAAgB;AAAA,EACnD,YACkB,SAChB;AACK,UAAA;AAFW,SAAA,UAAA;AAAA,EAAA;AAAA,EAIR,UAAU,eAAmD;AACtE,kBAAc,YAAY,8BAA8B;AAAA,EAAA;AAAA,EAGzD,MAAgB,UAAkC;AACzC,YAAA,IAAI,KAAK,OAAO;AACjB,WAAA;AAAA,EAAA;AAET;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"VersionCommand.js","sources":["../../../../../../packages/cli/src/commands/misc/VersionCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration } from '@contember/cli-common'\n\nexport class VersionCommand extends Command<{}, {}> {\n\tconstructor(\n\t\tprivate readonly version: string,\n\t) {\n\t\tsuper()\n\t}\n\tprotected configure(configuration: CommandConfiguration<{}, {}>): void {\n\t\tconfiguration.description('Prints Contember CLI version')\n\t}\n\n\tprotected async execute(): Promise<void | number> {\n\t\tconsole.log(this.version)\n\t\treturn 0\n\t}\n}\n"],"names":[],"mappings":";AAEO,MAAM,uBAAuB,QAAgB;AAAA,EACnD,YACkB,SAChB;AACK;AAFW,SAAA,UAAA;AAAA,EAGlB;AAAA,EACU,UAAU,eAAmD;AACtE,kBAAc,YAAY,8BAA8B;AAAA,EACzD;AAAA,EAEA,MAAgB,UAAkC;AACzC,YAAA,IAAI,KAAK,OAAO;AACjB,WAAA;AAAA,EACR;AACD;"}
1
+ {"version":3,"file":"VersionCommand.js","sources":["../../../../../../packages/cli/src/commands/misc/VersionCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration } from '@contember/cli-common'\n\nexport class VersionCommand extends Command<{}, {}> {\n\tconstructor(\n\t\tprivate readonly version: string,\n\t) {\n\t\tsuper()\n\t}\n\tprotected configure(configuration: CommandConfiguration<{}, {}>): void {\n\t\tconfiguration.description('Prints Contember CLI version')\n\t}\n\n\tprotected async execute(): Promise<void | number> {\n\t\tconsole.log(this.version)\n\t\treturn 0\n\t}\n}\n"],"names":[],"mappings":";AAEO,MAAM,uBAAuB,QAAgB;AAAA,EACnD,YACkB,SAChB;AACK,UAAA;AAFW,SAAA,UAAA;AAAA,EAAA;AAAA,EAIR,UAAU,eAAmD;AACtE,kBAAc,YAAY,8BAA8B;AAAA,EAAA;AAAA,EAGzD,MAAgB,UAAkC;AACzC,YAAA,IAAI,KAAK,OAAO;AACjB,WAAA;AAAA,EAAA;AAET;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectGenerateDocumentationCommand.cjs","sources":["../../../../../../packages/cli/src/commands/project/ProjectGenerateDocumentationCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { renderProjectInfoHtml } from '../../lib/project/docs/projectDescribe'\nimport { writeFile } from 'node:fs/promises'\nimport { join } from 'node:path'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { validateSchemaAndPrintErrors } from '../../lib/schema/SchemaValidationHelper'\n\ntype Args = {\n}\n\ntype Options = {\n\tname?: string\n\toutput?: string\n}\n\nexport class ProjectGenerateDocumentationCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Generates HTML documentation from project schema')\n\t\tconfiguration.option('output').valueRequired().description('file name or \"-\" for stdout')\n\t\tconfiguration.option('name').valueRequired().description('project name (for the title)')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tif (!validateSchemaAndPrintErrors(schema, 'Defined schema is invalid:')) {\n\t\t\treturn 1\n\t\t}\n\t\tconst name = input.getOption('name') ?? 'Contember project'\n\n\t\tconst html = await renderProjectInfoHtml(schema, name)\n\t\tconst output = input.getOption('output') ?? `${name.toLowerCase().replace(/\\s+/g, '-')}.html`\n\t\tif (output === '-') {\n\t\t\tconsole.log(html)\n\t\t} else {\n\t\t\tconsole.log(`Documentation saved to ${output}`)\n\t\t\tawait writeFile(join(process.cwd(), output), html)\n\t\t}\n\n\t\treturn 0\n\t}\n}\n"],"names":["Command","validateSchemaAndPrintErrors","renderProjectInfoHtml","writeFile","join"],"mappings":";;;;;;;AAeO,MAAM,4CAA4CA,UAAAA,QAAuB;AAAA,EAC/E,YACkB,cAChB;AACK;AAFW,SAAA,eAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kDAAkD;AAC5E,kBAAc,OAAO,QAAQ,EAAE,cAAc,EAAE,YAAY,6BAA6B;AACxF,kBAAc,OAAO,MAAM,EAAE,cAAc,EAAE,YAAY,8BAA8B;AAAA,EACxF;AAAA,EAEA,MAAgB,QAAQ,OAA8C;AACrE,UAAM,SAAS,MAAM,KAAK,aAAa,WAAW;AAClD,QAAI,CAACC,uBAAA,6BAA6B,QAAQ,4BAA4B,GAAG;AACjE,aAAA;AAAA,IACR;AACA,UAAM,OAAO,MAAM,UAAU,MAAM,KAAK;AAExC,UAAM,OAAO,MAAMC,gBAAAA,sBAAsB,QAAQ,IAAI;AACrD,UAAM,SAAS,MAAM,UAAU,QAAQ,KAAK,GAAG,KAAK,YAAA,EAAc,QAAQ,QAAQ,GAAG,CAAC;AACtF,QAAI,WAAW,KAAK;AACnB,cAAQ,IAAI,IAAI;AAAA,IAAA,OACV;AACE,cAAA,IAAI,0BAA0B,MAAM,EAAE;AAC9C,YAAMC,GAAAA,UAAUC,UAAAA,KAAK,QAAQ,OAAO,MAAM,GAAG,IAAI;AAAA,IAClD;AAEO,WAAA;AAAA,EACR;AACD;;"}
1
+ {"version":3,"file":"ProjectGenerateDocumentationCommand.cjs","sources":["../../../../../../packages/cli/src/commands/project/ProjectGenerateDocumentationCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { renderProjectInfoHtml } from '../../lib/project/docs/projectDescribe'\nimport { writeFile } from 'node:fs/promises'\nimport { join } from 'node:path'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { validateSchemaAndPrintErrors } from '../../lib/schema/SchemaValidationHelper'\n\ntype Args = {\n}\n\ntype Options = {\n\tname?: string\n\toutput?: string\n}\n\nexport class ProjectGenerateDocumentationCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Generates HTML documentation from project schema')\n\t\tconfiguration.option('output').valueRequired().description('file name or \"-\" for stdout')\n\t\tconfiguration.option('name').valueRequired().description('project name (for the title)')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tif (!validateSchemaAndPrintErrors(schema, 'Defined schema is invalid:')) {\n\t\t\treturn 1\n\t\t}\n\t\tconst name = input.getOption('name') ?? 'Contember project'\n\n\t\tconst html = await renderProjectInfoHtml(schema, name)\n\t\tconst output = input.getOption('output') ?? `${name.toLowerCase().replace(/\\s+/g, '-')}.html`\n\t\tif (output === '-') {\n\t\t\tconsole.log(html)\n\t\t} else {\n\t\t\tconsole.log(`Documentation saved to ${output}`)\n\t\t\tawait writeFile(join(process.cwd(), output), html)\n\t\t}\n\n\t\treturn 0\n\t}\n}\n"],"names":["Command","validateSchemaAndPrintErrors","renderProjectInfoHtml","writeFile","join"],"mappings":";;;;;;;AAeO,MAAM,4CAA4CA,UAAAA,QAAuB;AAAA,EAC/E,YACkB,cAChB;AACK,UAAA;AAFW,SAAA,eAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kDAAkD;AAC5E,kBAAc,OAAO,QAAQ,EAAE,cAAc,EAAE,YAAY,6BAA6B;AACxF,kBAAc,OAAO,MAAM,EAAE,cAAc,EAAE,YAAY,8BAA8B;AAAA,EAAA;AAAA,EAGxF,MAAgB,QAAQ,OAA8C;AACrE,UAAM,SAAS,MAAM,KAAK,aAAa,WAAW;AAClD,QAAI,CAACC,uBAAA,6BAA6B,QAAQ,4BAA4B,GAAG;AACjE,aAAA;AAAA,IAAA;AAER,UAAM,OAAO,MAAM,UAAU,MAAM,KAAK;AAExC,UAAM,OAAO,MAAMC,sCAAsB,QAAQ,IAAI;AACrD,UAAM,SAAS,MAAM,UAAU,QAAQ,KAAK,GAAG,KAAK,YAAc,EAAA,QAAQ,QAAQ,GAAG,CAAC;AACtF,QAAI,WAAW,KAAK;AACnB,cAAQ,IAAI,IAAI;AAAA,IAAA,OACV;AACE,cAAA,IAAI,0BAA0B,MAAM,EAAE;AAC9C,YAAMC,GAAAA,UAAUC,UAAAA,KAAK,QAAQ,OAAO,MAAM,GAAG,IAAI;AAAA,IAAA;AAG3C,WAAA;AAAA,EAAA;AAET;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectGenerateDocumentationCommand.js","sources":["../../../../../../packages/cli/src/commands/project/ProjectGenerateDocumentationCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { renderProjectInfoHtml } from '../../lib/project/docs/projectDescribe'\nimport { writeFile } from 'node:fs/promises'\nimport { join } from 'node:path'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { validateSchemaAndPrintErrors } from '../../lib/schema/SchemaValidationHelper'\n\ntype Args = {\n}\n\ntype Options = {\n\tname?: string\n\toutput?: string\n}\n\nexport class ProjectGenerateDocumentationCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Generates HTML documentation from project schema')\n\t\tconfiguration.option('output').valueRequired().description('file name or \"-\" for stdout')\n\t\tconfiguration.option('name').valueRequired().description('project name (for the title)')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tif (!validateSchemaAndPrintErrors(schema, 'Defined schema is invalid:')) {\n\t\t\treturn 1\n\t\t}\n\t\tconst name = input.getOption('name') ?? 'Contember project'\n\n\t\tconst html = await renderProjectInfoHtml(schema, name)\n\t\tconst output = input.getOption('output') ?? `${name.toLowerCase().replace(/\\s+/g, '-')}.html`\n\t\tif (output === '-') {\n\t\t\tconsole.log(html)\n\t\t} else {\n\t\t\tconsole.log(`Documentation saved to ${output}`)\n\t\t\tawait writeFile(join(process.cwd(), output), html)\n\t\t}\n\n\t\treturn 0\n\t}\n}\n"],"names":[],"mappings":";;;;;AAeO,MAAM,4CAA4C,QAAuB;AAAA,EAC/E,YACkB,cAChB;AACK;AAFW,SAAA,eAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kDAAkD;AAC5E,kBAAc,OAAO,QAAQ,EAAE,cAAc,EAAE,YAAY,6BAA6B;AACxF,kBAAc,OAAO,MAAM,EAAE,cAAc,EAAE,YAAY,8BAA8B;AAAA,EACxF;AAAA,EAEA,MAAgB,QAAQ,OAA8C;AACrE,UAAM,SAAS,MAAM,KAAK,aAAa,WAAW;AAClD,QAAI,CAAC,6BAA6B,QAAQ,4BAA4B,GAAG;AACjE,aAAA;AAAA,IACR;AACA,UAAM,OAAO,MAAM,UAAU,MAAM,KAAK;AAExC,UAAM,OAAO,MAAM,sBAAsB,QAAQ,IAAI;AACrD,UAAM,SAAS,MAAM,UAAU,QAAQ,KAAK,GAAG,KAAK,YAAA,EAAc,QAAQ,QAAQ,GAAG,CAAC;AACtF,QAAI,WAAW,KAAK;AACnB,cAAQ,IAAI,IAAI;AAAA,IAAA,OACV;AACE,cAAA,IAAI,0BAA0B,MAAM,EAAE;AAC9C,YAAM,UAAU,KAAK,QAAQ,OAAO,MAAM,GAAG,IAAI;AAAA,IAClD;AAEO,WAAA;AAAA,EACR;AACD;"}
1
+ {"version":3,"file":"ProjectGenerateDocumentationCommand.js","sources":["../../../../../../packages/cli/src/commands/project/ProjectGenerateDocumentationCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { renderProjectInfoHtml } from '../../lib/project/docs/projectDescribe'\nimport { writeFile } from 'node:fs/promises'\nimport { join } from 'node:path'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { validateSchemaAndPrintErrors } from '../../lib/schema/SchemaValidationHelper'\n\ntype Args = {\n}\n\ntype Options = {\n\tname?: string\n\toutput?: string\n}\n\nexport class ProjectGenerateDocumentationCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Generates HTML documentation from project schema')\n\t\tconfiguration.option('output').valueRequired().description('file name or \"-\" for stdout')\n\t\tconfiguration.option('name').valueRequired().description('project name (for the title)')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tif (!validateSchemaAndPrintErrors(schema, 'Defined schema is invalid:')) {\n\t\t\treturn 1\n\t\t}\n\t\tconst name = input.getOption('name') ?? 'Contember project'\n\n\t\tconst html = await renderProjectInfoHtml(schema, name)\n\t\tconst output = input.getOption('output') ?? `${name.toLowerCase().replace(/\\s+/g, '-')}.html`\n\t\tif (output === '-') {\n\t\t\tconsole.log(html)\n\t\t} else {\n\t\t\tconsole.log(`Documentation saved to ${output}`)\n\t\t\tawait writeFile(join(process.cwd(), output), html)\n\t\t}\n\n\t\treturn 0\n\t}\n}\n"],"names":[],"mappings":";;;;;AAeO,MAAM,4CAA4C,QAAuB;AAAA,EAC/E,YACkB,cAChB;AACK,UAAA;AAFW,SAAA,eAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kDAAkD;AAC5E,kBAAc,OAAO,QAAQ,EAAE,cAAc,EAAE,YAAY,6BAA6B;AACxF,kBAAc,OAAO,MAAM,EAAE,cAAc,EAAE,YAAY,8BAA8B;AAAA,EAAA;AAAA,EAGxF,MAAgB,QAAQ,OAA8C;AACrE,UAAM,SAAS,MAAM,KAAK,aAAa,WAAW;AAClD,QAAI,CAAC,6BAA6B,QAAQ,4BAA4B,GAAG;AACjE,aAAA;AAAA,IAAA;AAER,UAAM,OAAO,MAAM,UAAU,MAAM,KAAK;AAExC,UAAM,OAAO,MAAM,sBAAsB,QAAQ,IAAI;AACrD,UAAM,SAAS,MAAM,UAAU,QAAQ,KAAK,GAAG,KAAK,YAAc,EAAA,QAAQ,QAAQ,GAAG,CAAC;AACtF,QAAI,WAAW,KAAK;AACnB,cAAQ,IAAI,IAAI;AAAA,IAAA,OACV;AACE,cAAA,IAAI,0BAA0B,MAAM,EAAE;AAC9C,YAAM,UAAU,KAAK,QAAQ,OAAO,MAAM,GAAG,IAAI;AAAA,IAAA;AAG3C,WAAA;AAAA,EAAA;AAET;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectPrintSchemaCommand.cjs","sources":["../../../../../../packages/cli/src/commands/project/ProjectPrintSchemaCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport {\n\tAuthorizator,\n\tEntityRulesResolver,\n\tGraphQlSchemaBuilderFactory,\n\tIntrospectionSchemaDefinitionFactory,\n\tIntrospectionSchemaFactory,\n\tPermissionFactory,\n} from '@contember/engine-content-api'\nimport { printSchema } from 'graphql'\nimport { mergeSchemas } from '@graphql-tools/schema'\nimport { emptySchema, normalizeSchema } from '@contember/schema-utils'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { SchemaVersionBuilder } from '@contember/migrations-client'\nimport { validateSchemaAndPrintErrors } from '../../lib/schema/SchemaValidationHelper'\n\ntype Args = {\n}\n\ntype Options = {\n\trole?: string[]\n\tnormalize?: boolean\n\tformat?: 'graphql' | 'introspection' | 'schema'\n\tsource?: 'migrations' | 'definition'\n\t['omit-acl']?: boolean\n\t['omit-validation']?: boolean\n\t['omit-actions']?: boolean\n\t['omit-settings']?: boolean\n}\n\nexport class ProjectPrintSchemaCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Prints project schema')\n\t\tconfiguration.option('format').valueRequired().description('graphql|introspection|schema')\n\t\tconfiguration.option('source').valueRequired().description('migrations|definition')\n\t\tconfiguration.option('role').valueArray()\n\t\tconfiguration.option('normalize').valueNone()\n\t\tconfiguration.option('omit-acl').valueNone()\n\t\tconfiguration.option('omit-validation').valueNone()\n\t\tconfiguration.option('omit-actions').valueNone()\n\t\tconfiguration.option('omit-settings').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst format = input.getOption('format') || 'graphql'\n\n\n\t\tconst schema = input.getOption('source') === 'migrations'\n\t\t\t? await this.schemaVersionBuilder.buildSchema()\n\t\t\t: await this.schemaLoader.loadSchema()\n\n\t\tconst filteredSchema = {\n\t\t\tmodel: schema.model,\n\t\t\tacl: input.getOption('omit-acl') ? emptySchema.acl : schema.acl,\n\t\t\tvalidation: input.getOption('omit-validation') ? emptySchema.validation : schema.validation,\n\t\t\tactions: input.getOption('omit-actions') ? emptySchema.actions : schema.actions,\n\t\t\tsettings: input.getOption('omit-settings') ? emptySchema.settings : schema.settings,\n\t\t}\n\n\t\tif (!validateSchemaAndPrintErrors(filteredSchema, 'Defined schema is invalid:')) {\n\t\t\treturn 1\n\t\t}\n\n\t\tconst permissionFactory = new PermissionFactory()\n\t\tconst inputRoles = input.getOption('role')\n\t\tconst schemaNormalized = input.getOption('normalize') ? normalizeSchema(filteredSchema) : filteredSchema\n\t\tconst permissions = permissionFactory.create(schemaNormalized, inputRoles || ['admin'])\n\t\tconst schemaBuilderFactory = new GraphQlSchemaBuilderFactory()\n\t\tconst authorizator = new Authorizator(permissions, schemaNormalized.acl.customPrimary ?? false)\n\t\tconst introspection = new IntrospectionSchemaFactory(\n\t\t\tschemaNormalized.model,\n\t\t\tnew EntityRulesResolver(schemaNormalized.validation, schemaNormalized.model),\n\t\t\tauthorizator,\n\t\t)\n\n\t\tconst printByLine = (out: string) => {\n\t\t\tout.split('\\n').forEach(line => {\n\t\t\t\tprocess.stdout.write(line + '\\n')\n\t\t\t})\n\t\t}\n\t\tif (format === 'schema') {\n\t\t\tif (inputRoles) {\n\t\t\t\tthrow `--roles option is not supported for \"schema\" format`\n\t\t\t}\n\t\t\tconst jsonString = JSON.stringify(schemaNormalized, null, '\\t')\n\t\t\tprintByLine(jsonString)\n\t\t} else if (format === 'introspection') {\n\t\t\tprintByLine(JSON.stringify(introspection.create(), null, '\\t'))\n\t\t} else if (format === 'graphql') {\n\t\t\tconst contentSchema = schemaBuilderFactory.create(schemaNormalized.model, authorizator).build()\n\t\t\tconst introspectionSchemaFactory = new IntrospectionSchemaDefinitionFactory(introspection)\n\t\t\tconst introspectionSchema = introspectionSchemaFactory.create()\n\t\t\tconst gqlSchema = mergeSchemas({\n\t\t\t\tschemas: [contentSchema, introspectionSchema],\n\t\t\t})\n\t\t\tgqlSchema.description = '' // this enforces schema definition print\n\t\t\tconst printedSchema = printSchema(gqlSchema).replace('\"\"\"\"\"\"\\n', '') // remove empty comment\n\t\t\tprintByLine(printedSchema)\n\t\t} else {\n\t\t\tthrow `Unknown format ${format}`\n\t\t}\n\n\t\treturn 0\n\t}\n}\n"],"names":["Command","schema","emptySchema","validateSchemaAndPrintErrors","PermissionFactory","normalizeSchema","GraphQlSchemaBuilderFactory","Authorizator","IntrospectionSchemaFactory","EntityRulesResolver","IntrospectionSchemaDefinitionFactory","mergeSchemas","printSchema"],"mappings":"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"}
1
+ {"version":3,"file":"ProjectPrintSchemaCommand.cjs","sources":["../../../../../../packages/cli/src/commands/project/ProjectPrintSchemaCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport {\n\tAuthorizator,\n\tEntityRulesResolver,\n\tGraphQlSchemaBuilderFactory,\n\tIntrospectionSchemaDefinitionFactory,\n\tIntrospectionSchemaFactory,\n\tPermissionFactory,\n} from '@contember/engine-content-api'\nimport { printSchema } from 'graphql'\nimport { mergeSchemas } from '@graphql-tools/schema'\nimport { emptySchema, normalizeSchema } from '@contember/schema-utils'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { SchemaVersionBuilder } from '@contember/migrations-client'\nimport { validateSchemaAndPrintErrors } from '../../lib/schema/SchemaValidationHelper'\n\ntype Args = {\n}\n\ntype Options = {\n\trole?: string[]\n\tnormalize?: boolean\n\tformat?: 'graphql' | 'introspection' | 'schema'\n\tsource?: 'migrations' | 'definition'\n\t['omit-acl']?: boolean\n\t['omit-validation']?: boolean\n\t['omit-actions']?: boolean\n\t['omit-settings']?: boolean\n}\n\nexport class ProjectPrintSchemaCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Prints project schema')\n\t\tconfiguration.option('format').valueRequired().description('graphql|introspection|schema')\n\t\tconfiguration.option('source').valueRequired().description('migrations|definition')\n\t\tconfiguration.option('role').valueArray()\n\t\tconfiguration.option('normalize').valueNone()\n\t\tconfiguration.option('omit-acl').valueNone()\n\t\tconfiguration.option('omit-validation').valueNone()\n\t\tconfiguration.option('omit-actions').valueNone()\n\t\tconfiguration.option('omit-settings').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst format = input.getOption('format') || 'graphql'\n\n\n\t\tconst schema = input.getOption('source') === 'migrations'\n\t\t\t? await this.schemaVersionBuilder.buildSchema()\n\t\t\t: await this.schemaLoader.loadSchema()\n\n\t\tconst filteredSchema = {\n\t\t\tmodel: schema.model,\n\t\t\tacl: input.getOption('omit-acl') ? emptySchema.acl : schema.acl,\n\t\t\tvalidation: input.getOption('omit-validation') ? emptySchema.validation : schema.validation,\n\t\t\tactions: input.getOption('omit-actions') ? emptySchema.actions : schema.actions,\n\t\t\tsettings: input.getOption('omit-settings') ? emptySchema.settings : schema.settings,\n\t\t}\n\n\t\tif (!validateSchemaAndPrintErrors(filteredSchema, 'Defined schema is invalid:')) {\n\t\t\treturn 1\n\t\t}\n\n\t\tconst permissionFactory = new PermissionFactory()\n\t\tconst inputRoles = input.getOption('role')\n\t\tconst schemaNormalized = input.getOption('normalize') ? normalizeSchema(filteredSchema) : filteredSchema\n\t\tconst permissions = permissionFactory.create(schemaNormalized, inputRoles || ['admin'])\n\t\tconst schemaBuilderFactory = new GraphQlSchemaBuilderFactory()\n\t\tconst authorizator = new Authorizator(permissions, schemaNormalized.acl.customPrimary ?? false)\n\t\tconst introspection = new IntrospectionSchemaFactory(\n\t\t\tschemaNormalized.model,\n\t\t\tnew EntityRulesResolver(schemaNormalized.validation, schemaNormalized.model),\n\t\t\tauthorizator,\n\t\t)\n\n\t\tconst printByLine = (out: string) => {\n\t\t\tout.split('\\n').forEach(line => {\n\t\t\t\tprocess.stdout.write(line + '\\n')\n\t\t\t})\n\t\t}\n\t\tif (format === 'schema') {\n\t\t\tif (inputRoles) {\n\t\t\t\tthrow `--roles option is not supported for \"schema\" format`\n\t\t\t}\n\t\t\tconst jsonString = JSON.stringify(schemaNormalized, null, '\\t')\n\t\t\tprintByLine(jsonString)\n\t\t} else if (format === 'introspection') {\n\t\t\tprintByLine(JSON.stringify(introspection.create(), null, '\\t'))\n\t\t} else if (format === 'graphql') {\n\t\t\tconst contentSchema = schemaBuilderFactory.create(schemaNormalized.model, authorizator).build()\n\t\t\tconst introspectionSchemaFactory = new IntrospectionSchemaDefinitionFactory(introspection)\n\t\t\tconst introspectionSchema = introspectionSchemaFactory.create()\n\t\t\tconst gqlSchema = mergeSchemas({\n\t\t\t\tschemas: [contentSchema, introspectionSchema],\n\t\t\t})\n\t\t\tgqlSchema.description = '' // this enforces schema definition print\n\t\t\tconst printedSchema = printSchema(gqlSchema).replace('\"\"\"\"\"\"\\n', '') // remove empty comment\n\t\t\tprintByLine(printedSchema)\n\t\t} else {\n\t\t\tthrow `Unknown format ${format}`\n\t\t}\n\n\t\treturn 0\n\t}\n}\n"],"names":["Command","schema","emptySchema","validateSchemaAndPrintErrors","PermissionFactory","normalizeSchema","GraphQlSchemaBuilderFactory","Authorizator","IntrospectionSchemaFactory","EntityRulesResolver","IntrospectionSchemaDefinitionFactory","mergeSchemas","printSchema"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectPrintSchemaCommand.js","sources":["../../../../../../packages/cli/src/commands/project/ProjectPrintSchemaCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport {\n\tAuthorizator,\n\tEntityRulesResolver,\n\tGraphQlSchemaBuilderFactory,\n\tIntrospectionSchemaDefinitionFactory,\n\tIntrospectionSchemaFactory,\n\tPermissionFactory,\n} from '@contember/engine-content-api'\nimport { printSchema } from 'graphql'\nimport { mergeSchemas } from '@graphql-tools/schema'\nimport { emptySchema, normalizeSchema } from '@contember/schema-utils'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { SchemaVersionBuilder } from '@contember/migrations-client'\nimport { validateSchemaAndPrintErrors } from '../../lib/schema/SchemaValidationHelper'\n\ntype Args = {\n}\n\ntype Options = {\n\trole?: string[]\n\tnormalize?: boolean\n\tformat?: 'graphql' | 'introspection' | 'schema'\n\tsource?: 'migrations' | 'definition'\n\t['omit-acl']?: boolean\n\t['omit-validation']?: boolean\n\t['omit-actions']?: boolean\n\t['omit-settings']?: boolean\n}\n\nexport class ProjectPrintSchemaCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Prints project schema')\n\t\tconfiguration.option('format').valueRequired().description('graphql|introspection|schema')\n\t\tconfiguration.option('source').valueRequired().description('migrations|definition')\n\t\tconfiguration.option('role').valueArray()\n\t\tconfiguration.option('normalize').valueNone()\n\t\tconfiguration.option('omit-acl').valueNone()\n\t\tconfiguration.option('omit-validation').valueNone()\n\t\tconfiguration.option('omit-actions').valueNone()\n\t\tconfiguration.option('omit-settings').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst format = input.getOption('format') || 'graphql'\n\n\n\t\tconst schema = input.getOption('source') === 'migrations'\n\t\t\t? await this.schemaVersionBuilder.buildSchema()\n\t\t\t: await this.schemaLoader.loadSchema()\n\n\t\tconst filteredSchema = {\n\t\t\tmodel: schema.model,\n\t\t\tacl: input.getOption('omit-acl') ? emptySchema.acl : schema.acl,\n\t\t\tvalidation: input.getOption('omit-validation') ? emptySchema.validation : schema.validation,\n\t\t\tactions: input.getOption('omit-actions') ? emptySchema.actions : schema.actions,\n\t\t\tsettings: input.getOption('omit-settings') ? emptySchema.settings : schema.settings,\n\t\t}\n\n\t\tif (!validateSchemaAndPrintErrors(filteredSchema, 'Defined schema is invalid:')) {\n\t\t\treturn 1\n\t\t}\n\n\t\tconst permissionFactory = new PermissionFactory()\n\t\tconst inputRoles = input.getOption('role')\n\t\tconst schemaNormalized = input.getOption('normalize') ? normalizeSchema(filteredSchema) : filteredSchema\n\t\tconst permissions = permissionFactory.create(schemaNormalized, inputRoles || ['admin'])\n\t\tconst schemaBuilderFactory = new GraphQlSchemaBuilderFactory()\n\t\tconst authorizator = new Authorizator(permissions, schemaNormalized.acl.customPrimary ?? false)\n\t\tconst introspection = new IntrospectionSchemaFactory(\n\t\t\tschemaNormalized.model,\n\t\t\tnew EntityRulesResolver(schemaNormalized.validation, schemaNormalized.model),\n\t\t\tauthorizator,\n\t\t)\n\n\t\tconst printByLine = (out: string) => {\n\t\t\tout.split('\\n').forEach(line => {\n\t\t\t\tprocess.stdout.write(line + '\\n')\n\t\t\t})\n\t\t}\n\t\tif (format === 'schema') {\n\t\t\tif (inputRoles) {\n\t\t\t\tthrow `--roles option is not supported for \"schema\" format`\n\t\t\t}\n\t\t\tconst jsonString = JSON.stringify(schemaNormalized, null, '\\t')\n\t\t\tprintByLine(jsonString)\n\t\t} else if (format === 'introspection') {\n\t\t\tprintByLine(JSON.stringify(introspection.create(), null, '\\t'))\n\t\t} else if (format === 'graphql') {\n\t\t\tconst contentSchema = schemaBuilderFactory.create(schemaNormalized.model, authorizator).build()\n\t\t\tconst introspectionSchemaFactory = new IntrospectionSchemaDefinitionFactory(introspection)\n\t\t\tconst introspectionSchema = introspectionSchemaFactory.create()\n\t\t\tconst gqlSchema = mergeSchemas({\n\t\t\t\tschemas: [contentSchema, introspectionSchema],\n\t\t\t})\n\t\t\tgqlSchema.description = '' // this enforces schema definition print\n\t\t\tconst printedSchema = printSchema(gqlSchema).replace('\"\"\"\"\"\"\\n', '') // remove empty comment\n\t\t\tprintByLine(printedSchema)\n\t\t} else {\n\t\t\tthrow `Unknown format ${format}`\n\t\t}\n\n\t\treturn 0\n\t}\n}\n"],"names":[],"mappings":";;;;;;AA8BO,MAAM,kCAAkC,QAAuB;AAAA,EACrE,YACkB,cACA,sBAChB;AACK;AAHW,SAAA,eAAA;AACA,SAAA,uBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,uBAAuB;AACjD,kBAAc,OAAO,QAAQ,EAAE,cAAc,EAAE,YAAY,8BAA8B;AACzF,kBAAc,OAAO,QAAQ,EAAE,cAAc,EAAE,YAAY,uBAAuB;AACpE,kBAAA,OAAO,MAAM,EAAE,WAAW;AAC1B,kBAAA,OAAO,WAAW,EAAE,UAAU;AAC9B,kBAAA,OAAO,UAAU,EAAE,UAAU;AAC7B,kBAAA,OAAO,iBAAiB,EAAE,UAAU;AACpC,kBAAA,OAAO,cAAc,EAAE,UAAU;AACjC,kBAAA,OAAO,eAAe,EAAE,UAAU;AAAA,EACjD;AAAA,EAEA,MAAgB,QAAQ,OAA8C;AACrE,UAAM,SAAS,MAAM,UAAU,QAAQ,KAAK;AAG5C,UAAM,SAAS,MAAM,UAAU,QAAQ,MAAM,eAC1C,MAAM,KAAK,qBAAqB,YAAY,IAC5C,MAAM,KAAK,aAAa,WAAW;AAEtC,UAAM,iBAAiB;AAAA,MACtB,OAAO,OAAO;AAAA,MACd,KAAK,MAAM,UAAU,UAAU,IAAI,YAAY,MAAM,OAAO;AAAA,MAC5D,YAAY,MAAM,UAAU,iBAAiB,IAAI,YAAY,aAAa,OAAO;AAAA,MACjF,SAAS,MAAM,UAAU,cAAc,IAAI,YAAY,UAAU,OAAO;AAAA,MACxE,UAAU,MAAM,UAAU,eAAe,IAAI,YAAY,WAAW,OAAO;AAAA,IAAA;AAG5E,QAAI,CAAC,6BAA6B,gBAAgB,4BAA4B,GAAG;AACzE,aAAA;AAAA,IACR;AAEM,UAAA,oBAAoB,IAAI;AACxB,UAAA,aAAa,MAAM,UAAU,MAAM;AACzC,UAAM,mBAAmB,MAAM,UAAU,WAAW,IAAI,gBAAgB,cAAc,IAAI;AAC1F,UAAM,cAAc,kBAAkB,OAAO,kBAAkB,cAAc,CAAC,OAAO,CAAC;AAChF,UAAA,uBAAuB,IAAI;AACjC,UAAM,eAAe,IAAI,aAAa,aAAa,iBAAiB,IAAI,iBAAiB,KAAK;AAC9F,UAAM,gBAAgB,IAAI;AAAA,MACzB,iBAAiB;AAAA,MACjB,IAAI,oBAAoB,iBAAiB,YAAY,iBAAiB,KAAK;AAAA,MAC3E;AAAA,IAAA;AAGK,UAAA,cAAc,CAAC,QAAgB;AACpC,UAAI,MAAM,IAAI,EAAE,QAAQ,CAAQ,SAAA;AACvB,gBAAA,OAAO,MAAM,OAAO,IAAI;AAAA,MAAA,CAChC;AAAA,IAAA;AAEF,QAAI,WAAW,UAAU;AACxB,UAAI,YAAY;AACT,cAAA;AAAA,MACP;AACA,YAAM,aAAa,KAAK,UAAU,kBAAkB,MAAM,GAAI;AAC9D,kBAAY,UAAU;AAAA,IAAA,WACZ,WAAW,iBAAiB;AACtC,kBAAY,KAAK,UAAU,cAAc,UAAU,MAAM,GAAI,CAAC;AAAA,IAAA,WACpD,WAAW,WAAW;AAChC,YAAM,gBAAgB,qBAAqB,OAAO,iBAAiB,OAAO,YAAY,EAAE;AAClF,YAAA,6BAA6B,IAAI,qCAAqC,aAAa;AACnF,YAAA,sBAAsB,2BAA2B;AACvD,YAAM,YAAY,aAAa;AAAA,QAC9B,SAAS,CAAC,eAAe,mBAAmB;AAAA,MAAA,CAC5C;AACD,gBAAU,cAAc;AACxB,YAAM,gBAAgB,YAAY,SAAS,EAAE,QAAQ,YAAY,EAAE;AACnE,kBAAY,aAAa;AAAA,IAAA,OACnB;AACN,YAAM,kBAAkB,MAAM;AAAA,IAC/B;AAEO,WAAA;AAAA,EACR;AACD;"}
1
+ {"version":3,"file":"ProjectPrintSchemaCommand.js","sources":["../../../../../../packages/cli/src/commands/project/ProjectPrintSchemaCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport {\n\tAuthorizator,\n\tEntityRulesResolver,\n\tGraphQlSchemaBuilderFactory,\n\tIntrospectionSchemaDefinitionFactory,\n\tIntrospectionSchemaFactory,\n\tPermissionFactory,\n} from '@contember/engine-content-api'\nimport { printSchema } from 'graphql'\nimport { mergeSchemas } from '@graphql-tools/schema'\nimport { emptySchema, normalizeSchema } from '@contember/schema-utils'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { SchemaVersionBuilder } from '@contember/migrations-client'\nimport { validateSchemaAndPrintErrors } from '../../lib/schema/SchemaValidationHelper'\n\ntype Args = {\n}\n\ntype Options = {\n\trole?: string[]\n\tnormalize?: boolean\n\tformat?: 'graphql' | 'introspection' | 'schema'\n\tsource?: 'migrations' | 'definition'\n\t['omit-acl']?: boolean\n\t['omit-validation']?: boolean\n\t['omit-actions']?: boolean\n\t['omit-settings']?: boolean\n}\n\nexport class ProjectPrintSchemaCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Prints project schema')\n\t\tconfiguration.option('format').valueRequired().description('graphql|introspection|schema')\n\t\tconfiguration.option('source').valueRequired().description('migrations|definition')\n\t\tconfiguration.option('role').valueArray()\n\t\tconfiguration.option('normalize').valueNone()\n\t\tconfiguration.option('omit-acl').valueNone()\n\t\tconfiguration.option('omit-validation').valueNone()\n\t\tconfiguration.option('omit-actions').valueNone()\n\t\tconfiguration.option('omit-settings').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst format = input.getOption('format') || 'graphql'\n\n\n\t\tconst schema = input.getOption('source') === 'migrations'\n\t\t\t? await this.schemaVersionBuilder.buildSchema()\n\t\t\t: await this.schemaLoader.loadSchema()\n\n\t\tconst filteredSchema = {\n\t\t\tmodel: schema.model,\n\t\t\tacl: input.getOption('omit-acl') ? emptySchema.acl : schema.acl,\n\t\t\tvalidation: input.getOption('omit-validation') ? emptySchema.validation : schema.validation,\n\t\t\tactions: input.getOption('omit-actions') ? emptySchema.actions : schema.actions,\n\t\t\tsettings: input.getOption('omit-settings') ? emptySchema.settings : schema.settings,\n\t\t}\n\n\t\tif (!validateSchemaAndPrintErrors(filteredSchema, 'Defined schema is invalid:')) {\n\t\t\treturn 1\n\t\t}\n\n\t\tconst permissionFactory = new PermissionFactory()\n\t\tconst inputRoles = input.getOption('role')\n\t\tconst schemaNormalized = input.getOption('normalize') ? normalizeSchema(filteredSchema) : filteredSchema\n\t\tconst permissions = permissionFactory.create(schemaNormalized, inputRoles || ['admin'])\n\t\tconst schemaBuilderFactory = new GraphQlSchemaBuilderFactory()\n\t\tconst authorizator = new Authorizator(permissions, schemaNormalized.acl.customPrimary ?? false)\n\t\tconst introspection = new IntrospectionSchemaFactory(\n\t\t\tschemaNormalized.model,\n\t\t\tnew EntityRulesResolver(schemaNormalized.validation, schemaNormalized.model),\n\t\t\tauthorizator,\n\t\t)\n\n\t\tconst printByLine = (out: string) => {\n\t\t\tout.split('\\n').forEach(line => {\n\t\t\t\tprocess.stdout.write(line + '\\n')\n\t\t\t})\n\t\t}\n\t\tif (format === 'schema') {\n\t\t\tif (inputRoles) {\n\t\t\t\tthrow `--roles option is not supported for \"schema\" format`\n\t\t\t}\n\t\t\tconst jsonString = JSON.stringify(schemaNormalized, null, '\\t')\n\t\t\tprintByLine(jsonString)\n\t\t} else if (format === 'introspection') {\n\t\t\tprintByLine(JSON.stringify(introspection.create(), null, '\\t'))\n\t\t} else if (format === 'graphql') {\n\t\t\tconst contentSchema = schemaBuilderFactory.create(schemaNormalized.model, authorizator).build()\n\t\t\tconst introspectionSchemaFactory = new IntrospectionSchemaDefinitionFactory(introspection)\n\t\t\tconst introspectionSchema = introspectionSchemaFactory.create()\n\t\t\tconst gqlSchema = mergeSchemas({\n\t\t\t\tschemas: [contentSchema, introspectionSchema],\n\t\t\t})\n\t\t\tgqlSchema.description = '' // this enforces schema definition print\n\t\t\tconst printedSchema = printSchema(gqlSchema).replace('\"\"\"\"\"\"\\n', '') // remove empty comment\n\t\t\tprintByLine(printedSchema)\n\t\t} else {\n\t\t\tthrow `Unknown format ${format}`\n\t\t}\n\n\t\treturn 0\n\t}\n}\n"],"names":[],"mappings":";;;;;;AA8BO,MAAM,kCAAkC,QAAuB;AAAA,EACrE,YACkB,cACA,sBAChB;AACK,UAAA;AAHW,SAAA,eAAA;AACA,SAAA,uBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,uBAAuB;AACjD,kBAAc,OAAO,QAAQ,EAAE,cAAc,EAAE,YAAY,8BAA8B;AACzF,kBAAc,OAAO,QAAQ,EAAE,cAAc,EAAE,YAAY,uBAAuB;AACpE,kBAAA,OAAO,MAAM,EAAE,WAAW;AAC1B,kBAAA,OAAO,WAAW,EAAE,UAAU;AAC9B,kBAAA,OAAO,UAAU,EAAE,UAAU;AAC7B,kBAAA,OAAO,iBAAiB,EAAE,UAAU;AACpC,kBAAA,OAAO,cAAc,EAAE,UAAU;AACjC,kBAAA,OAAO,eAAe,EAAE,UAAU;AAAA,EAAA;AAAA,EAGjD,MAAgB,QAAQ,OAA8C;AACrE,UAAM,SAAS,MAAM,UAAU,QAAQ,KAAK;AAG5C,UAAM,SAAS,MAAM,UAAU,QAAQ,MAAM,eAC1C,MAAM,KAAK,qBAAqB,YAAY,IAC5C,MAAM,KAAK,aAAa,WAAW;AAEtC,UAAM,iBAAiB;AAAA,MACtB,OAAO,OAAO;AAAA,MACd,KAAK,MAAM,UAAU,UAAU,IAAI,YAAY,MAAM,OAAO;AAAA,MAC5D,YAAY,MAAM,UAAU,iBAAiB,IAAI,YAAY,aAAa,OAAO;AAAA,MACjF,SAAS,MAAM,UAAU,cAAc,IAAI,YAAY,UAAU,OAAO;AAAA,MACxE,UAAU,MAAM,UAAU,eAAe,IAAI,YAAY,WAAW,OAAO;AAAA,IAC5E;AAEA,QAAI,CAAC,6BAA6B,gBAAgB,4BAA4B,GAAG;AACzE,aAAA;AAAA,IAAA;AAGF,UAAA,oBAAoB,IAAI,kBAAkB;AAC1C,UAAA,aAAa,MAAM,UAAU,MAAM;AACzC,UAAM,mBAAmB,MAAM,UAAU,WAAW,IAAI,gBAAgB,cAAc,IAAI;AAC1F,UAAM,cAAc,kBAAkB,OAAO,kBAAkB,cAAc,CAAC,OAAO,CAAC;AAChF,UAAA,uBAAuB,IAAI,4BAA4B;AAC7D,UAAM,eAAe,IAAI,aAAa,aAAa,iBAAiB,IAAI,iBAAiB,KAAK;AAC9F,UAAM,gBAAgB,IAAI;AAAA,MACzB,iBAAiB;AAAA,MACjB,IAAI,oBAAoB,iBAAiB,YAAY,iBAAiB,KAAK;AAAA,MAC3E;AAAA,IACD;AAEM,UAAA,cAAc,CAAC,QAAgB;AACpC,UAAI,MAAM,IAAI,EAAE,QAAQ,CAAQ,SAAA;AACvB,gBAAA,OAAO,MAAM,OAAO,IAAI;AAAA,MAAA,CAChC;AAAA,IACF;AACA,QAAI,WAAW,UAAU;AACxB,UAAI,YAAY;AACT,cAAA;AAAA,MAAA;AAEP,YAAM,aAAa,KAAK,UAAU,kBAAkB,MAAM,GAAI;AAC9D,kBAAY,UAAU;AAAA,IAAA,WACZ,WAAW,iBAAiB;AACtC,kBAAY,KAAK,UAAU,cAAc,UAAU,MAAM,GAAI,CAAC;AAAA,IAAA,WACpD,WAAW,WAAW;AAChC,YAAM,gBAAgB,qBAAqB,OAAO,iBAAiB,OAAO,YAAY,EAAE,MAAM;AACxF,YAAA,6BAA6B,IAAI,qCAAqC,aAAa;AACnF,YAAA,sBAAsB,2BAA2B,OAAO;AAC9D,YAAM,YAAY,aAAa;AAAA,QAC9B,SAAS,CAAC,eAAe,mBAAmB;AAAA,MAAA,CAC5C;AACD,gBAAU,cAAc;AACxB,YAAM,gBAAgB,YAAY,SAAS,EAAE,QAAQ,YAAY,EAAE;AACnE,kBAAY,aAAa;AAAA,IAAA,OACnB;AACN,YAAM,kBAAkB,MAAM;AAAA,IAAA;AAGxB,WAAA;AAAA,EAAA;AAET;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectValidateCommand.cjs","sources":["../../../../../../packages/cli/src/commands/project/ProjectValidateCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration } from '@contember/cli-common'\nimport { emptySchema } from '@contember/schema-utils'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { validateSchemaAndPrintErrors } from '../../lib/schema/SchemaValidationHelper'\nimport { MigrationsValidator } from '../../lib/migrations/MigrationsValidator'\nimport { MigrationsResolver, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { SchemaDiffer } from '@contember/schema-migrations'\n\ntype Args = {}\n\ntype Options = {}\n\nexport class ProjectValidateCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly migrationValidator: MigrationsValidator,\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly schemaDiffer: SchemaDiffer,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Validates project schema')\n\t}\n\n\tprotected async execute(): Promise<number> {\n\t\tlet projectValid = true\n\n\t\tconst migrations = await this.migrationsResolver.getSchemaMigrations()\n\t\tprojectValid = this.migrationValidator.validate(emptySchema, migrations)\n\t\t\t&& projectValid\n\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tprojectValid = validateSchemaAndPrintErrors(schema, 'Defined schema is invalid:')\n\t\t\t&& projectValid\n\n\t\tconst builtSchema = await this.schemaVersionBuilder.buildSchema()\n\t\tprojectValid = validateSchemaAndPrintErrors(builtSchema, 'Schema built from migrations is invalid:')\n\t\t\t&& projectValid\n\n\t\tif (projectValid) {\n\t\t\tconst diff = await this.schemaDiffer.diffSchemas(builtSchema, schema)\n\t\t\tif (diff.length > 0) {\n\t\t\t\tconsole.log('Migrations are not in sync with a defined schema')\n\t\t\t\tprojectValid = false\n\t\t\t}\n\t\t}\n\n\t\tif (projectValid) {\n\t\t\tconsole.log('Project schema is valid')\n\t\t}\n\n\t\treturn projectValid ? 0 : 1\n\t}\n}\n"],"names":["Command","emptySchema","validateSchemaAndPrintErrors"],"mappings":";;;;;AAYO,MAAM,+BAA+BA,UAAAA,QAAuB;AAAA,EAClE,YACkB,cACA,oBACA,oBACA,cACA,sBAChB;AACK;AANW,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,qBAAA;AACA,SAAA,eAAA;AACA,SAAA,uBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,0BAA0B;AAAA,EACrD;AAAA,EAEA,MAAgB,UAA2B;AAC1C,QAAI,eAAe;AAEnB,UAAM,aAAa,MAAM,KAAK,mBAAmB,oBAAoB;AACrE,mBAAe,KAAK,mBAAmB,SAASC,YAAAA,aAAa,UAAU,KACnE;AAEJ,UAAM,SAAS,MAAM,KAAK,aAAa,WAAW;AACnC,mBAAAC,uBAAAA,6BAA6B,QAAQ,4BAA4B,KAC5E;AAEJ,UAAM,cAAc,MAAM,KAAK,qBAAqB,YAAY;AACjD,mBAAAA,uBAAAA,6BAA6B,aAAa,0CAA0C,KAC/F;AAEJ,QAAI,cAAc;AACjB,YAAM,OAAO,MAAM,KAAK,aAAa,YAAY,aAAa,MAAM;AAChE,UAAA,KAAK,SAAS,GAAG;AACpB,gBAAQ,IAAI,kDAAkD;AAC/C,uBAAA;AAAA,MAChB;AAAA,IACD;AAEA,QAAI,cAAc;AACjB,cAAQ,IAAI,yBAAyB;AAAA,IACtC;AAEA,WAAO,eAAe,IAAI;AAAA,EAC3B;AACD;;"}
1
+ {"version":3,"file":"ProjectValidateCommand.cjs","sources":["../../../../../../packages/cli/src/commands/project/ProjectValidateCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration } from '@contember/cli-common'\nimport { emptySchema } from '@contember/schema-utils'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { validateSchemaAndPrintErrors } from '../../lib/schema/SchemaValidationHelper'\nimport { MigrationsValidator } from '../../lib/migrations/MigrationsValidator'\nimport { MigrationsResolver, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { SchemaDiffer } from '@contember/schema-migrations'\n\ntype Args = {}\n\ntype Options = {}\n\nexport class ProjectValidateCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly migrationValidator: MigrationsValidator,\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly schemaDiffer: SchemaDiffer,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Validates project schema')\n\t}\n\n\tprotected async execute(): Promise<number> {\n\t\tlet projectValid = true\n\n\t\tconst migrations = await this.migrationsResolver.getSchemaMigrations()\n\t\tprojectValid = this.migrationValidator.validate(emptySchema, migrations)\n\t\t\t&& projectValid\n\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tprojectValid = validateSchemaAndPrintErrors(schema, 'Defined schema is invalid:')\n\t\t\t&& projectValid\n\n\t\tconst builtSchema = await this.schemaVersionBuilder.buildSchema()\n\t\tprojectValid = validateSchemaAndPrintErrors(builtSchema, 'Schema built from migrations is invalid:')\n\t\t\t&& projectValid\n\n\t\tif (projectValid) {\n\t\t\tconst diff = await this.schemaDiffer.diffSchemas(builtSchema, schema)\n\t\t\tif (diff.length > 0) {\n\t\t\t\tconsole.log('Migrations are not in sync with a defined schema')\n\t\t\t\tprojectValid = false\n\t\t\t}\n\t\t}\n\n\t\tif (projectValid) {\n\t\t\tconsole.log('Project schema is valid')\n\t\t}\n\n\t\treturn projectValid ? 0 : 1\n\t}\n}\n"],"names":["Command","emptySchema","validateSchemaAndPrintErrors"],"mappings":";;;;;AAYO,MAAM,+BAA+BA,UAAAA,QAAuB;AAAA,EAClE,YACkB,cACA,oBACA,oBACA,cACA,sBAChB;AACK,UAAA;AANW,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,qBAAA;AACA,SAAA,eAAA;AACA,SAAA,uBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,0BAA0B;AAAA,EAAA;AAAA,EAGrD,MAAgB,UAA2B;AAC1C,QAAI,eAAe;AAEnB,UAAM,aAAa,MAAM,KAAK,mBAAmB,oBAAoB;AACrE,mBAAe,KAAK,mBAAmB,SAASC,YAAA,aAAa,UAAU,KACnE;AAEJ,UAAM,SAAS,MAAM,KAAK,aAAa,WAAW;AACnC,mBAAAC,uBAAA,6BAA6B,QAAQ,4BAA4B,KAC5E;AAEJ,UAAM,cAAc,MAAM,KAAK,qBAAqB,YAAY;AACjD,mBAAAA,uBAAA,6BAA6B,aAAa,0CAA0C,KAC/F;AAEJ,QAAI,cAAc;AACjB,YAAM,OAAO,MAAM,KAAK,aAAa,YAAY,aAAa,MAAM;AAChE,UAAA,KAAK,SAAS,GAAG;AACpB,gBAAQ,IAAI,kDAAkD;AAC/C,uBAAA;AAAA,MAAA;AAAA,IAChB;AAGD,QAAI,cAAc;AACjB,cAAQ,IAAI,yBAAyB;AAAA,IAAA;AAGtC,WAAO,eAAe,IAAI;AAAA,EAAA;AAE5B;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectValidateCommand.js","sources":["../../../../../../packages/cli/src/commands/project/ProjectValidateCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration } from '@contember/cli-common'\nimport { emptySchema } from '@contember/schema-utils'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { validateSchemaAndPrintErrors } from '../../lib/schema/SchemaValidationHelper'\nimport { MigrationsValidator } from '../../lib/migrations/MigrationsValidator'\nimport { MigrationsResolver, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { SchemaDiffer } from '@contember/schema-migrations'\n\ntype Args = {}\n\ntype Options = {}\n\nexport class ProjectValidateCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly migrationValidator: MigrationsValidator,\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly schemaDiffer: SchemaDiffer,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Validates project schema')\n\t}\n\n\tprotected async execute(): Promise<number> {\n\t\tlet projectValid = true\n\n\t\tconst migrations = await this.migrationsResolver.getSchemaMigrations()\n\t\tprojectValid = this.migrationValidator.validate(emptySchema, migrations)\n\t\t\t&& projectValid\n\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tprojectValid = validateSchemaAndPrintErrors(schema, 'Defined schema is invalid:')\n\t\t\t&& projectValid\n\n\t\tconst builtSchema = await this.schemaVersionBuilder.buildSchema()\n\t\tprojectValid = validateSchemaAndPrintErrors(builtSchema, 'Schema built from migrations is invalid:')\n\t\t\t&& projectValid\n\n\t\tif (projectValid) {\n\t\t\tconst diff = await this.schemaDiffer.diffSchemas(builtSchema, schema)\n\t\t\tif (diff.length > 0) {\n\t\t\t\tconsole.log('Migrations are not in sync with a defined schema')\n\t\t\t\tprojectValid = false\n\t\t\t}\n\t\t}\n\n\t\tif (projectValid) {\n\t\t\tconsole.log('Project schema is valid')\n\t\t}\n\n\t\treturn projectValid ? 0 : 1\n\t}\n}\n"],"names":[],"mappings":";;;AAYO,MAAM,+BAA+B,QAAuB;AAAA,EAClE,YACkB,cACA,oBACA,oBACA,cACA,sBAChB;AACK;AANW,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,qBAAA;AACA,SAAA,eAAA;AACA,SAAA,uBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,0BAA0B;AAAA,EACrD;AAAA,EAEA,MAAgB,UAA2B;AAC1C,QAAI,eAAe;AAEnB,UAAM,aAAa,MAAM,KAAK,mBAAmB,oBAAoB;AACrE,mBAAe,KAAK,mBAAmB,SAAS,aAAa,UAAU,KACnE;AAEJ,UAAM,SAAS,MAAM,KAAK,aAAa,WAAW;AACnC,mBAAA,6BAA6B,QAAQ,4BAA4B,KAC5E;AAEJ,UAAM,cAAc,MAAM,KAAK,qBAAqB,YAAY;AACjD,mBAAA,6BAA6B,aAAa,0CAA0C,KAC/F;AAEJ,QAAI,cAAc;AACjB,YAAM,OAAO,MAAM,KAAK,aAAa,YAAY,aAAa,MAAM;AAChE,UAAA,KAAK,SAAS,GAAG;AACpB,gBAAQ,IAAI,kDAAkD;AAC/C,uBAAA;AAAA,MAChB;AAAA,IACD;AAEA,QAAI,cAAc;AACjB,cAAQ,IAAI,yBAAyB;AAAA,IACtC;AAEA,WAAO,eAAe,IAAI;AAAA,EAC3B;AACD;"}
1
+ {"version":3,"file":"ProjectValidateCommand.js","sources":["../../../../../../packages/cli/src/commands/project/ProjectValidateCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration } from '@contember/cli-common'\nimport { emptySchema } from '@contember/schema-utils'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader'\nimport { validateSchemaAndPrintErrors } from '../../lib/schema/SchemaValidationHelper'\nimport { MigrationsValidator } from '../../lib/migrations/MigrationsValidator'\nimport { MigrationsResolver, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { SchemaDiffer } from '@contember/schema-migrations'\n\ntype Args = {}\n\ntype Options = {}\n\nexport class ProjectValidateCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly migrationValidator: MigrationsValidator,\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly schemaDiffer: SchemaDiffer,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Validates project schema')\n\t}\n\n\tprotected async execute(): Promise<number> {\n\t\tlet projectValid = true\n\n\t\tconst migrations = await this.migrationsResolver.getSchemaMigrations()\n\t\tprojectValid = this.migrationValidator.validate(emptySchema, migrations)\n\t\t\t&& projectValid\n\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tprojectValid = validateSchemaAndPrintErrors(schema, 'Defined schema is invalid:')\n\t\t\t&& projectValid\n\n\t\tconst builtSchema = await this.schemaVersionBuilder.buildSchema()\n\t\tprojectValid = validateSchemaAndPrintErrors(builtSchema, 'Schema built from migrations is invalid:')\n\t\t\t&& projectValid\n\n\t\tif (projectValid) {\n\t\t\tconst diff = await this.schemaDiffer.diffSchemas(builtSchema, schema)\n\t\t\tif (diff.length > 0) {\n\t\t\t\tconsole.log('Migrations are not in sync with a defined schema')\n\t\t\t\tprojectValid = false\n\t\t\t}\n\t\t}\n\n\t\tif (projectValid) {\n\t\t\tconsole.log('Project schema is valid')\n\t\t}\n\n\t\treturn projectValid ? 0 : 1\n\t}\n}\n"],"names":[],"mappings":";;;AAYO,MAAM,+BAA+B,QAAuB;AAAA,EAClE,YACkB,cACA,oBACA,oBACA,cACA,sBAChB;AACK,UAAA;AANW,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,qBAAA;AACA,SAAA,eAAA;AACA,SAAA,uBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,0BAA0B;AAAA,EAAA;AAAA,EAGrD,MAAgB,UAA2B;AAC1C,QAAI,eAAe;AAEnB,UAAM,aAAa,MAAM,KAAK,mBAAmB,oBAAoB;AACrE,mBAAe,KAAK,mBAAmB,SAAS,aAAa,UAAU,KACnE;AAEJ,UAAM,SAAS,MAAM,KAAK,aAAa,WAAW;AACnC,mBAAA,6BAA6B,QAAQ,4BAA4B,KAC5E;AAEJ,UAAM,cAAc,MAAM,KAAK,qBAAqB,YAAY;AACjD,mBAAA,6BAA6B,aAAa,0CAA0C,KAC/F;AAEJ,QAAI,cAAc;AACjB,YAAM,OAAO,MAAM,KAAK,aAAa,YAAY,aAAa,MAAM;AAChE,UAAA,KAAK,SAAS,GAAG;AACpB,gBAAQ,IAAI,kDAAkD;AAC/C,uBAAA;AAAA,MAAA;AAAA,IAChB;AAGD,QAAI,cAAc;AACjB,cAAQ,IAAI,yBAAyB;AAAA,IAAA;AAGtC,WAAO,eAAe,IAAI;AAAA,EAAA;AAE5B;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExportCommand.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/ExportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createWriteStream } from 'node:fs'\nimport { maskToken } from '../../lib/maskToken'\nimport { pipeline } from 'node:stream/promises'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { createGunzip, createGzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tsource?: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t/** @deprecated */\n\t'no-gzip'?: boolean\n\t'no-gzip-output'?: boolean\n\t'no-gzip-transfer'?: boolean\n\toutput?: string\n\t'exclude-table'?: string[]\n}\n\nexport class ExportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Export data from a project')\n\t\tconfiguration.argument('source').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip').valueNone().deprecated()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('no-gzip-output').valueNone()\n\t\tconfiguration.option('output').valueRequired()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst from = input.getArgument('source')\n\t\tconst project = await this.remoteProjectResolver.resolve(from)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\n\t\tconsole.log('')\n\t\tconsole.log('Exporting data from a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\n\t\tconst gzipOutput = !input.getOption('no-gzip-output') && !input.getOption('no-gzip')\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\n\t\tconst response = await this.dataTransferClient.dataExport({\n\t\t\tproject,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tincludeSystem,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\n\t\tlet transferred = 0\n\t\tlet start = Date.now()\n\t\tlet lastMbReported = 0\n\t\tconsole.log('')\n\t\tresponse.on('data', chunk => {\n\t\t\ttransferred += chunk.length\n\t\t\tconst currentMb = Math.floor(transferred / 1024 / 1024)\n\t\t\tif (currentMb > lastMbReported) {\n\t\t\t\tconst durationS = Math.floor((Date.now() - start) / 1000)\n\t\t\t\tprintProgressLine(`transferred ${currentMb} MiB; ${durationS} seconds`)\n\t\t\t\tlastMbReported = currentMb\n\t\t\t}\n\t\t})\n\n\t\tconst fileName = input.getOption('output') ?? `${project.name}.jsonl${gzipOutput ? '.gz' : ''}`\n\t\tconst fileStream = createWriteStream(fileName)\n\n\t\tconst responseStream = gzipOutput === gzipTransfer\n\t\t\t? response\n\t\t\t: response.pipe(gzipOutput ? createGzip() : createGunzip())\n\n\t\tawait pipeline(responseStream, fileStream)\n\n\t\tconsole.log('\\nExport done.')\n\t\tconsole.log(`Data saved to ${fileName}`)\n\t}\n}\n"],"names":["Command","maskToken","printProgressLine","createWriteStream","createGzip","createGunzip","pipeline"],"mappings":";;;;;;;;AAsBO,MAAM,sBAAsBA,UAAAA,QAAuB;AAAA,EACzD,YACkB,uBACA,oBAChB;AACK;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,4BAA4B;AACxC,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACjD,kBAAc,OAAO,SAAS,EAAE,YAAY,WAAW;AACzC,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACnC,kBAAA,OAAO,QAAQ,EAAE,cAAc;AAC/B,kBAAA,OAAO,eAAe,EAAE,WAAW;AAAA,EAClD;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AACtE,UAAA,OAAO,MAAM,YAAY,QAAQ;AACvC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,IAAI;AAC7D,QAAI,CAAC,SAAS;AACP,YAAA;AAAA,IACP;AAEA,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,yCAAyC;AACrD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,iBAAiB,QAAQ,IAAI,EAAE;AAC3C,YAAQ,IAAI,YAAY,QAAQ,QAAQ,EAAE;AAC1C,YAAQ,IAAI,UAAUC,UAAAA,UAAU,QAAQ,KAAK,CAAC,EAAE;AAE1C,UAAA,aAAa,CAAC,MAAM,UAAU,gBAAgB,KAAK,CAAC,MAAM,UAAU,SAAS;AACnF,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AAExD,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,MAAM;AAE5D,UAAM,WAAW,MAAM,KAAK,mBAAmB,WAAW;AAAA,MACzD;AAAA,MACA,eAAe,MAAM,UAAU,eAAe,KAAK,CAAC;AAAA,MACpD;AAAA,MACA,MAAM;AAAA,IAAA,CACN;AAED,QAAI,cAAc;AACd,QAAA,QAAQ,KAAK;AACjB,QAAI,iBAAiB;AACrB,YAAQ,IAAI,EAAE;AACL,aAAA,GAAG,QAAQ,CAAS,UAAA;AAC5B,qBAAe,MAAM;AACrB,YAAM,YAAY,KAAK,MAAM,cAAc,OAAO,IAAI;AACtD,UAAI,YAAY,gBAAgB;AAC/B,cAAM,YAAY,KAAK,OAAO,KAAK,IAAI,IAAI,SAAS,GAAI;AACxDC,cAAA,kBAAkB,eAAe,SAAS,SAAS,SAAS,UAAU;AACrD,yBAAA;AAAA,MAClB;AAAA,IAAA,CACA;AAEK,UAAA,WAAW,MAAM,UAAU,QAAQ,KAAK,GAAG,QAAQ,IAAI,SAAS,aAAa,QAAQ,EAAE;AACvF,UAAA,aAAaC,0BAAkB,QAAQ;AAEvC,UAAA,iBAAiB,eAAe,eACnC,WACA,SAAS,KAAK,aAAaC,UAAAA,eAAeC,UAAAA,aAAc,CAAA;AAErD,UAAAC,SAAA,SAAS,gBAAgB,UAAU;AAEzC,YAAQ,IAAI,gBAAgB;AACpB,YAAA,IAAI,iBAAiB,QAAQ,EAAE;AAAA,EACxC;AACD;;"}
1
+ {"version":3,"file":"ExportCommand.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/ExportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createWriteStream } from 'node:fs'\nimport { maskToken } from '../../lib/maskToken'\nimport { pipeline } from 'node:stream/promises'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { createGunzip, createGzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tsource?: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t/** @deprecated */\n\t'no-gzip'?: boolean\n\t'no-gzip-output'?: boolean\n\t'no-gzip-transfer'?: boolean\n\toutput?: string\n\t'exclude-table'?: string[]\n}\n\nexport class ExportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Export data from a project')\n\t\tconfiguration.argument('source').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip').valueNone().deprecated()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('no-gzip-output').valueNone()\n\t\tconfiguration.option('output').valueRequired()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst from = input.getArgument('source')\n\t\tconst project = await this.remoteProjectResolver.resolve(from)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\n\t\tconsole.log('')\n\t\tconsole.log('Exporting data from a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\n\t\tconst gzipOutput = !input.getOption('no-gzip-output') && !input.getOption('no-gzip')\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\n\t\tconst response = await this.dataTransferClient.dataExport({\n\t\t\tproject,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tincludeSystem,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\n\t\tlet transferred = 0\n\t\tlet start = Date.now()\n\t\tlet lastMbReported = 0\n\t\tconsole.log('')\n\t\tresponse.on('data', chunk => {\n\t\t\ttransferred += chunk.length\n\t\t\tconst currentMb = Math.floor(transferred / 1024 / 1024)\n\t\t\tif (currentMb > lastMbReported) {\n\t\t\t\tconst durationS = Math.floor((Date.now() - start) / 1000)\n\t\t\t\tprintProgressLine(`transferred ${currentMb} MiB; ${durationS} seconds`)\n\t\t\t\tlastMbReported = currentMb\n\t\t\t}\n\t\t})\n\n\t\tconst fileName = input.getOption('output') ?? `${project.name}.jsonl${gzipOutput ? '.gz' : ''}`\n\t\tconst fileStream = createWriteStream(fileName)\n\n\t\tconst responseStream = gzipOutput === gzipTransfer\n\t\t\t? response\n\t\t\t: response.pipe(gzipOutput ? createGzip() : createGunzip())\n\n\t\tawait pipeline(responseStream, fileStream)\n\n\t\tconsole.log('\\nExport done.')\n\t\tconsole.log(`Data saved to ${fileName}`)\n\t}\n}\n"],"names":["Command","maskToken","printProgressLine","createWriteStream","createGzip","createGunzip","pipeline"],"mappings":";;;;;;;;AAsBO,MAAM,sBAAsBA,UAAAA,QAAuB;AAAA,EACzD,YACkB,uBACA,oBAChB;AACK,UAAA;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,4BAA4B;AACxC,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACjD,kBAAc,OAAO,SAAS,EAAE,UAAA,EAAY,WAAW;AACzC,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACnC,kBAAA,OAAO,QAAQ,EAAE,cAAc;AAC/B,kBAAA,OAAO,eAAe,EAAE,WAAW;AAAA,EAAA;AAAA,EAGlD,MAAgB,QAAQ,OAAqD;AACtE,UAAA,OAAO,MAAM,YAAY,QAAQ;AACvC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,IAAI;AAC7D,QAAI,CAAC,SAAS;AACP,YAAA;AAAA,IAAA;AAGP,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,yCAAyC;AACrD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,iBAAiB,QAAQ,IAAI,EAAE;AAC3C,YAAQ,IAAI,YAAY,QAAQ,QAAQ,EAAE;AAC1C,YAAQ,IAAI,UAAUC,UAAA,UAAU,QAAQ,KAAK,CAAC,EAAE;AAE1C,UAAA,aAAa,CAAC,MAAM,UAAU,gBAAgB,KAAK,CAAC,MAAM,UAAU,SAAS;AACnF,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AAExD,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,MAAM;AAE5D,UAAM,WAAW,MAAM,KAAK,mBAAmB,WAAW;AAAA,MACzD;AAAA,MACA,eAAe,MAAM,UAAU,eAAe,KAAK,CAAC;AAAA,MACpD;AAAA,MACA,MAAM;AAAA,IAAA,CACN;AAED,QAAI,cAAc;AACd,QAAA,QAAQ,KAAK,IAAI;AACrB,QAAI,iBAAiB;AACrB,YAAQ,IAAI,EAAE;AACL,aAAA,GAAG,QAAQ,CAAS,UAAA;AAC5B,qBAAe,MAAM;AACrB,YAAM,YAAY,KAAK,MAAM,cAAc,OAAO,IAAI;AACtD,UAAI,YAAY,gBAAgB;AAC/B,cAAM,YAAY,KAAK,OAAO,KAAK,IAAI,IAAI,SAAS,GAAI;AACxDC,cAAA,kBAAkB,eAAe,SAAS,SAAS,SAAS,UAAU;AACrD,yBAAA;AAAA,MAAA;AAAA,IAClB,CACA;AAEK,UAAA,WAAW,MAAM,UAAU,QAAQ,KAAK,GAAG,QAAQ,IAAI,SAAS,aAAa,QAAQ,EAAE;AACvF,UAAA,aAAaC,0BAAkB,QAAQ;AAEvC,UAAA,iBAAiB,eAAe,eACnC,WACA,SAAS,KAAK,aAAaC,UAAAA,eAAeC,UAAAA,cAAc;AAErD,UAAAC,SAAA,SAAS,gBAAgB,UAAU;AAEzC,YAAQ,IAAI,gBAAgB;AACpB,YAAA,IAAI,iBAAiB,QAAQ,EAAE;AAAA,EAAA;AAEzC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExportCommand.js","sources":["../../../../../../packages/cli/src/commands/transfer/ExportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createWriteStream } from 'node:fs'\nimport { maskToken } from '../../lib/maskToken'\nimport { pipeline } from 'node:stream/promises'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { createGunzip, createGzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tsource?: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t/** @deprecated */\n\t'no-gzip'?: boolean\n\t'no-gzip-output'?: boolean\n\t'no-gzip-transfer'?: boolean\n\toutput?: string\n\t'exclude-table'?: string[]\n}\n\nexport class ExportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Export data from a project')\n\t\tconfiguration.argument('source').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip').valueNone().deprecated()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('no-gzip-output').valueNone()\n\t\tconfiguration.option('output').valueRequired()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst from = input.getArgument('source')\n\t\tconst project = await this.remoteProjectResolver.resolve(from)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\n\t\tconsole.log('')\n\t\tconsole.log('Exporting data from a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\n\t\tconst gzipOutput = !input.getOption('no-gzip-output') && !input.getOption('no-gzip')\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\n\t\tconst response = await this.dataTransferClient.dataExport({\n\t\t\tproject,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tincludeSystem,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\n\t\tlet transferred = 0\n\t\tlet start = Date.now()\n\t\tlet lastMbReported = 0\n\t\tconsole.log('')\n\t\tresponse.on('data', chunk => {\n\t\t\ttransferred += chunk.length\n\t\t\tconst currentMb = Math.floor(transferred / 1024 / 1024)\n\t\t\tif (currentMb > lastMbReported) {\n\t\t\t\tconst durationS = Math.floor((Date.now() - start) / 1000)\n\t\t\t\tprintProgressLine(`transferred ${currentMb} MiB; ${durationS} seconds`)\n\t\t\t\tlastMbReported = currentMb\n\t\t\t}\n\t\t})\n\n\t\tconst fileName = input.getOption('output') ?? `${project.name}.jsonl${gzipOutput ? '.gz' : ''}`\n\t\tconst fileStream = createWriteStream(fileName)\n\n\t\tconst responseStream = gzipOutput === gzipTransfer\n\t\t\t? response\n\t\t\t: response.pipe(gzipOutput ? createGzip() : createGunzip())\n\n\t\tawait pipeline(responseStream, fileStream)\n\n\t\tconsole.log('\\nExport done.')\n\t\tconsole.log(`Data saved to ${fileName}`)\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAsBO,MAAM,sBAAsB,QAAuB;AAAA,EACzD,YACkB,uBACA,oBAChB;AACK;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,4BAA4B;AACxC,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACjD,kBAAc,OAAO,SAAS,EAAE,YAAY,WAAW;AACzC,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACnC,kBAAA,OAAO,QAAQ,EAAE,cAAc;AAC/B,kBAAA,OAAO,eAAe,EAAE,WAAW;AAAA,EAClD;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AACtE,UAAA,OAAO,MAAM,YAAY,QAAQ;AACvC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,IAAI;AAC7D,QAAI,CAAC,SAAS;AACP,YAAA;AAAA,IACP;AAEA,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,yCAAyC;AACrD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,iBAAiB,QAAQ,IAAI,EAAE;AAC3C,YAAQ,IAAI,YAAY,QAAQ,QAAQ,EAAE;AAC1C,YAAQ,IAAI,UAAU,UAAU,QAAQ,KAAK,CAAC,EAAE;AAE1C,UAAA,aAAa,CAAC,MAAM,UAAU,gBAAgB,KAAK,CAAC,MAAM,UAAU,SAAS;AACnF,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AAExD,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,MAAM;AAE5D,UAAM,WAAW,MAAM,KAAK,mBAAmB,WAAW;AAAA,MACzD;AAAA,MACA,eAAe,MAAM,UAAU,eAAe,KAAK,CAAC;AAAA,MACpD;AAAA,MACA,MAAM;AAAA,IAAA,CACN;AAED,QAAI,cAAc;AACd,QAAA,QAAQ,KAAK;AACjB,QAAI,iBAAiB;AACrB,YAAQ,IAAI,EAAE;AACL,aAAA,GAAG,QAAQ,CAAS,UAAA;AAC5B,qBAAe,MAAM;AACrB,YAAM,YAAY,KAAK,MAAM,cAAc,OAAO,IAAI;AACtD,UAAI,YAAY,gBAAgB;AAC/B,cAAM,YAAY,KAAK,OAAO,KAAK,IAAI,IAAI,SAAS,GAAI;AACxD,0BAAkB,eAAe,SAAS,SAAS,SAAS,UAAU;AACrD,yBAAA;AAAA,MAClB;AAAA,IAAA,CACA;AAEK,UAAA,WAAW,MAAM,UAAU,QAAQ,KAAK,GAAG,QAAQ,IAAI,SAAS,aAAa,QAAQ,EAAE;AACvF,UAAA,aAAa,kBAAkB,QAAQ;AAEvC,UAAA,iBAAiB,eAAe,eACnC,WACA,SAAS,KAAK,aAAa,eAAe,aAAc,CAAA;AAErD,UAAA,SAAS,gBAAgB,UAAU;AAEzC,YAAQ,IAAI,gBAAgB;AACpB,YAAA,IAAI,iBAAiB,QAAQ,EAAE;AAAA,EACxC;AACD;"}
1
+ {"version":3,"file":"ExportCommand.js","sources":["../../../../../../packages/cli/src/commands/transfer/ExportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createWriteStream } from 'node:fs'\nimport { maskToken } from '../../lib/maskToken'\nimport { pipeline } from 'node:stream/promises'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { createGunzip, createGzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tsource?: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t/** @deprecated */\n\t'no-gzip'?: boolean\n\t'no-gzip-output'?: boolean\n\t'no-gzip-transfer'?: boolean\n\toutput?: string\n\t'exclude-table'?: string[]\n}\n\nexport class ExportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Export data from a project')\n\t\tconfiguration.argument('source').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip').valueNone().deprecated()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('no-gzip-output').valueNone()\n\t\tconfiguration.option('output').valueRequired()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst from = input.getArgument('source')\n\t\tconst project = await this.remoteProjectResolver.resolve(from)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\n\t\tconsole.log('')\n\t\tconsole.log('Exporting data from a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\n\t\tconst gzipOutput = !input.getOption('no-gzip-output') && !input.getOption('no-gzip')\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\n\t\tconst response = await this.dataTransferClient.dataExport({\n\t\t\tproject,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tincludeSystem,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\n\t\tlet transferred = 0\n\t\tlet start = Date.now()\n\t\tlet lastMbReported = 0\n\t\tconsole.log('')\n\t\tresponse.on('data', chunk => {\n\t\t\ttransferred += chunk.length\n\t\t\tconst currentMb = Math.floor(transferred / 1024 / 1024)\n\t\t\tif (currentMb > lastMbReported) {\n\t\t\t\tconst durationS = Math.floor((Date.now() - start) / 1000)\n\t\t\t\tprintProgressLine(`transferred ${currentMb} MiB; ${durationS} seconds`)\n\t\t\t\tlastMbReported = currentMb\n\t\t\t}\n\t\t})\n\n\t\tconst fileName = input.getOption('output') ?? `${project.name}.jsonl${gzipOutput ? '.gz' : ''}`\n\t\tconst fileStream = createWriteStream(fileName)\n\n\t\tconst responseStream = gzipOutput === gzipTransfer\n\t\t\t? response\n\t\t\t: response.pipe(gzipOutput ? createGzip() : createGunzip())\n\n\t\tawait pipeline(responseStream, fileStream)\n\n\t\tconsole.log('\\nExport done.')\n\t\tconsole.log(`Data saved to ${fileName}`)\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAsBO,MAAM,sBAAsB,QAAuB;AAAA,EACzD,YACkB,uBACA,oBAChB;AACK,UAAA;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,4BAA4B;AACxC,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACjD,kBAAc,OAAO,SAAS,EAAE,UAAA,EAAY,WAAW;AACzC,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACnC,kBAAA,OAAO,QAAQ,EAAE,cAAc;AAC/B,kBAAA,OAAO,eAAe,EAAE,WAAW;AAAA,EAAA;AAAA,EAGlD,MAAgB,QAAQ,OAAqD;AACtE,UAAA,OAAO,MAAM,YAAY,QAAQ;AACvC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,IAAI;AAC7D,QAAI,CAAC,SAAS;AACP,YAAA;AAAA,IAAA;AAGP,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,yCAAyC;AACrD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,iBAAiB,QAAQ,IAAI,EAAE;AAC3C,YAAQ,IAAI,YAAY,QAAQ,QAAQ,EAAE;AAC1C,YAAQ,IAAI,UAAU,UAAU,QAAQ,KAAK,CAAC,EAAE;AAE1C,UAAA,aAAa,CAAC,MAAM,UAAU,gBAAgB,KAAK,CAAC,MAAM,UAAU,SAAS;AACnF,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AAExD,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,MAAM;AAE5D,UAAM,WAAW,MAAM,KAAK,mBAAmB,WAAW;AAAA,MACzD;AAAA,MACA,eAAe,MAAM,UAAU,eAAe,KAAK,CAAC;AAAA,MACpD;AAAA,MACA,MAAM;AAAA,IAAA,CACN;AAED,QAAI,cAAc;AACd,QAAA,QAAQ,KAAK,IAAI;AACrB,QAAI,iBAAiB;AACrB,YAAQ,IAAI,EAAE;AACL,aAAA,GAAG,QAAQ,CAAS,UAAA;AAC5B,qBAAe,MAAM;AACrB,YAAM,YAAY,KAAK,MAAM,cAAc,OAAO,IAAI;AACtD,UAAI,YAAY,gBAAgB;AAC/B,cAAM,YAAY,KAAK,OAAO,KAAK,IAAI,IAAI,SAAS,GAAI;AACxD,0BAAkB,eAAe,SAAS,SAAS,SAAS,UAAU;AACrD,yBAAA;AAAA,MAAA;AAAA,IAClB,CACA;AAEK,UAAA,WAAW,MAAM,UAAU,QAAQ,KAAK,GAAG,QAAQ,IAAI,SAAS,aAAa,QAAQ,EAAE;AACvF,UAAA,aAAa,kBAAkB,QAAQ;AAEvC,UAAA,iBAAiB,eAAe,eACnC,WACA,SAAS,KAAK,aAAa,eAAe,cAAc;AAErD,UAAA,SAAS,gBAAgB,UAAU;AAEzC,YAAQ,IAAI,gBAAgB;AACpB,YAAA,IAAI,iBAAiB,QAAQ,EAAE;AAAA,EAAA;AAEzC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImportCommand.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/ImportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createReadStream } from 'node:fs'\nimport { createGunzip } from 'node:zlib'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tfile: string\n\ttarget?: string\n}\ntype Options = {\n\t'yes': boolean\n\t'no-gzip-transfer'?: boolean\n}\n\nexport class ImportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Import data into a project')\n\t\tconfiguration.argument('file')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst target = input.getArgument('target')\n\t\tconst project = await this.remoteProjectResolver.resolve(target)\n\t\tif (!project) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\t\tconsole.log('')\n\t\tconsole.log('Importing data into a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\t\tconst file = input.getArgument('file')\n\t\tconst baseInputStream = createReadStream(file)\n\t\tconst stream = (file.endsWith('.gz') ? baseInputStream.pipe(createGunzip()) : baseInputStream)\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst response = await this.dataTransferClient.dataImport({\n\t\t\tstream: stream,\n\t\t\tproject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\t\tconst responseData = JSON.parse((await readStream(response)).toString())\n\t\tif (responseData.ok) {\n\t\t\tconsole.log('Import done.')\n\t\t} else {\n\t\t\tconsole.error('Import failed:')\n\t\t\tconsole.log(responseData)\n\t\t}\n\t}\n}\n\n"],"names":["Command","maskToken","confirmImport","createReadStream","stream","createGunzip","printProgressLine","readStream"],"mappings":";;;;;;;;;AAmBO,MAAM,sBAAsBA,UAAAA,QAAuB;AAAA,EACzD,YACkB,uBACA,oBAChB;AACK;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,4BAA4B;AACtD,kBAAc,SAAS,MAAM;AACf,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,KAAK,EAAE,UAAU;AAAA,EACvC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AACtE,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AAC/D,QAAI,CAAC,SAAS;AACP,YAAA;AAAA,IACP;AACA,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,yCAAyC;AACrD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,iBAAiB,QAAQ,IAAI,EAAE;AAC3C,YAAQ,IAAI,YAAY,QAAQ,QAAQ,EAAE;AAC1C,YAAQ,IAAI,UAAUC,UAAAA,UAAU,QAAQ,KAAK,CAAC,EAAE;AAChD,YAAQ,IAAI,EAAE;AACd,QAAI,CAAC,MAAMC,oBAAc,KAAK,GAAG;AACzB,aAAA;AAAA,IACR;AACM,UAAA,OAAO,MAAM,YAAY,MAAM;AAC/B,UAAA,kBAAkBC,yBAAiB,IAAI;AACvC,UAAAC,WAAU,KAAK,SAAS,KAAK,IAAI,gBAAgB,KAAKC,UAAAA,cAAc,IAAI;AAC9E,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AACxD,UAAM,WAAW,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAAA,QACzDD;AAAAA,MACA;AAAA,MACA,eAAeE,MAAA;AAAA,MACf,MAAM;AAAA,IAAA,CACN;AACD,YAAQ,IAAI,EAAE;AACR,UAAA,eAAe,KAAK,OAAO,MAAMC,OAAAA,WAAW,QAAQ,GAAG,UAAU;AACvE,QAAI,aAAa,IAAI;AACpB,cAAQ,IAAI,cAAc;AAAA,IAAA,OACpB;AACN,cAAQ,MAAM,gBAAgB;AAC9B,cAAQ,IAAI,YAAY;AAAA,IACzB;AAAA,EACD;AACD;;"}
1
+ {"version":3,"file":"ImportCommand.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/ImportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createReadStream } from 'node:fs'\nimport { createGunzip } from 'node:zlib'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tfile: string\n\ttarget?: string\n}\ntype Options = {\n\t'yes': boolean\n\t'no-gzip-transfer'?: boolean\n}\n\nexport class ImportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Import data into a project')\n\t\tconfiguration.argument('file')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst target = input.getArgument('target')\n\t\tconst project = await this.remoteProjectResolver.resolve(target)\n\t\tif (!project) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\t\tconsole.log('')\n\t\tconsole.log('Importing data into a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\t\tconst file = input.getArgument('file')\n\t\tconst baseInputStream = createReadStream(file)\n\t\tconst stream = (file.endsWith('.gz') ? baseInputStream.pipe(createGunzip()) : baseInputStream)\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst response = await this.dataTransferClient.dataImport({\n\t\t\tstream: stream,\n\t\t\tproject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\t\tconst responseData = JSON.parse((await readStream(response)).toString())\n\t\tif (responseData.ok) {\n\t\t\tconsole.log('Import done.')\n\t\t} else {\n\t\t\tconsole.error('Import failed:')\n\t\t\tconsole.log(responseData)\n\t\t}\n\t}\n}\n\n"],"names":["Command","maskToken","confirmImport","createReadStream","stream","createGunzip","printProgressLine","readStream"],"mappings":";;;;;;;;;AAmBO,MAAM,sBAAsBA,UAAAA,QAAuB;AAAA,EACzD,YACkB,uBACA,oBAChB;AACK,UAAA;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,4BAA4B;AACtD,kBAAc,SAAS,MAAM;AACf,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,KAAK,EAAE,UAAU;AAAA,EAAA;AAAA,EAGvC,MAAgB,QAAQ,OAAqD;AACtE,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AAC/D,QAAI,CAAC,SAAS;AACP,YAAA;AAAA,IAAA;AAEP,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,yCAAyC;AACrD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,iBAAiB,QAAQ,IAAI,EAAE;AAC3C,YAAQ,IAAI,YAAY,QAAQ,QAAQ,EAAE;AAC1C,YAAQ,IAAI,UAAUC,UAAA,UAAU,QAAQ,KAAK,CAAC,EAAE;AAChD,YAAQ,IAAI,EAAE;AACd,QAAI,CAAC,MAAMC,oBAAc,KAAK,GAAG;AACzB,aAAA;AAAA,IAAA;AAEF,UAAA,OAAO,MAAM,YAAY,MAAM;AAC/B,UAAA,kBAAkBC,yBAAiB,IAAI;AACvC,UAAAC,WAAU,KAAK,SAAS,KAAK,IAAI,gBAAgB,KAAKC,uBAAc,CAAA,IAAI;AAC9E,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AACxD,UAAM,WAAW,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAAA,QACzDD;AAAAA,MACA;AAAA,MACA,eAAeE,MAAA;AAAA,MACf,MAAM;AAAA,IAAA,CACN;AACD,YAAQ,IAAI,EAAE;AACR,UAAA,eAAe,KAAK,OAAO,MAAMC,OAAAA,WAAW,QAAQ,GAAG,UAAU;AACvE,QAAI,aAAa,IAAI;AACpB,cAAQ,IAAI,cAAc;AAAA,IAAA,OACpB;AACN,cAAQ,MAAM,gBAAgB;AAC9B,cAAQ,IAAI,YAAY;AAAA,IAAA;AAAA,EACzB;AAEF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImportCommand.js","sources":["../../../../../../packages/cli/src/commands/transfer/ImportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createReadStream } from 'node:fs'\nimport { createGunzip } from 'node:zlib'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tfile: string\n\ttarget?: string\n}\ntype Options = {\n\t'yes': boolean\n\t'no-gzip-transfer'?: boolean\n}\n\nexport class ImportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Import data into a project')\n\t\tconfiguration.argument('file')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst target = input.getArgument('target')\n\t\tconst project = await this.remoteProjectResolver.resolve(target)\n\t\tif (!project) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\t\tconsole.log('')\n\t\tconsole.log('Importing data into a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\t\tconst file = input.getArgument('file')\n\t\tconst baseInputStream = createReadStream(file)\n\t\tconst stream = (file.endsWith('.gz') ? baseInputStream.pipe(createGunzip()) : baseInputStream)\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst response = await this.dataTransferClient.dataImport({\n\t\t\tstream: stream,\n\t\t\tproject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\t\tconst responseData = JSON.parse((await readStream(response)).toString())\n\t\tif (responseData.ok) {\n\t\t\tconsole.log('Import done.')\n\t\t} else {\n\t\t\tconsole.error('Import failed:')\n\t\t\tconsole.log(responseData)\n\t\t}\n\t}\n}\n\n"],"names":[],"mappings":";;;;;;;AAmBO,MAAM,sBAAsB,QAAuB;AAAA,EACzD,YACkB,uBACA,oBAChB;AACK;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,4BAA4B;AACtD,kBAAc,SAAS,MAAM;AACf,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,KAAK,EAAE,UAAU;AAAA,EACvC;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AACtE,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AAC/D,QAAI,CAAC,SAAS;AACP,YAAA;AAAA,IACP;AACA,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,yCAAyC;AACrD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,iBAAiB,QAAQ,IAAI,EAAE;AAC3C,YAAQ,IAAI,YAAY,QAAQ,QAAQ,EAAE;AAC1C,YAAQ,IAAI,UAAU,UAAU,QAAQ,KAAK,CAAC,EAAE;AAChD,YAAQ,IAAI,EAAE;AACd,QAAI,CAAC,MAAM,cAAc,KAAK,GAAG;AACzB,aAAA;AAAA,IACR;AACM,UAAA,OAAO,MAAM,YAAY,MAAM;AAC/B,UAAA,kBAAkB,iBAAiB,IAAI;AACvC,UAAA,SAAU,KAAK,SAAS,KAAK,IAAI,gBAAgB,KAAK,cAAc,IAAI;AAC9E,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AACxD,UAAM,WAAW,MAAM,KAAK,mBAAmB,WAAW;AAAA,MACzD;AAAA,MACA;AAAA,MACA,eAAe;AAAA,MACf,MAAM;AAAA,IAAA,CACN;AACD,YAAQ,IAAI,EAAE;AACR,UAAA,eAAe,KAAK,OAAO,MAAM,WAAW,QAAQ,GAAG,UAAU;AACvE,QAAI,aAAa,IAAI;AACpB,cAAQ,IAAI,cAAc;AAAA,IAAA,OACpB;AACN,cAAQ,MAAM,gBAAgB;AAC9B,cAAQ,IAAI,YAAY;AAAA,IACzB;AAAA,EACD;AACD;"}
1
+ {"version":3,"file":"ImportCommand.js","sources":["../../../../../../packages/cli/src/commands/transfer/ImportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createReadStream } from 'node:fs'\nimport { createGunzip } from 'node:zlib'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tfile: string\n\ttarget?: string\n}\ntype Options = {\n\t'yes': boolean\n\t'no-gzip-transfer'?: boolean\n}\n\nexport class ImportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Import data into a project')\n\t\tconfiguration.argument('file')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst target = input.getArgument('target')\n\t\tconst project = await this.remoteProjectResolver.resolve(target)\n\t\tif (!project) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\t\tconsole.log('')\n\t\tconsole.log('Importing data into a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\t\tconst file = input.getArgument('file')\n\t\tconst baseInputStream = createReadStream(file)\n\t\tconst stream = (file.endsWith('.gz') ? baseInputStream.pipe(createGunzip()) : baseInputStream)\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst response = await this.dataTransferClient.dataImport({\n\t\t\tstream: stream,\n\t\t\tproject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\t\tconst responseData = JSON.parse((await readStream(response)).toString())\n\t\tif (responseData.ok) {\n\t\t\tconsole.log('Import done.')\n\t\t} else {\n\t\t\tconsole.error('Import failed:')\n\t\t\tconsole.log(responseData)\n\t\t}\n\t}\n}\n\n"],"names":[],"mappings":";;;;;;;AAmBO,MAAM,sBAAsB,QAAuB;AAAA,EACzD,YACkB,uBACA,oBAChB;AACK,UAAA;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,4BAA4B;AACtD,kBAAc,SAAS,MAAM;AACf,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,KAAK,EAAE,UAAU;AAAA,EAAA;AAAA,EAGvC,MAAgB,QAAQ,OAAqD;AACtE,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AAC/D,QAAI,CAAC,SAAS;AACP,YAAA;AAAA,IAAA;AAEP,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,yCAAyC;AACrD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,iBAAiB,QAAQ,IAAI,EAAE;AAC3C,YAAQ,IAAI,YAAY,QAAQ,QAAQ,EAAE;AAC1C,YAAQ,IAAI,UAAU,UAAU,QAAQ,KAAK,CAAC,EAAE;AAChD,YAAQ,IAAI,EAAE;AACd,QAAI,CAAC,MAAM,cAAc,KAAK,GAAG;AACzB,aAAA;AAAA,IAAA;AAEF,UAAA,OAAO,MAAM,YAAY,MAAM;AAC/B,UAAA,kBAAkB,iBAAiB,IAAI;AACvC,UAAA,SAAU,KAAK,SAAS,KAAK,IAAI,gBAAgB,KAAK,aAAc,CAAA,IAAI;AAC9E,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AACxD,UAAM,WAAW,MAAM,KAAK,mBAAmB,WAAW;AAAA,MACzD;AAAA,MACA;AAAA,MACA,eAAe;AAAA,MACf,MAAM;AAAA,IAAA,CACN;AACD,YAAQ,IAAI,EAAE;AACR,UAAA,eAAe,KAAK,OAAO,MAAM,WAAW,QAAQ,GAAG,UAAU;AACvE,QAAI,aAAa,IAAI;AACpB,cAAQ,IAAI,cAAc;AAAA,IAAA,OACpB;AACN,cAAQ,MAAM,gBAAgB;AAC9B,cAAQ,IAAI,YAAY;AAAA,IAAA;AAAA,EACzB;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TransferCommand.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/TransferCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { createGunzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tsource: string\n\ttarget: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t'no-gzip-transfer'?: boolean\n\tyes: boolean\n\t'exclude-table'?: string[]\n}\n\nexport class TransferCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Transfer data between projects')\n\t\tconfiguration.argument('source')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst source = input.getArgument('source')\n\t\tconst sourceProject = await this.remoteProjectResolver.resolve(source)\n\t\tif (!sourceProject) {\n\t\t\tthrow `Source project not defined`\n\t\t}\n\n\t\tconst target = input.getArgument('target')\n\t\tconst targetProject = await this.remoteProjectResolver.resolve(target)\n\t\tif (!targetProject) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\n\n\t\tconsole.log('')\n\t\tconsole.log('Transferring data between projects:')\n\t\tconsole.log('')\n\t\tconsole.log(`Source project name: ${sourceProject.name}`)\n\t\tconsole.log(`Source API URL: ${sourceProject.endpoint}`)\n\t\tconsole.log(`Source token: ${maskToken(sourceProject.token)}`)\n\t\tconsole.log('')\n\t\tconsole.log(`Target project name: ${targetProject.name}`)\n\t\tconsole.log(`Target API URL: ${targetProject.endpoint}`)\n\t\tconsole.log(`Target token: ${maskToken(targetProject.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst exportResponse = (await this.dataTransferClient.dataExport({\n\t\t\tproject: sourceProject,\n\t\t\tincludeSystem,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tgzip: gzipTransfer,\n\t\t}))\n\t\tconst ungzipedResponse = gzipTransfer ? exportResponse.pipe(createGunzip()) : exportResponse\n\t\tconst importResponse = await this.dataTransferClient.dataImport({\n\t\t\tstream: ungzipedResponse,\n\t\t\tproject: targetProject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\n\t\tconst responseData = JSON.parse((await readStream(importResponse)).toString())\n\t\tif (responseData.ok) {\n\t\t\tconsole.log('Transfer done.')\n\t\t} else {\n\t\t\tconsole.error('Transfer failed:')\n\t\t\tconsole.log(responseData)\n\t\t}\n\t}\n}\n"],"names":["Command","maskToken","confirmImport","createGunzip","printProgressLine","readStream"],"mappings":";;;;;;;;AAoBO,MAAM,wBAAwBA,UAAAA,QAAuB;AAAA,EAC3D,YACkB,uBACA,oBAChB;AACK;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,gCAAgC;AAC1D,kBAAc,SAAS,QAAQ;AACjB,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACnC,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,KAAK,EAAE,UAAU;AACxB,kBAAA,OAAO,eAAe,EAAE,WAAW;AAAA,EAClD;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AACtE,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,gBAAgB,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AACrE,QAAI,CAAC,eAAe;AACb,YAAA;AAAA,IACP;AAEM,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,gBAAgB,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AACrE,QAAI,CAAC,eAAe;AACb,YAAA;AAAA,IACP;AAGA,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,qCAAqC;AACjD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,mBAAmB,cAAc,QAAQ,EAAE;AACvD,YAAQ,IAAI,iBAAiBC,UAAAA,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,mBAAmB,cAAc,QAAQ,EAAE;AACvD,YAAQ,IAAI,iBAAiBA,UAAAA,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AACd,QAAI,CAAC,MAAMC,oBAAc,KAAK,GAAG;AACzB,aAAA;AAAA,IACR;AAEA,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,MAAM;AAC5D,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AACxD,UAAM,iBAAkB,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAChE,SAAS;AAAA,MACT;AAAA,MACA,eAAe,MAAM,UAAU,eAAe,KAAK,CAAC;AAAA,MACpD,MAAM;AAAA,IAAA,CACN;AACD,UAAM,mBAAmB,eAAe,eAAe,KAAKC,UAAA,aAAA,CAAc,IAAI;AAC9E,UAAM,iBAAiB,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAC/D,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,eAAeC,MAAA;AAAA,MACf,MAAM;AAAA,IAAA,CACN;AACD,YAAQ,IAAI,EAAE;AAER,UAAA,eAAe,KAAK,OAAO,MAAMC,OAAAA,WAAW,cAAc,GAAG,UAAU;AAC7E,QAAI,aAAa,IAAI;AACpB,cAAQ,IAAI,gBAAgB;AAAA,IAAA,OACtB;AACN,cAAQ,MAAM,kBAAkB;AAChC,cAAQ,IAAI,YAAY;AAAA,IACzB;AAAA,EACD;AACD;;"}
1
+ {"version":3,"file":"TransferCommand.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/TransferCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { createGunzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tsource: string\n\ttarget: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t'no-gzip-transfer'?: boolean\n\tyes: boolean\n\t'exclude-table'?: string[]\n}\n\nexport class TransferCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Transfer data between projects')\n\t\tconfiguration.argument('source')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst source = input.getArgument('source')\n\t\tconst sourceProject = await this.remoteProjectResolver.resolve(source)\n\t\tif (!sourceProject) {\n\t\t\tthrow `Source project not defined`\n\t\t}\n\n\t\tconst target = input.getArgument('target')\n\t\tconst targetProject = await this.remoteProjectResolver.resolve(target)\n\t\tif (!targetProject) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\n\n\t\tconsole.log('')\n\t\tconsole.log('Transferring data between projects:')\n\t\tconsole.log('')\n\t\tconsole.log(`Source project name: ${sourceProject.name}`)\n\t\tconsole.log(`Source API URL: ${sourceProject.endpoint}`)\n\t\tconsole.log(`Source token: ${maskToken(sourceProject.token)}`)\n\t\tconsole.log('')\n\t\tconsole.log(`Target project name: ${targetProject.name}`)\n\t\tconsole.log(`Target API URL: ${targetProject.endpoint}`)\n\t\tconsole.log(`Target token: ${maskToken(targetProject.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst exportResponse = (await this.dataTransferClient.dataExport({\n\t\t\tproject: sourceProject,\n\t\t\tincludeSystem,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tgzip: gzipTransfer,\n\t\t}))\n\t\tconst ungzipedResponse = gzipTransfer ? exportResponse.pipe(createGunzip()) : exportResponse\n\t\tconst importResponse = await this.dataTransferClient.dataImport({\n\t\t\tstream: ungzipedResponse,\n\t\t\tproject: targetProject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\n\t\tconst responseData = JSON.parse((await readStream(importResponse)).toString())\n\t\tif (responseData.ok) {\n\t\t\tconsole.log('Transfer done.')\n\t\t} else {\n\t\t\tconsole.error('Transfer failed:')\n\t\t\tconsole.log(responseData)\n\t\t}\n\t}\n}\n"],"names":["Command","maskToken","confirmImport","createGunzip","printProgressLine","readStream"],"mappings":";;;;;;;;AAoBO,MAAM,wBAAwBA,UAAAA,QAAuB;AAAA,EAC3D,YACkB,uBACA,oBAChB;AACK,UAAA;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,gCAAgC;AAC1D,kBAAc,SAAS,QAAQ;AACjB,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACnC,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,KAAK,EAAE,UAAU;AACxB,kBAAA,OAAO,eAAe,EAAE,WAAW;AAAA,EAAA;AAAA,EAGlD,MAAgB,QAAQ,OAAqD;AACtE,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,gBAAgB,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AACrE,QAAI,CAAC,eAAe;AACb,YAAA;AAAA,IAAA;AAGD,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,gBAAgB,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AACrE,QAAI,CAAC,eAAe;AACb,YAAA;AAAA,IAAA;AAIP,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,qCAAqC;AACjD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,mBAAmB,cAAc,QAAQ,EAAE;AACvD,YAAQ,IAAI,iBAAiBC,UAAA,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,mBAAmB,cAAc,QAAQ,EAAE;AACvD,YAAQ,IAAI,iBAAiBA,UAAA,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AACd,QAAI,CAAC,MAAMC,oBAAc,KAAK,GAAG;AACzB,aAAA;AAAA,IAAA;AAGR,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,MAAM;AAC5D,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AACxD,UAAM,iBAAkB,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAChE,SAAS;AAAA,MACT;AAAA,MACA,eAAe,MAAM,UAAU,eAAe,KAAK,CAAC;AAAA,MACpD,MAAM;AAAA,IAAA,CACN;AACD,UAAM,mBAAmB,eAAe,eAAe,KAAKC,UAAAA,aAAc,CAAA,IAAI;AAC9E,UAAM,iBAAiB,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAC/D,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,eAAeC,MAAA;AAAA,MACf,MAAM;AAAA,IAAA,CACN;AACD,YAAQ,IAAI,EAAE;AAER,UAAA,eAAe,KAAK,OAAO,MAAMC,OAAAA,WAAW,cAAc,GAAG,UAAU;AAC7E,QAAI,aAAa,IAAI;AACpB,cAAQ,IAAI,gBAAgB;AAAA,IAAA,OACtB;AACN,cAAQ,MAAM,kBAAkB;AAChC,cAAQ,IAAI,YAAY;AAAA,IAAA;AAAA,EACzB;AAEF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TransferCommand.js","sources":["../../../../../../packages/cli/src/commands/transfer/TransferCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { createGunzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tsource: string\n\ttarget: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t'no-gzip-transfer'?: boolean\n\tyes: boolean\n\t'exclude-table'?: string[]\n}\n\nexport class TransferCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Transfer data between projects')\n\t\tconfiguration.argument('source')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst source = input.getArgument('source')\n\t\tconst sourceProject = await this.remoteProjectResolver.resolve(source)\n\t\tif (!sourceProject) {\n\t\t\tthrow `Source project not defined`\n\t\t}\n\n\t\tconst target = input.getArgument('target')\n\t\tconst targetProject = await this.remoteProjectResolver.resolve(target)\n\t\tif (!targetProject) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\n\n\t\tconsole.log('')\n\t\tconsole.log('Transferring data between projects:')\n\t\tconsole.log('')\n\t\tconsole.log(`Source project name: ${sourceProject.name}`)\n\t\tconsole.log(`Source API URL: ${sourceProject.endpoint}`)\n\t\tconsole.log(`Source token: ${maskToken(sourceProject.token)}`)\n\t\tconsole.log('')\n\t\tconsole.log(`Target project name: ${targetProject.name}`)\n\t\tconsole.log(`Target API URL: ${targetProject.endpoint}`)\n\t\tconsole.log(`Target token: ${maskToken(targetProject.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst exportResponse = (await this.dataTransferClient.dataExport({\n\t\t\tproject: sourceProject,\n\t\t\tincludeSystem,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tgzip: gzipTransfer,\n\t\t}))\n\t\tconst ungzipedResponse = gzipTransfer ? exportResponse.pipe(createGunzip()) : exportResponse\n\t\tconst importResponse = await this.dataTransferClient.dataImport({\n\t\t\tstream: ungzipedResponse,\n\t\t\tproject: targetProject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\n\t\tconst responseData = JSON.parse((await readStream(importResponse)).toString())\n\t\tif (responseData.ok) {\n\t\t\tconsole.log('Transfer done.')\n\t\t} else {\n\t\t\tconsole.error('Transfer failed:')\n\t\t\tconsole.log(responseData)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAoBO,MAAM,wBAAwB,QAAuB;AAAA,EAC3D,YACkB,uBACA,oBAChB;AACK;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,gCAAgC;AAC1D,kBAAc,SAAS,QAAQ;AACjB,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACnC,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,KAAK,EAAE,UAAU;AACxB,kBAAA,OAAO,eAAe,EAAE,WAAW;AAAA,EAClD;AAAA,EAEA,MAAgB,QAAQ,OAAqD;AACtE,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,gBAAgB,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AACrE,QAAI,CAAC,eAAe;AACb,YAAA;AAAA,IACP;AAEM,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,gBAAgB,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AACrE,QAAI,CAAC,eAAe;AACb,YAAA;AAAA,IACP;AAGA,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,qCAAqC;AACjD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,mBAAmB,cAAc,QAAQ,EAAE;AACvD,YAAQ,IAAI,iBAAiB,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,mBAAmB,cAAc,QAAQ,EAAE;AACvD,YAAQ,IAAI,iBAAiB,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AACd,QAAI,CAAC,MAAM,cAAc,KAAK,GAAG;AACzB,aAAA;AAAA,IACR;AAEA,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,MAAM;AAC5D,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AACxD,UAAM,iBAAkB,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAChE,SAAS;AAAA,MACT;AAAA,MACA,eAAe,MAAM,UAAU,eAAe,KAAK,CAAC;AAAA,MACpD,MAAM;AAAA,IAAA,CACN;AACD,UAAM,mBAAmB,eAAe,eAAe,KAAK,aAAA,CAAc,IAAI;AAC9E,UAAM,iBAAiB,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAC/D,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,eAAe;AAAA,MACf,MAAM;AAAA,IAAA,CACN;AACD,YAAQ,IAAI,EAAE;AAER,UAAA,eAAe,KAAK,OAAO,MAAM,WAAW,cAAc,GAAG,UAAU;AAC7E,QAAI,aAAa,IAAI;AACpB,cAAQ,IAAI,gBAAgB;AAAA,IAAA,OACtB;AACN,cAAQ,MAAM,kBAAkB;AAChC,cAAQ,IAAI,YAAY;AAAA,IACzB;AAAA,EACD;AACD;"}
1
+ {"version":3,"file":"TransferCommand.js","sources":["../../../../../../packages/cli/src/commands/transfer/TransferCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { createGunzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tsource: string\n\ttarget: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t'no-gzip-transfer'?: boolean\n\tyes: boolean\n\t'exclude-table'?: string[]\n}\n\nexport class TransferCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Transfer data between projects')\n\t\tconfiguration.argument('source')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst source = input.getArgument('source')\n\t\tconst sourceProject = await this.remoteProjectResolver.resolve(source)\n\t\tif (!sourceProject) {\n\t\t\tthrow `Source project not defined`\n\t\t}\n\n\t\tconst target = input.getArgument('target')\n\t\tconst targetProject = await this.remoteProjectResolver.resolve(target)\n\t\tif (!targetProject) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\n\n\t\tconsole.log('')\n\t\tconsole.log('Transferring data between projects:')\n\t\tconsole.log('')\n\t\tconsole.log(`Source project name: ${sourceProject.name}`)\n\t\tconsole.log(`Source API URL: ${sourceProject.endpoint}`)\n\t\tconsole.log(`Source token: ${maskToken(sourceProject.token)}`)\n\t\tconsole.log('')\n\t\tconsole.log(`Target project name: ${targetProject.name}`)\n\t\tconsole.log(`Target API URL: ${targetProject.endpoint}`)\n\t\tconsole.log(`Target token: ${maskToken(targetProject.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst exportResponse = (await this.dataTransferClient.dataExport({\n\t\t\tproject: sourceProject,\n\t\t\tincludeSystem,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tgzip: gzipTransfer,\n\t\t}))\n\t\tconst ungzipedResponse = gzipTransfer ? exportResponse.pipe(createGunzip()) : exportResponse\n\t\tconst importResponse = await this.dataTransferClient.dataImport({\n\t\t\tstream: ungzipedResponse,\n\t\t\tproject: targetProject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\n\t\tconst responseData = JSON.parse((await readStream(importResponse)).toString())\n\t\tif (responseData.ok) {\n\t\t\tconsole.log('Transfer done.')\n\t\t} else {\n\t\t\tconsole.error('Transfer failed:')\n\t\t\tconsole.log(responseData)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAoBO,MAAM,wBAAwB,QAAuB;AAAA,EAC3D,YACkB,uBACA,oBAChB;AACK,UAAA;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,gCAAgC;AAC1D,kBAAc,SAAS,QAAQ;AACjB,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACnC,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,KAAK,EAAE,UAAU;AACxB,kBAAA,OAAO,eAAe,EAAE,WAAW;AAAA,EAAA;AAAA,EAGlD,MAAgB,QAAQ,OAAqD;AACtE,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,gBAAgB,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AACrE,QAAI,CAAC,eAAe;AACb,YAAA;AAAA,IAAA;AAGD,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,gBAAgB,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AACrE,QAAI,CAAC,eAAe;AACb,YAAA;AAAA,IAAA;AAIP,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,qCAAqC;AACjD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,mBAAmB,cAAc,QAAQ,EAAE;AACvD,YAAQ,IAAI,iBAAiB,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,mBAAmB,cAAc,QAAQ,EAAE;AACvD,YAAQ,IAAI,iBAAiB,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AACd,QAAI,CAAC,MAAM,cAAc,KAAK,GAAG;AACzB,aAAA;AAAA,IAAA;AAGR,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,MAAM;AAC5D,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AACxD,UAAM,iBAAkB,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAChE,SAAS;AAAA,MACT;AAAA,MACA,eAAe,MAAM,UAAU,eAAe,KAAK,CAAC;AAAA,MACpD,MAAM;AAAA,IAAA,CACN;AACD,UAAM,mBAAmB,eAAe,eAAe,KAAK,aAAc,CAAA,IAAI;AAC9E,UAAM,iBAAiB,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAC/D,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,eAAe;AAAA,MACf,MAAM;AAAA,IAAA,CACN;AACD,YAAQ,IAAI,EAAE;AAER,UAAA,eAAe,KAAK,OAAO,MAAM,WAAW,cAAc,GAAG,UAAU;AAC7E,QAAI,aAAa,IAAI;AACpB,cAAQ,IAAI,gBAAgB;AAAA,IAAA,OACtB;AACN,cAAQ,MAAM,kBAAkB;AAChC,cAAQ,IAAI,YAAY;AAAA,IAAA;AAAA,EACzB;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/utils.ts"],"sourcesContent":["import { Input } from '@contember/cli-common'\nimport prompts from 'prompts'\n\n\nexport const confirmImport = async (input: Input<{}, { yes: boolean }>): Promise<boolean> => {\n\tif (input.getOption('yes')) {\n\t\treturn true\n\t}\n\tif (!process.stdin.isTTY) {\n\t\tthrow 'TTY not available. Pass --yes option to confirm execution.'\n\t}\n\tconsole.log('This will completely wipe the target project.')\n\tconsole.log('(to skip this dialog, you can pass --yes option)')\n\tconsole.log('')\n\tconst { ok } = await prompts({\n\t\ttype: 'confirm',\n\t\tname: 'ok',\n\t\tmessage: `Do you want to continue?`,\n\t})\n\treturn ok\n}\n"],"names":[],"mappings":";;;AAIa,MAAA,gBAAgB,OAAO,UAAyD;AACxF,MAAA,MAAM,UAAU,KAAK,GAAG;AACpB,WAAA;AAAA,EACR;AACI,MAAA,CAAC,QAAQ,MAAM,OAAO;AACnB,UAAA;AAAA,EACP;AACA,UAAQ,IAAI,+CAA+C;AAC3D,UAAQ,IAAI,kDAAkD;AAC9D,UAAQ,IAAI,EAAE;AACd,QAAM,EAAE,OAAO,MAAM,QAAQ;AAAA,IAC5B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EAAA,CACT;AACM,SAAA;AACR;;"}
1
+ {"version":3,"file":"utils.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/utils.ts"],"sourcesContent":["import { Input } from '@contember/cli-common'\nimport prompts from 'prompts'\n\n\nexport const confirmImport = async (input: Input<{}, { yes: boolean }>): Promise<boolean> => {\n\tif (input.getOption('yes')) {\n\t\treturn true\n\t}\n\tif (!process.stdin.isTTY) {\n\t\tthrow 'TTY not available. Pass --yes option to confirm execution.'\n\t}\n\tconsole.log('This will completely wipe the target project.')\n\tconsole.log('(to skip this dialog, you can pass --yes option)')\n\tconsole.log('')\n\tconst { ok } = await prompts({\n\t\ttype: 'confirm',\n\t\tname: 'ok',\n\t\tmessage: `Do you want to continue?`,\n\t})\n\treturn ok\n}\n"],"names":[],"mappings":";;;AAIa,MAAA,gBAAgB,OAAO,UAAyD;AACxF,MAAA,MAAM,UAAU,KAAK,GAAG;AACpB,WAAA;AAAA,EAAA;AAEJ,MAAA,CAAC,QAAQ,MAAM,OAAO;AACnB,UAAA;AAAA,EAAA;AAEP,UAAQ,IAAI,+CAA+C;AAC3D,UAAQ,IAAI,kDAAkD;AAC9D,UAAQ,IAAI,EAAE;AACd,QAAM,EAAE,OAAO,MAAM,QAAQ;AAAA,IAC5B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EAAA,CACT;AACM,SAAA;AACR;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../packages/cli/src/commands/transfer/utils.ts"],"sourcesContent":["import { Input } from '@contember/cli-common'\nimport prompts from 'prompts'\n\n\nexport const confirmImport = async (input: Input<{}, { yes: boolean }>): Promise<boolean> => {\n\tif (input.getOption('yes')) {\n\t\treturn true\n\t}\n\tif (!process.stdin.isTTY) {\n\t\tthrow 'TTY not available. Pass --yes option to confirm execution.'\n\t}\n\tconsole.log('This will completely wipe the target project.')\n\tconsole.log('(to skip this dialog, you can pass --yes option)')\n\tconsole.log('')\n\tconst { ok } = await prompts({\n\t\ttype: 'confirm',\n\t\tname: 'ok',\n\t\tmessage: `Do you want to continue?`,\n\t})\n\treturn ok\n}\n"],"names":[],"mappings":";AAIa,MAAA,gBAAgB,OAAO,UAAyD;AACxF,MAAA,MAAM,UAAU,KAAK,GAAG;AACpB,WAAA;AAAA,EACR;AACI,MAAA,CAAC,QAAQ,MAAM,OAAO;AACnB,UAAA;AAAA,EACP;AACA,UAAQ,IAAI,+CAA+C;AAC3D,UAAQ,IAAI,kDAAkD;AAC9D,UAAQ,IAAI,EAAE;AACd,QAAM,EAAE,OAAO,MAAM,QAAQ;AAAA,IAC5B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EAAA,CACT;AACM,SAAA;AACR;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../packages/cli/src/commands/transfer/utils.ts"],"sourcesContent":["import { Input } from '@contember/cli-common'\nimport prompts from 'prompts'\n\n\nexport const confirmImport = async (input: Input<{}, { yes: boolean }>): Promise<boolean> => {\n\tif (input.getOption('yes')) {\n\t\treturn true\n\t}\n\tif (!process.stdin.isTTY) {\n\t\tthrow 'TTY not available. Pass --yes option to confirm execution.'\n\t}\n\tconsole.log('This will completely wipe the target project.')\n\tconsole.log('(to skip this dialog, you can pass --yes option)')\n\tconsole.log('')\n\tconst { ok } = await prompts({\n\t\ttype: 'confirm',\n\t\tname: 'ok',\n\t\tmessage: `Do you want to continue?`,\n\t})\n\treturn ok\n}\n"],"names":[],"mappings":";AAIa,MAAA,gBAAgB,OAAO,UAAyD;AACxF,MAAA,MAAM,UAAU,KAAK,GAAG;AACpB,WAAA;AAAA,EAAA;AAEJ,MAAA,CAAC,QAAQ,MAAM,OAAO;AACnB,UAAA;AAAA,EAAA;AAEP,UAAQ,IAAI,+CAA+C;AAC3D,UAAQ,IAAI,kDAAkD;AAC9D,UAAQ,IAAI,EAAE;AACd,QAAM,EAAE,OAAO,MAAM,QAAQ;AAAA,IAC5B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EAAA,CACT;AACM,SAAA;AACR;"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceUpdateApiCommand.cjs","sources":["../../../../../../packages/cli/src/commands/workspace/WorkspaceUpdateApiCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input, PackageWorkspaceResolver } from '@contember/cli-common'\nimport { DockerComposeManager } from '../../lib/fs/DockerComposeManager'\nimport { contemberDockerImages } from '../../consts'\n\ntype Args = {\n\tversion: string\n}\n\ntype Options = {}\n\nexport class WorkspaceUpdateApiCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly packageWorkspaceResolver: PackageWorkspaceResolver,\n\t\tprivate readonly dockerComposeManager: DockerComposeManager,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Updates Contember API version and all related packages')\n\t\tconfiguration.argument('version')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void> {\n\t\tconst version = input.getArgument('version')\n\t\tconst packageWorkspace = await this.packageWorkspaceResolver.resolve()\n\n\t\tawait packageWorkspace.updateEverywhere({\n\t\t\t'@contember/schema': version,\n\t\t\t'@contember/schema-definition': version,\n\t\t\t'@contember/cli': version,\n\t\t})\n\n\t\tconsole.log('Updating docker-compose')\n\t\tconst getNewImage = (currentImage: string): string | null => {\n\t\t\tfor (const candidate of contemberDockerImages) {\n\t\t\t\tif (currentImage.startsWith(`${candidate}:`)) {\n\t\t\t\t\treturn `${candidate.replace(/-ee$/, '')}:${version}`\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t}\n\t\tawait this.dockerComposeManager.updateMainDockerComposeConfig(data => ({\n\t\t\t...data,\n\t\t\tservices: Object.fromEntries(Object.entries(data?.services ?? {}).map(([name, service]: [string, any]) => {\n\t\t\t\tconst newImage = getNewImage(service.image)\n\t\t\t\tif (newImage) {\n\t\t\t\t\tconsole.log(`docker-compose service ${name} updated`)\n\t\t\t\t\treturn [\n\t\t\t\t\t\tname,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...service,\n\t\t\t\t\t\t\timage: newImage,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\treturn [name, service]\n\t\t\t})),\n\t\t}))\n\t\tconsole.log('API versions updated')\n\t\tconsole.log('Restart server to apply changes')\n\t}\n}\n"],"names":["Command","contemberDockerImages"],"mappings":";;;;AAUO,MAAM,kCAAkCA,UAAAA,QAAuB;AAAA,EACrE,YACkB,0BACA,sBAChB;AACK;AAHW,SAAA,2BAAA;AACA,SAAA,uBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,wDAAwD;AAClF,kBAAc,SAAS,SAAS;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAA4C;AAC7D,UAAA,UAAU,MAAM,YAAY,SAAS;AAC3C,UAAM,mBAAmB,MAAM,KAAK,yBAAyB,QAAQ;AAErE,UAAM,iBAAiB,iBAAiB;AAAA,MACvC,qBAAqB;AAAA,MACrB,gCAAgC;AAAA,MAChC,kBAAkB;AAAA,IAAA,CAClB;AAED,YAAQ,IAAI,yBAAyB;AAC/B,UAAA,cAAc,CAAC,iBAAwC;AAC5D,iBAAW,aAAaC,8BAAuB;AAC9C,YAAI,aAAa,WAAW,GAAG,SAAS,GAAG,GAAG;AAC7C,iBAAO,GAAG,UAAU,QAAQ,QAAQ,EAAE,CAAC,IAAI,OAAO;AAAA,QACnD;AAAA,MACD;AACO,aAAA;AAAA,IAAA;AAEF,UAAA,KAAK,qBAAqB,8BAA8B,CAAS,UAAA;AAAA,MACtE,GAAG;AAAA,MACH,UAAU,OAAO,YAAY,OAAO,QAAQ,MAAM,YAAY,CAAA,CAAE,EAAE,IAAI,CAAC,CAAC,MAAM,OAAO,MAAqB;AACnG,cAAA,WAAW,YAAY,QAAQ,KAAK;AAC1C,YAAI,UAAU;AACL,kBAAA,IAAI,0BAA0B,IAAI,UAAU;AAC7C,iBAAA;AAAA,YACN;AAAA,YACA;AAAA,cACC,GAAG;AAAA,cACH,OAAO;AAAA,YACR;AAAA,UAAA;AAAA,QAEF;AACO,eAAA,CAAC,MAAM,OAAO;AAAA,MAAA,CACrB,CAAC;AAAA,IACD,EAAA;AACF,YAAQ,IAAI,sBAAsB;AAClC,YAAQ,IAAI,iCAAiC;AAAA,EAC9C;AACD;;"}
1
+ {"version":3,"file":"WorkspaceUpdateApiCommand.cjs","sources":["../../../../../../packages/cli/src/commands/workspace/WorkspaceUpdateApiCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input, PackageWorkspaceResolver } from '@contember/cli-common'\nimport { DockerComposeManager } from '../../lib/fs/DockerComposeManager'\nimport { contemberDockerImages } from '../../consts'\n\ntype Args = {\n\tversion: string\n}\n\ntype Options = {}\n\nexport class WorkspaceUpdateApiCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly packageWorkspaceResolver: PackageWorkspaceResolver,\n\t\tprivate readonly dockerComposeManager: DockerComposeManager,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Updates Contember API version and all related packages')\n\t\tconfiguration.argument('version')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void> {\n\t\tconst version = input.getArgument('version')\n\t\tconst packageWorkspace = await this.packageWorkspaceResolver.resolve()\n\n\t\tawait packageWorkspace.updateEverywhere({\n\t\t\t'@contember/schema': version,\n\t\t\t'@contember/schema-definition': version,\n\t\t\t'@contember/cli': version,\n\t\t})\n\n\t\tconsole.log('Updating docker-compose')\n\t\tconst getNewImage = (currentImage: string): string | null => {\n\t\t\tfor (const candidate of contemberDockerImages) {\n\t\t\t\tif (currentImage.startsWith(`${candidate}:`)) {\n\t\t\t\t\treturn `${candidate.replace(/-ee$/, '')}:${version}`\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t}\n\t\tawait this.dockerComposeManager.updateMainDockerComposeConfig(data => ({\n\t\t\t...data,\n\t\t\tservices: Object.fromEntries(Object.entries(data?.services ?? {}).map(([name, service]: [string, any]) => {\n\t\t\t\tconst newImage = getNewImage(service.image)\n\t\t\t\tif (newImage) {\n\t\t\t\t\tconsole.log(`docker-compose service ${name} updated`)\n\t\t\t\t\treturn [\n\t\t\t\t\t\tname,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...service,\n\t\t\t\t\t\t\timage: newImage,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\treturn [name, service]\n\t\t\t})),\n\t\t}))\n\t\tconsole.log('API versions updated')\n\t\tconsole.log('Restart server to apply changes')\n\t}\n}\n"],"names":["Command","contemberDockerImages"],"mappings":";;;;AAUO,MAAM,kCAAkCA,UAAAA,QAAuB;AAAA,EACrE,YACkB,0BACA,sBAChB;AACK,UAAA;AAHW,SAAA,2BAAA;AACA,SAAA,uBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,wDAAwD;AAClF,kBAAc,SAAS,SAAS;AAAA,EAAA;AAAA,EAGjC,MAAgB,QAAQ,OAA4C;AAC7D,UAAA,UAAU,MAAM,YAAY,SAAS;AAC3C,UAAM,mBAAmB,MAAM,KAAK,yBAAyB,QAAQ;AAErE,UAAM,iBAAiB,iBAAiB;AAAA,MACvC,qBAAqB;AAAA,MACrB,gCAAgC;AAAA,MAChC,kBAAkB;AAAA,IAAA,CAClB;AAED,YAAQ,IAAI,yBAAyB;AAC/B,UAAA,cAAc,CAAC,iBAAwC;AAC5D,iBAAW,aAAaC,8BAAuB;AAC9C,YAAI,aAAa,WAAW,GAAG,SAAS,GAAG,GAAG;AAC7C,iBAAO,GAAG,UAAU,QAAQ,QAAQ,EAAE,CAAC,IAAI,OAAO;AAAA,QAAA;AAAA,MACnD;AAEM,aAAA;AAAA,IACR;AACM,UAAA,KAAK,qBAAqB,8BAA8B,CAAS,UAAA;AAAA,MACtE,GAAG;AAAA,MACH,UAAU,OAAO,YAAY,OAAO,QAAQ,MAAM,YAAY,CAAA,CAAE,EAAE,IAAI,CAAC,CAAC,MAAM,OAAO,MAAqB;AACnG,cAAA,WAAW,YAAY,QAAQ,KAAK;AAC1C,YAAI,UAAU;AACL,kBAAA,IAAI,0BAA0B,IAAI,UAAU;AAC7C,iBAAA;AAAA,YACN;AAAA,YACA;AAAA,cACC,GAAG;AAAA,cACH,OAAO;AAAA,YAAA;AAAA,UAET;AAAA,QAAA;AAEM,eAAA,CAAC,MAAM,OAAO;AAAA,MAAA,CACrB,CAAC;AAAA,IAAA,EACD;AACF,YAAQ,IAAI,sBAAsB;AAClC,YAAQ,IAAI,iCAAiC;AAAA,EAAA;AAE/C;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceUpdateApiCommand.js","sources":["../../../../../../packages/cli/src/commands/workspace/WorkspaceUpdateApiCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input, PackageWorkspaceResolver } from '@contember/cli-common'\nimport { DockerComposeManager } from '../../lib/fs/DockerComposeManager'\nimport { contemberDockerImages } from '../../consts'\n\ntype Args = {\n\tversion: string\n}\n\ntype Options = {}\n\nexport class WorkspaceUpdateApiCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly packageWorkspaceResolver: PackageWorkspaceResolver,\n\t\tprivate readonly dockerComposeManager: DockerComposeManager,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Updates Contember API version and all related packages')\n\t\tconfiguration.argument('version')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void> {\n\t\tconst version = input.getArgument('version')\n\t\tconst packageWorkspace = await this.packageWorkspaceResolver.resolve()\n\n\t\tawait packageWorkspace.updateEverywhere({\n\t\t\t'@contember/schema': version,\n\t\t\t'@contember/schema-definition': version,\n\t\t\t'@contember/cli': version,\n\t\t})\n\n\t\tconsole.log('Updating docker-compose')\n\t\tconst getNewImage = (currentImage: string): string | null => {\n\t\t\tfor (const candidate of contemberDockerImages) {\n\t\t\t\tif (currentImage.startsWith(`${candidate}:`)) {\n\t\t\t\t\treturn `${candidate.replace(/-ee$/, '')}:${version}`\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t}\n\t\tawait this.dockerComposeManager.updateMainDockerComposeConfig(data => ({\n\t\t\t...data,\n\t\t\tservices: Object.fromEntries(Object.entries(data?.services ?? {}).map(([name, service]: [string, any]) => {\n\t\t\t\tconst newImage = getNewImage(service.image)\n\t\t\t\tif (newImage) {\n\t\t\t\t\tconsole.log(`docker-compose service ${name} updated`)\n\t\t\t\t\treturn [\n\t\t\t\t\t\tname,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...service,\n\t\t\t\t\t\t\timage: newImage,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\treturn [name, service]\n\t\t\t})),\n\t\t}))\n\t\tconsole.log('API versions updated')\n\t\tconsole.log('Restart server to apply changes')\n\t}\n}\n"],"names":[],"mappings":";;AAUO,MAAM,kCAAkC,QAAuB;AAAA,EACrE,YACkB,0BACA,sBAChB;AACK;AAHW,SAAA,2BAAA;AACA,SAAA,uBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,wDAAwD;AAClF,kBAAc,SAAS,SAAS;AAAA,EACjC;AAAA,EAEA,MAAgB,QAAQ,OAA4C;AAC7D,UAAA,UAAU,MAAM,YAAY,SAAS;AAC3C,UAAM,mBAAmB,MAAM,KAAK,yBAAyB,QAAQ;AAErE,UAAM,iBAAiB,iBAAiB;AAAA,MACvC,qBAAqB;AAAA,MACrB,gCAAgC;AAAA,MAChC,kBAAkB;AAAA,IAAA,CAClB;AAED,YAAQ,IAAI,yBAAyB;AAC/B,UAAA,cAAc,CAAC,iBAAwC;AAC5D,iBAAW,aAAa,uBAAuB;AAC9C,YAAI,aAAa,WAAW,GAAG,SAAS,GAAG,GAAG;AAC7C,iBAAO,GAAG,UAAU,QAAQ,QAAQ,EAAE,CAAC,IAAI,OAAO;AAAA,QACnD;AAAA,MACD;AACO,aAAA;AAAA,IAAA;AAEF,UAAA,KAAK,qBAAqB,8BAA8B,CAAS,UAAA;AAAA,MACtE,GAAG;AAAA,MACH,UAAU,OAAO,YAAY,OAAO,QAAQ,MAAM,YAAY,CAAA,CAAE,EAAE,IAAI,CAAC,CAAC,MAAM,OAAO,MAAqB;AACnG,cAAA,WAAW,YAAY,QAAQ,KAAK;AAC1C,YAAI,UAAU;AACL,kBAAA,IAAI,0BAA0B,IAAI,UAAU;AAC7C,iBAAA;AAAA,YACN;AAAA,YACA;AAAA,cACC,GAAG;AAAA,cACH,OAAO;AAAA,YACR;AAAA,UAAA;AAAA,QAEF;AACO,eAAA,CAAC,MAAM,OAAO;AAAA,MAAA,CACrB,CAAC;AAAA,IACD,EAAA;AACF,YAAQ,IAAI,sBAAsB;AAClC,YAAQ,IAAI,iCAAiC;AAAA,EAC9C;AACD;"}
1
+ {"version":3,"file":"WorkspaceUpdateApiCommand.js","sources":["../../../../../../packages/cli/src/commands/workspace/WorkspaceUpdateApiCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input, PackageWorkspaceResolver } from '@contember/cli-common'\nimport { DockerComposeManager } from '../../lib/fs/DockerComposeManager'\nimport { contemberDockerImages } from '../../consts'\n\ntype Args = {\n\tversion: string\n}\n\ntype Options = {}\n\nexport class WorkspaceUpdateApiCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly packageWorkspaceResolver: PackageWorkspaceResolver,\n\t\tprivate readonly dockerComposeManager: DockerComposeManager,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Updates Contember API version and all related packages')\n\t\tconfiguration.argument('version')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void> {\n\t\tconst version = input.getArgument('version')\n\t\tconst packageWorkspace = await this.packageWorkspaceResolver.resolve()\n\n\t\tawait packageWorkspace.updateEverywhere({\n\t\t\t'@contember/schema': version,\n\t\t\t'@contember/schema-definition': version,\n\t\t\t'@contember/cli': version,\n\t\t})\n\n\t\tconsole.log('Updating docker-compose')\n\t\tconst getNewImage = (currentImage: string): string | null => {\n\t\t\tfor (const candidate of contemberDockerImages) {\n\t\t\t\tif (currentImage.startsWith(`${candidate}:`)) {\n\t\t\t\t\treturn `${candidate.replace(/-ee$/, '')}:${version}`\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t}\n\t\tawait this.dockerComposeManager.updateMainDockerComposeConfig(data => ({\n\t\t\t...data,\n\t\t\tservices: Object.fromEntries(Object.entries(data?.services ?? {}).map(([name, service]: [string, any]) => {\n\t\t\t\tconst newImage = getNewImage(service.image)\n\t\t\t\tif (newImage) {\n\t\t\t\t\tconsole.log(`docker-compose service ${name} updated`)\n\t\t\t\t\treturn [\n\t\t\t\t\t\tname,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...service,\n\t\t\t\t\t\t\timage: newImage,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\treturn [name, service]\n\t\t\t})),\n\t\t}))\n\t\tconsole.log('API versions updated')\n\t\tconsole.log('Restart server to apply changes')\n\t}\n}\n"],"names":[],"mappings":";;AAUO,MAAM,kCAAkC,QAAuB;AAAA,EACrE,YACkB,0BACA,sBAChB;AACK,UAAA;AAHW,SAAA,2BAAA;AACA,SAAA,uBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,wDAAwD;AAClF,kBAAc,SAAS,SAAS;AAAA,EAAA;AAAA,EAGjC,MAAgB,QAAQ,OAA4C;AAC7D,UAAA,UAAU,MAAM,YAAY,SAAS;AAC3C,UAAM,mBAAmB,MAAM,KAAK,yBAAyB,QAAQ;AAErE,UAAM,iBAAiB,iBAAiB;AAAA,MACvC,qBAAqB;AAAA,MACrB,gCAAgC;AAAA,MAChC,kBAAkB;AAAA,IAAA,CAClB;AAED,YAAQ,IAAI,yBAAyB;AAC/B,UAAA,cAAc,CAAC,iBAAwC;AAC5D,iBAAW,aAAa,uBAAuB;AAC9C,YAAI,aAAa,WAAW,GAAG,SAAS,GAAG,GAAG;AAC7C,iBAAO,GAAG,UAAU,QAAQ,QAAQ,EAAE,CAAC,IAAI,OAAO;AAAA,QAAA;AAAA,MACnD;AAEM,aAAA;AAAA,IACR;AACM,UAAA,KAAK,qBAAqB,8BAA8B,CAAS,UAAA;AAAA,MACtE,GAAG;AAAA,MACH,UAAU,OAAO,YAAY,OAAO,QAAQ,MAAM,YAAY,CAAA,CAAE,EAAE,IAAI,CAAC,CAAC,MAAM,OAAO,MAAqB;AACnG,cAAA,WAAW,YAAY,QAAQ,KAAK;AAC1C,YAAI,UAAU;AACL,kBAAA,IAAI,0BAA0B,IAAI,UAAU;AAC7C,iBAAA;AAAA,YACN;AAAA,YACA;AAAA,cACC,GAAG;AAAA,cACH,OAAO;AAAA,YAAA;AAAA,UAET;AAAA,QAAA;AAEM,eAAA,CAAC,MAAM,OAAO;AAAA,MAAA,CACrB,CAAC;AAAA,IAAA,EACD;AACF,YAAQ,IAAI,sBAAsB;AAClC,YAAQ,IAAI,iCAAiC;AAAA,EAAA;AAE/C;"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const node_path = require("node:path");
4
4
  const node_url = require("node:url");
5
5
  var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
6
- const packageRoot = process.env.CONTEMBER_CLI_PACKAGE_ROOT || node_path.join(node_path.dirname(node_url.fileURLToPath(typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.src || new URL("cli/src/consts.cjs", document.baseURI).href)), "../");
6
+ const packageRoot = process.env.CONTEMBER_CLI_PACKAGE_ROOT || node_path.join(node_path.dirname(node_url.fileURLToPath(typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("cli/src/consts.cjs", document.baseURI).href)), "../");
7
7
  const contemberDockerImages = ["contember/engine", "contember/engine-ee", "contember/cli"];
8
8
  exports.contemberDockerImages = contemberDockerImages;
9
9
  exports.packageRoot = packageRoot;
@@ -1 +1 @@
1
- {"version":3,"file":"consts.cjs","sources":["../../../../packages/cli/src/consts.ts"],"sourcesContent":["import { join } from 'node:path'\nimport { dirname } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nexport const packageRoot = process.env.CONTEMBER_CLI_PACKAGE_ROOT || join(dirname(fileURLToPath(import.meta.url)), '../')\nexport const contemberDockerImages = ['contember/engine', 'contember/engine-ee', 'contember/cli']\n"],"names":["join","dirname","fileURLToPath"],"mappings":";;;;;AAGa,MAAA,cAAc,QAAQ,IAAI,8BAA8BA,UAAAA,KAAKC,UAAQ,QAAAC,uBAAc,OAAA,aAAA,cAAA,QAAA,KAAA,EAAA,cAAA,UAAA,EAAA,OAAA,0BAAA,uBAAA,OAAA,IAAA,IAAA,sBAAA,SAAA,OAAA,EAAA,IAAe,CAAC,GAAG,KAAK;AACjH,MAAM,wBAAwB,CAAC,oBAAoB,uBAAuB,eAAe;;;"}
1
+ {"version":3,"file":"consts.cjs","sources":["../../../../packages/cli/src/consts.ts"],"sourcesContent":["import { join } from 'node:path'\nimport { dirname } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nexport const packageRoot = process.env.CONTEMBER_CLI_PACKAGE_ROOT || join(dirname(fileURLToPath(import.meta.url)), '../')\nexport const contemberDockerImages = ['contember/engine', 'contember/engine-ee', 'contember/cli']\n"],"names":["join","dirname","fileURLToPath"],"mappings":";;;;;AAGa,MAAA,cAAc,QAAQ,IAAI,8BAA8BA,UAAAA,KAAKC,UAAAA,QAAQC,SAAA,yQAA6B,CAAC,GAAG,KAAK;AACjH,MAAM,wBAAwB,CAAC,oBAAoB,uBAAuB,eAAe;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"dic.cjs","sources":["../../../../packages/cli/src/dic.ts"],"sourcesContent":["import { Builder } from '@contember/dic'\nimport {\n\tJsLoader,\n\tJsonLoader,\n\tMigrationCreator,\n\tMigrationDescriber,\n\tMigrationExecutor,\n\tMigrationFilesManager,\n\tMigrationParser,\n\tMigrationsResolver,\n\tMigrationsStatusResolver,\n\tModificationHandlerFactory,\n\tSchemaDiffer,\n\tSchemaMigrator,\n\tSchemaVersionBuilder,\n\tVERSION_LATEST,\n} from '@contember/migrations-client'\nimport { JsCodeRunner } from './lib/js/JsCodeRunner'\nimport { EsBuildBuilder } from './lib/js/EsBuildBuilder'\nimport { EvalExecutor } from './lib/js/EvalExecutor'\nimport { AdminDeployer } from './lib/admin/AdminDeployer'\nimport { RemoteProjectResolver } from './lib/project/RemoteProjectResolver'\nimport { CliEnv } from './lib/env'\nimport { AdminClient } from './lib/admin/AdminClient'\nimport { FileSystem } from './lib/fs/FileSystem'\nimport { WorkspaceResolver } from './lib/workspace/WorkspaceResolver'\nimport { YamlHandler } from './lib/fs/YamlHandler'\nimport {\n\tDeployCommand,\n\tMigrationAmendCommand,\n\tMigrationBlankCommand,\n\tMigrationDescribeCommand,\n\tMigrationDiffCommand,\n\tMigrationExecuteCommand,\n\tMigrationRebaseCommand,\n\tMigrationStatusCommand,\n\tProjectGenerateDocumentationCommand,\n\tProjectPrintSchemaCommand,\n\tProjectValidateCommand,\n\tVersionCommand,\n\tWorkspaceUpdateApiCommand,\n} from './commands'\nimport { MigrationExecutionFacade } from './lib/migrations/MigrationExecutionFacade'\nimport { MigrationPrinter } from './lib/migrations/MigrationPrinter'\nimport { MigrationsStatusFacade } from './lib/migrations/MigrationsStatusFacade'\nimport { ImportSchemaLoader, SchemaLoader, TranspilingSchemaLoader } from './lib/schema/SchemaLoader'\nimport { MigrationsValidator } from './lib/migrations/MigrationsValidator'\nimport { MigrationRebaseFacade } from './lib/migrations/MigrationRebaseFacade'\nimport { DataTransferClient } from './lib/transfer/DataTransferClient'\nimport { ExportCommand, ImportCommand, TransferCommand } from './commands/transfer'\nimport {\n\tApplication,\n\tCommandFactoryList,\n\tCommandManager,\n\tCommandRunner,\n\tNpm,\n\tPackageWorkspaceResolver,\n\tPnpm,\n\tYarn,\n\tYarnClassic,\n} from '@contember/cli-common'\nimport { VersionChecker } from './lib/VersionChecker'\nimport { DockerComposeManager } from './lib/fs/DockerComposeManager'\nimport { RemoteProjectProvider } from './lib/project/RemoteProjectProvider'\nimport { SystemClientProvider } from './lib/SystemClientProvider'\nimport { TenantClientProvider } from './lib/TenantClientProvider'\nimport { Workspace } from './lib/workspace/Workspace'\n\nconst jsSample = `\nexport const query = \\`\\`\nexport const variables = {}\n\n// or multiple queries\n// export const queries = []\n\n// or a factory\n// export default async () => ({ queries: [] })\n`\n\nexport const createContainer = ({ env, version, runtime, workspace }: {\n\tworkspace: Workspace\n\tenv: CliEnv\n\tversion: string\n\truntime: 'node' | 'bun'\n}) => {\n\treturn new Builder({})\n\t\t.addService('env', () =>\n\t\t\tenv)\n\t\t.addService('version', () =>\n\t\t\tversion)\n\t\t.addService('runtime', () =>\n\t\t\truntime)\n\t\t.addService('workspace', () =>\n\t\t\tworkspace)\n\t\t.addService('fs', () =>\n\t\t\tnew FileSystem())\n\t\t.addService('yamlHandler', ({ fs }) =>\n\t\t\tnew YamlHandler(fs))\n\t\t.addService('jsExecutor', () =>\n\t\t\tnew EvalExecutor())\n\t\t.addService('jsBuilder', () =>\n\t\t\tnew EsBuildBuilder())\n\t\t.addService('jsCodeRunner', ({ jsExecutor, jsBuilder }) =>\n\t\t\tnew JsCodeRunner(jsBuilder, jsExecutor))\n\n\t\t.addService('workspaceResolver', ({ yamlHandler }) =>\n\t\t\tnew WorkspaceResolver(yamlHandler))\n\n\t\t.addService('remoteProjectResolver', ({ env }) =>\n\t\t\tnew RemoteProjectResolver(env))\n\t\t.addService('remoteProjectProvider', ({ remoteProjectResolver }) => {\n\t\t\tconst provider = new RemoteProjectProvider()\n\t\t\tconst remoteProject = remoteProjectResolver.resolve()\n\t\t\tif (remoteProject) {\n\t\t\t\tprovider.setRemoteProject(remoteProject)\n\t\t\t}\n\t\t\treturn provider\n\t\t})\n\t\t.addService('systemClientProvider', ({ remoteProjectProvider }) =>\n\t\t\tnew SystemClientProvider(remoteProjectProvider))\n\t\t.addService('tenantClientProvider', ({ remoteProjectProvider }) =>\n\t\t\tnew TenantClientProvider(remoteProjectProvider))\n\t\t.addService('adminClient', ({ remoteProjectProvider }) =>\n\t\t\tnew AdminClient(remoteProjectProvider))\n\t\t.addService('migrationFilesManager', ({ jsCodeRunner, workspace }) => {\n\t\t\tconst runJs = runtime === 'bun' ? (file: string) => import(file) : jsCodeRunner.run\n\t\t\treturn new MigrationFilesManager(workspace.migrationsDir, {\n\t\t\t\tjson: new JsonLoader(new MigrationParser()),\n\t\t\t\tts: new JsLoader(new MigrationParser(), runJs),\n\t\t\t\tjs: new JsLoader(new MigrationParser(), runJs),\n\t\t\t})\n\t\t})\n\t\t.addService('packageWorkspaceResolver', ({ workspace, fs }) => {\n\t\t\tconst commandRunner = new CommandRunner()\n\t\t\treturn new PackageWorkspaceResolver(workspace.baseDir, fs, [\n\t\t\t\tnew Yarn(fs, commandRunner),\n\t\t\t\tnew YarnClassic(fs, commandRunner),\n\t\t\t\tnew Pnpm(fs, commandRunner),\n\t\t\t\tnew Npm(fs, commandRunner),\n\t\t\t])\n\t\t})\n\t\t.addService('dockerComposeManager', ({ workspace, env, fs, yamlHandler }) =>\n\t\t\tnew DockerComposeManager(workspace.baseDir, env.dockerComposeFile, fs, yamlHandler))\n\t\t.addService('modificationHandlerFactory', () =>\n\t\t\tnew ModificationHandlerFactory(ModificationHandlerFactory.defaultFactoryMap))\n\t\t.addService('schemaMigrator', ({ modificationHandlerFactory }) =>\n\t\t\tnew SchemaMigrator(modificationHandlerFactory))\n\t\t.addService('migrationsResolver', ({ migrationFilesManager }) =>\n\t\t\tnew MigrationsResolver(migrationFilesManager))\n\t\t.addService('schemaVersionBuilder', ({ migrationsResolver, schemaMigrator }) =>\n\t\t\tnew SchemaVersionBuilder(migrationsResolver, schemaMigrator))\n\t\t.addService('schemaDiffer', ({ schemaMigrator }) =>\n\t\t\tnew SchemaDiffer(schemaMigrator))\n\t\t.addService('migrationCreator', ({ migrationFilesManager, schemaDiffer }) =>\n\t\t\tnew MigrationCreator(migrationFilesManager, schemaDiffer, {\n\t\t\t\tjson: JSON.stringify({ formatVersion: VERSION_LATEST, modifications: [] }, undefined, '\\t') + '\\n',\n\t\t\t\tts: jsSample,\n\t\t\t\tjs: jsSample,\n\t\t\t}))\n\t\t.addService('migrationDescriber', ({ modificationHandlerFactory }) =>\n\t\t\tnew MigrationDescriber(modificationHandlerFactory))\n\t\t.addService('migrationPrinter', ({ migrationDescriber }) =>\n\t\t\tnew MigrationPrinter(migrationDescriber))\n\t\t.addService('migrationsExecutor', () =>\n\t\t\tnew MigrationExecutor())\n\t\t.addService('migrationsStatusResolver', () =>\n\t\t\tnew MigrationsStatusResolver())\n\t\t.addService('migrationsStatusFacade', ({ systemClientProvider, migrationsResolver, migrationsStatusResolver }) =>\n\t\t\tnew MigrationsStatusFacade(systemClientProvider, migrationsResolver, migrationsStatusResolver))\n\t\t.addService('migrationExecutionFacade', ({ systemClientProvider, tenantClientProvider, remoteProjectProvider, schemaVersionBuilder, migrationPrinter, migrationsExecutor, migrationsStatusFacade }) =>\n\t\t\tnew MigrationExecutionFacade(systemClientProvider, tenantClientProvider, remoteProjectProvider, schemaVersionBuilder, migrationPrinter, migrationsExecutor, migrationsStatusFacade))\n\t\t.addService('migrationsValidator', ({ migrationDescriber, schemaMigrator }) =>\n\t\t\tnew MigrationsValidator(migrationDescriber, schemaMigrator))\n\t\t.addService('migrationRebaseFacade', ({ schemaVersionBuilder, migrationsValidator, systemClientProvider, migrationFilesManager }) =>\n\t\t\tnew MigrationRebaseFacade(schemaVersionBuilder, migrationsValidator, systemClientProvider, migrationFilesManager))\n\t\t.addService('schemaLoader', ({ workspace, jsCodeRunner, runtime }) =>\n\t\t\truntime === 'bun' ? new ImportSchemaLoader(workspace) : new TranspilingSchemaLoader(workspace, jsCodeRunner))\n\n\t\t.addService('adminDeployer', ({ remoteProjectProvider, adminClient, fs }) =>\n\t\t\tnew AdminDeployer(remoteProjectProvider, adminClient, fs))\n\t\t.addService('dataTransferClient', () =>\n\t\t\tnew DataTransferClient())\n\n\n\t\t.addService('deployCommand', ({ adminDeployer, migrationExecutionFacade, fs, remoteProjectProvider, remoteProjectResolver, workspace }) =>\n\t\t \tnew DeployCommand(adminDeployer, migrationExecutionFacade, fs, remoteProjectProvider, remoteProjectResolver, workspace))\n\t\t.addService('migrationAmendCommand', ({ migrationsResolver, systemClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator }) =>\n\t\t\tnew MigrationAmendCommand(migrationsResolver, systemClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator))\n\t\t.addService('migrationBlankCommand', ({ migrationCreator }) =>\n\t\t\tnew MigrationBlankCommand(migrationCreator))\n\t\t.addService('migrationDescribeCommand', ({ migrationPrinter, schemaVersionBuilder, migrationsResolver }) =>\n\t\t\tnew MigrationDescribeCommand(migrationPrinter, schemaVersionBuilder, migrationsResolver))\n\t\t.addService('migrationDiffCommand', ({ schemaLoader, schemaVersionBuilder, migrationCreator, migrationPrinter, migrationExecutionFacade }) =>\n\t\t\tnew MigrationDiffCommand(schemaLoader, schemaVersionBuilder, migrationCreator, migrationPrinter, migrationExecutionFacade))\n\t\t.addService('migrationExecuteCommand', ({ migrationExecutionFacade }) =>\n\t\t\tnew MigrationExecuteCommand(migrationExecutionFacade))\n\t\t.addService('migrationRebaseCommand', ({ migrationsResolver, migrationRebaseFacade }) =>\n\t\t\tnew MigrationRebaseCommand(migrationsResolver, migrationRebaseFacade))\n\t\t.addService('migrationStatusCommand', ({ migrationsStatusFacade, migrationFilesManager, systemClientProvider, migrationPrinter }) =>\n\t\t\tnew MigrationStatusCommand(migrationsStatusFacade, migrationFilesManager, systemClientProvider, migrationPrinter))\n\t\t.addService('versionCommand', ({ version }) =>\n\t\t\tnew VersionCommand(version))\n\t\t.addService('projectGenerateDocumentationCommand', ({ schemaLoader }) =>\n\t\t\tnew ProjectGenerateDocumentationCommand(schemaLoader))\n\t\t.addService('projectPrintSchemaCommand', ({ schemaLoader, schemaVersionBuilder }) =>\n\t\t\tnew ProjectPrintSchemaCommand(schemaLoader, schemaVersionBuilder))\n\t\t.addService('projectValidateCommand', ({ schemaLoader, migrationsValidator, migrationsResolver, schemaDiffer, schemaVersionBuilder }) =>\n\t\t\tnew ProjectValidateCommand(schemaLoader, migrationsValidator, migrationsResolver, schemaDiffer, schemaVersionBuilder))\n\t\t.addService('exportCommand', ({ dataTransferClient, remoteProjectResolver }) =>\n\t\t\tnew ExportCommand(remoteProjectResolver, dataTransferClient))\n\t\t.addService('importCommand', ({ dataTransferClient, remoteProjectResolver }) =>\n\t\t\tnew ImportCommand(remoteProjectResolver, dataTransferClient))\n\t\t.addService('transferCommand', ({ dataTransferClient, remoteProjectResolver }) =>\n\t\t\tnew TransferCommand(remoteProjectResolver, dataTransferClient))\n\t\t.addService('workspaceUpdateCommand', ({ packageWorkspaceResolver, dockerComposeManager }) =>\n\t\t\tnew WorkspaceUpdateApiCommand(packageWorkspaceResolver, dockerComposeManager))\n\t\t.addService('commandList', dic => {\n\t\t\tconst commands: CommandFactoryList = {\n\t\t\t\t['deploy']: () => dic.deployCommand,\n\t\t\t\t['version']: () => dic.versionCommand,\n\t\t\t\t['data:export']: () => dic.exportCommand,\n\t\t\t\t['data:import']: () => dic.importCommand,\n\t\t\t\t['data:transfer']: () => dic.transferCommand,\n\t\t\t\t['migrations:diff']: () => dic.migrationDiffCommand,\n\t\t\t\t['migrations:amend']: () => dic.migrationAmendCommand,\n\t\t\t\t['migrations:blank']: () => dic.migrationBlankCommand,\n\t\t\t\t['migrations:describe']: () => dic.migrationDescribeCommand,\n\t\t\t\t['migrations:execute']: () => dic.migrationExecuteCommand,\n\t\t\t\t['migrations:rebase']: () => dic.migrationRebaseCommand,\n\t\t\t\t['migrations:status']: () => dic.migrationStatusCommand,\n\t\t\t\t['workspace:update:api']: () => dic.workspaceUpdateCommand,\n\t\t\t\t['project:validate']: () => dic.projectValidateCommand,\n\t\t\t\t['project:print-schema']: () => dic.projectPrintSchemaCommand,\n\t\t\t\t['project:generate-doc']: () => dic.projectGenerateDocumentationCommand,\n\t\t\t}\n\t\t\treturn commands\n\t\t})\n\t\t.addService('commandManager', ({ commandList }) =>\n\t\t\tnew CommandManager(commandList))\n\n\t\t.addService('versionChecker', ({ version, workspace, packageWorkspaceResolver, dockerComposeManager }) =>\n\t\t\tnew VersionChecker(version, workspace.baseDir, packageWorkspaceResolver, dockerComposeManager))\n\t\t.addService('application', ({ commandManager, versionChecker }) => {\n\t\t\tconst app = new Application(\n\t\t\t\tcommandManager,\n\t\t\t\t`Contember CLI version ${version}`,\n\t\t\t\t{\n\t\t\t\t\tbeforeRun: async ({ name }) => {\n\t\t\t\t\t\tif (!process.env.CONTEMBER_SKIP_VERSION_CHECK && !['deploy', 'version', 'data:export', 'data:import', 'data:transfer'].includes(name)) {\n\t\t\t\t\t\t\tawait versionChecker.checkVersions()\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t)\n\t\t\treturn app\n\t\t})\n\t\t.build()\n}\n"],"names":["Builder","FileSystem","YamlHandler","EvalExecutor","EsBuildBuilder","JsCodeRunner","WorkspaceResolver","env","RemoteProjectResolver","RemoteProjectProvider","SystemClientProvider","TenantClientProvider","AdminClient","workspace","MigrationFilesManager","JsonLoader","MigrationParser","JsLoader","CommandRunner","PackageWorkspaceResolver","Yarn","YarnClassic","Pnpm","Npm","DockerComposeManager","ModificationHandlerFactory","SchemaMigrator","MigrationsResolver","SchemaVersionBuilder","SchemaDiffer","MigrationCreator","VERSION_LATEST","MigrationDescriber","MigrationPrinter","MigrationExecutor","MigrationsStatusResolver","MigrationsStatusFacade","MigrationExecutionFacade","MigrationsValidator","MigrationRebaseFacade","runtime","ImportSchemaLoader","TranspilingSchemaLoader","AdminDeployer","DataTransferClient","DeployCommand","MigrationAmendCommand","MigrationBlankCommand","MigrationDescribeCommand","MigrationDiffCommand","MigrationExecuteCommand","MigrationRebaseCommand","MigrationStatusCommand","version","VersionCommand","ProjectGenerateDocumentationCommand","ProjectPrintSchemaCommand","ProjectValidateCommand","ExportCommand","ImportCommand","TransferCommand","WorkspaceUpdateApiCommand","dic","CommandManager","VersionChecker","Application"],"mappings":"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"}
1
+ {"version":3,"file":"dic.cjs","sources":["../../../../packages/cli/src/dic.ts"],"sourcesContent":["import { Builder } from '@contember/dic'\nimport {\n\tJsLoader,\n\tJsonLoader,\n\tMigrationCreator,\n\tMigrationDescriber,\n\tMigrationExecutor,\n\tMigrationFilesManager,\n\tMigrationParser,\n\tMigrationsResolver,\n\tMigrationsStatusResolver,\n\tModificationHandlerFactory,\n\tSchemaDiffer,\n\tSchemaMigrator,\n\tSchemaVersionBuilder,\n\tVERSION_LATEST,\n} from '@contember/migrations-client'\nimport { JsCodeRunner } from './lib/js/JsCodeRunner'\nimport { EsBuildBuilder } from './lib/js/EsBuildBuilder'\nimport { EvalExecutor } from './lib/js/EvalExecutor'\nimport { AdminDeployer } from './lib/admin/AdminDeployer'\nimport { RemoteProjectResolver } from './lib/project/RemoteProjectResolver'\nimport { CliEnv } from './lib/env'\nimport { AdminClient } from './lib/admin/AdminClient'\nimport { FileSystem } from './lib/fs/FileSystem'\nimport { WorkspaceResolver } from './lib/workspace/WorkspaceResolver'\nimport { YamlHandler } from './lib/fs/YamlHandler'\nimport {\n\tDeployCommand,\n\tMigrationAmendCommand,\n\tMigrationBlankCommand,\n\tMigrationDescribeCommand,\n\tMigrationDiffCommand,\n\tMigrationExecuteCommand,\n\tMigrationRebaseCommand,\n\tMigrationStatusCommand,\n\tProjectGenerateDocumentationCommand,\n\tProjectPrintSchemaCommand,\n\tProjectValidateCommand,\n\tVersionCommand,\n\tWorkspaceUpdateApiCommand,\n} from './commands'\nimport { MigrationExecutionFacade } from './lib/migrations/MigrationExecutionFacade'\nimport { MigrationPrinter } from './lib/migrations/MigrationPrinter'\nimport { MigrationsStatusFacade } from './lib/migrations/MigrationsStatusFacade'\nimport { ImportSchemaLoader, SchemaLoader, TranspilingSchemaLoader } from './lib/schema/SchemaLoader'\nimport { MigrationsValidator } from './lib/migrations/MigrationsValidator'\nimport { MigrationRebaseFacade } from './lib/migrations/MigrationRebaseFacade'\nimport { DataTransferClient } from './lib/transfer/DataTransferClient'\nimport { ExportCommand, ImportCommand, TransferCommand } from './commands/transfer'\nimport {\n\tApplication,\n\tCommandFactoryList,\n\tCommandManager,\n\tCommandRunner,\n\tNpm,\n\tPackageWorkspaceResolver,\n\tPnpm,\n\tYarn,\n\tYarnClassic,\n} from '@contember/cli-common'\nimport { VersionChecker } from './lib/VersionChecker'\nimport { DockerComposeManager } from './lib/fs/DockerComposeManager'\nimport { RemoteProjectProvider } from './lib/project/RemoteProjectProvider'\nimport { SystemClientProvider } from './lib/SystemClientProvider'\nimport { TenantClientProvider } from './lib/TenantClientProvider'\nimport { Workspace } from './lib/workspace/Workspace'\n\nconst jsSample = `\nexport const query = \\`\\`\nexport const variables = {}\n\n// or multiple queries\n// export const queries = []\n\n// or a factory\n// export default async () => ({ queries: [] })\n`\n\nexport const createContainer = ({ env, version, runtime, workspace }: {\n\tworkspace: Workspace\n\tenv: CliEnv\n\tversion: string\n\truntime: 'node' | 'bun'\n}) => {\n\treturn new Builder({})\n\t\t.addService('env', () =>\n\t\t\tenv)\n\t\t.addService('version', () =>\n\t\t\tversion)\n\t\t.addService('runtime', () =>\n\t\t\truntime)\n\t\t.addService('workspace', () =>\n\t\t\tworkspace)\n\t\t.addService('fs', () =>\n\t\t\tnew FileSystem())\n\t\t.addService('yamlHandler', ({ fs }) =>\n\t\t\tnew YamlHandler(fs))\n\t\t.addService('jsExecutor', () =>\n\t\t\tnew EvalExecutor())\n\t\t.addService('jsBuilder', () =>\n\t\t\tnew EsBuildBuilder())\n\t\t.addService('jsCodeRunner', ({ jsExecutor, jsBuilder }) =>\n\t\t\tnew JsCodeRunner(jsBuilder, jsExecutor))\n\n\t\t.addService('workspaceResolver', ({ yamlHandler }) =>\n\t\t\tnew WorkspaceResolver(yamlHandler))\n\n\t\t.addService('remoteProjectResolver', ({ env }) =>\n\t\t\tnew RemoteProjectResolver(env))\n\t\t.addService('remoteProjectProvider', ({ remoteProjectResolver }) => {\n\t\t\tconst provider = new RemoteProjectProvider()\n\t\t\tconst remoteProject = remoteProjectResolver.resolve()\n\t\t\tif (remoteProject) {\n\t\t\t\tprovider.setRemoteProject(remoteProject)\n\t\t\t}\n\t\t\treturn provider\n\t\t})\n\t\t.addService('systemClientProvider', ({ remoteProjectProvider }) =>\n\t\t\tnew SystemClientProvider(remoteProjectProvider))\n\t\t.addService('tenantClientProvider', ({ remoteProjectProvider }) =>\n\t\t\tnew TenantClientProvider(remoteProjectProvider))\n\t\t.addService('adminClient', ({ remoteProjectProvider }) =>\n\t\t\tnew AdminClient(remoteProjectProvider))\n\t\t.addService('migrationFilesManager', ({ jsCodeRunner, workspace }) => {\n\t\t\tconst runJs = runtime === 'bun' ? (file: string) => import(file) : jsCodeRunner.run\n\t\t\treturn new MigrationFilesManager(workspace.migrationsDir, {\n\t\t\t\tjson: new JsonLoader(new MigrationParser()),\n\t\t\t\tts: new JsLoader(new MigrationParser(), runJs),\n\t\t\t\tjs: new JsLoader(new MigrationParser(), runJs),\n\t\t\t})\n\t\t})\n\t\t.addService('packageWorkspaceResolver', ({ workspace, fs }) => {\n\t\t\tconst commandRunner = new CommandRunner()\n\t\t\treturn new PackageWorkspaceResolver(workspace.baseDir, fs, [\n\t\t\t\tnew Yarn(fs, commandRunner),\n\t\t\t\tnew YarnClassic(fs, commandRunner),\n\t\t\t\tnew Pnpm(fs, commandRunner),\n\t\t\t\tnew Npm(fs, commandRunner),\n\t\t\t])\n\t\t})\n\t\t.addService('dockerComposeManager', ({ workspace, env, fs, yamlHandler }) =>\n\t\t\tnew DockerComposeManager(workspace.baseDir, env.dockerComposeFile, fs, yamlHandler))\n\t\t.addService('modificationHandlerFactory', () =>\n\t\t\tnew ModificationHandlerFactory(ModificationHandlerFactory.defaultFactoryMap))\n\t\t.addService('schemaMigrator', ({ modificationHandlerFactory }) =>\n\t\t\tnew SchemaMigrator(modificationHandlerFactory))\n\t\t.addService('migrationsResolver', ({ migrationFilesManager }) =>\n\t\t\tnew MigrationsResolver(migrationFilesManager))\n\t\t.addService('schemaVersionBuilder', ({ migrationsResolver, schemaMigrator }) =>\n\t\t\tnew SchemaVersionBuilder(migrationsResolver, schemaMigrator))\n\t\t.addService('schemaDiffer', ({ schemaMigrator }) =>\n\t\t\tnew SchemaDiffer(schemaMigrator))\n\t\t.addService('migrationCreator', ({ migrationFilesManager, schemaDiffer }) =>\n\t\t\tnew MigrationCreator(migrationFilesManager, schemaDiffer, {\n\t\t\t\tjson: JSON.stringify({ formatVersion: VERSION_LATEST, modifications: [] }, undefined, '\\t') + '\\n',\n\t\t\t\tts: jsSample,\n\t\t\t\tjs: jsSample,\n\t\t\t}))\n\t\t.addService('migrationDescriber', ({ modificationHandlerFactory }) =>\n\t\t\tnew MigrationDescriber(modificationHandlerFactory))\n\t\t.addService('migrationPrinter', ({ migrationDescriber }) =>\n\t\t\tnew MigrationPrinter(migrationDescriber))\n\t\t.addService('migrationsExecutor', () =>\n\t\t\tnew MigrationExecutor())\n\t\t.addService('migrationsStatusResolver', () =>\n\t\t\tnew MigrationsStatusResolver())\n\t\t.addService('migrationsStatusFacade', ({ systemClientProvider, migrationsResolver, migrationsStatusResolver }) =>\n\t\t\tnew MigrationsStatusFacade(systemClientProvider, migrationsResolver, migrationsStatusResolver))\n\t\t.addService('migrationExecutionFacade', ({ systemClientProvider, tenantClientProvider, remoteProjectProvider, schemaVersionBuilder, migrationPrinter, migrationsExecutor, migrationsStatusFacade }) =>\n\t\t\tnew MigrationExecutionFacade(systemClientProvider, tenantClientProvider, remoteProjectProvider, schemaVersionBuilder, migrationPrinter, migrationsExecutor, migrationsStatusFacade))\n\t\t.addService('migrationsValidator', ({ migrationDescriber, schemaMigrator }) =>\n\t\t\tnew MigrationsValidator(migrationDescriber, schemaMigrator))\n\t\t.addService('migrationRebaseFacade', ({ schemaVersionBuilder, migrationsValidator, systemClientProvider, migrationFilesManager }) =>\n\t\t\tnew MigrationRebaseFacade(schemaVersionBuilder, migrationsValidator, systemClientProvider, migrationFilesManager))\n\t\t.addService('schemaLoader', ({ workspace, jsCodeRunner, runtime }) =>\n\t\t\truntime === 'bun' ? new ImportSchemaLoader(workspace) : new TranspilingSchemaLoader(workspace, jsCodeRunner))\n\n\t\t.addService('adminDeployer', ({ remoteProjectProvider, adminClient, fs }) =>\n\t\t\tnew AdminDeployer(remoteProjectProvider, adminClient, fs))\n\t\t.addService('dataTransferClient', () =>\n\t\t\tnew DataTransferClient())\n\n\n\t\t.addService('deployCommand', ({ adminDeployer, migrationExecutionFacade, fs, remoteProjectProvider, remoteProjectResolver, workspace }) =>\n\t\t \tnew DeployCommand(adminDeployer, migrationExecutionFacade, fs, remoteProjectProvider, remoteProjectResolver, workspace))\n\t\t.addService('migrationAmendCommand', ({ migrationsResolver, systemClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator }) =>\n\t\t\tnew MigrationAmendCommand(migrationsResolver, systemClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator))\n\t\t.addService('migrationBlankCommand', ({ migrationCreator }) =>\n\t\t\tnew MigrationBlankCommand(migrationCreator))\n\t\t.addService('migrationDescribeCommand', ({ migrationPrinter, schemaVersionBuilder, migrationsResolver }) =>\n\t\t\tnew MigrationDescribeCommand(migrationPrinter, schemaVersionBuilder, migrationsResolver))\n\t\t.addService('migrationDiffCommand', ({ schemaLoader, schemaVersionBuilder, migrationCreator, migrationPrinter, migrationExecutionFacade }) =>\n\t\t\tnew MigrationDiffCommand(schemaLoader, schemaVersionBuilder, migrationCreator, migrationPrinter, migrationExecutionFacade))\n\t\t.addService('migrationExecuteCommand', ({ migrationExecutionFacade }) =>\n\t\t\tnew MigrationExecuteCommand(migrationExecutionFacade))\n\t\t.addService('migrationRebaseCommand', ({ migrationsResolver, migrationRebaseFacade }) =>\n\t\t\tnew MigrationRebaseCommand(migrationsResolver, migrationRebaseFacade))\n\t\t.addService('migrationStatusCommand', ({ migrationsStatusFacade, migrationFilesManager, systemClientProvider, migrationPrinter }) =>\n\t\t\tnew MigrationStatusCommand(migrationsStatusFacade, migrationFilesManager, systemClientProvider, migrationPrinter))\n\t\t.addService('versionCommand', ({ version }) =>\n\t\t\tnew VersionCommand(version))\n\t\t.addService('projectGenerateDocumentationCommand', ({ schemaLoader }) =>\n\t\t\tnew ProjectGenerateDocumentationCommand(schemaLoader))\n\t\t.addService('projectPrintSchemaCommand', ({ schemaLoader, schemaVersionBuilder }) =>\n\t\t\tnew ProjectPrintSchemaCommand(schemaLoader, schemaVersionBuilder))\n\t\t.addService('projectValidateCommand', ({ schemaLoader, migrationsValidator, migrationsResolver, schemaDiffer, schemaVersionBuilder }) =>\n\t\t\tnew ProjectValidateCommand(schemaLoader, migrationsValidator, migrationsResolver, schemaDiffer, schemaVersionBuilder))\n\t\t.addService('exportCommand', ({ dataTransferClient, remoteProjectResolver }) =>\n\t\t\tnew ExportCommand(remoteProjectResolver, dataTransferClient))\n\t\t.addService('importCommand', ({ dataTransferClient, remoteProjectResolver }) =>\n\t\t\tnew ImportCommand(remoteProjectResolver, dataTransferClient))\n\t\t.addService('transferCommand', ({ dataTransferClient, remoteProjectResolver }) =>\n\t\t\tnew TransferCommand(remoteProjectResolver, dataTransferClient))\n\t\t.addService('workspaceUpdateCommand', ({ packageWorkspaceResolver, dockerComposeManager }) =>\n\t\t\tnew WorkspaceUpdateApiCommand(packageWorkspaceResolver, dockerComposeManager))\n\t\t.addService('commandList', dic => {\n\t\t\tconst commands: CommandFactoryList = {\n\t\t\t\t['deploy']: () => dic.deployCommand,\n\t\t\t\t['version']: () => dic.versionCommand,\n\t\t\t\t['data:export']: () => dic.exportCommand,\n\t\t\t\t['data:import']: () => dic.importCommand,\n\t\t\t\t['data:transfer']: () => dic.transferCommand,\n\t\t\t\t['migrations:diff']: () => dic.migrationDiffCommand,\n\t\t\t\t['migrations:amend']: () => dic.migrationAmendCommand,\n\t\t\t\t['migrations:blank']: () => dic.migrationBlankCommand,\n\t\t\t\t['migrations:describe']: () => dic.migrationDescribeCommand,\n\t\t\t\t['migrations:execute']: () => dic.migrationExecuteCommand,\n\t\t\t\t['migrations:rebase']: () => dic.migrationRebaseCommand,\n\t\t\t\t['migrations:status']: () => dic.migrationStatusCommand,\n\t\t\t\t['workspace:update:api']: () => dic.workspaceUpdateCommand,\n\t\t\t\t['project:validate']: () => dic.projectValidateCommand,\n\t\t\t\t['project:print-schema']: () => dic.projectPrintSchemaCommand,\n\t\t\t\t['project:generate-doc']: () => dic.projectGenerateDocumentationCommand,\n\t\t\t}\n\t\t\treturn commands\n\t\t})\n\t\t.addService('commandManager', ({ commandList }) =>\n\t\t\tnew CommandManager(commandList))\n\n\t\t.addService('versionChecker', ({ version, workspace, packageWorkspaceResolver, dockerComposeManager }) =>\n\t\t\tnew VersionChecker(version, workspace.baseDir, packageWorkspaceResolver, dockerComposeManager))\n\t\t.addService('application', ({ commandManager, versionChecker }) => {\n\t\t\tconst app = new Application(\n\t\t\t\tcommandManager,\n\t\t\t\t`Contember CLI version ${version}`,\n\t\t\t\t{\n\t\t\t\t\tbeforeRun: async ({ name }) => {\n\t\t\t\t\t\tif (!process.env.CONTEMBER_SKIP_VERSION_CHECK && !['deploy', 'version', 'data:export', 'data:import', 'data:transfer'].includes(name)) {\n\t\t\t\t\t\t\tawait versionChecker.checkVersions()\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t)\n\t\t\treturn app\n\t\t})\n\t\t.build()\n}\n"],"names":["Builder","FileSystem","YamlHandler","EvalExecutor","EsBuildBuilder","JsCodeRunner","WorkspaceResolver","env","RemoteProjectResolver","RemoteProjectProvider","SystemClientProvider","TenantClientProvider","AdminClient","workspace","MigrationFilesManager","JsonLoader","MigrationParser","JsLoader","CommandRunner","PackageWorkspaceResolver","Yarn","YarnClassic","Pnpm","Npm","DockerComposeManager","ModificationHandlerFactory","SchemaMigrator","MigrationsResolver","SchemaVersionBuilder","SchemaDiffer","MigrationCreator","VERSION_LATEST","MigrationDescriber","MigrationPrinter","MigrationExecutor","MigrationsStatusResolver","MigrationsStatusFacade","MigrationExecutionFacade","MigrationsValidator","MigrationRebaseFacade","runtime","ImportSchemaLoader","TranspilingSchemaLoader","AdminDeployer","DataTransferClient","DeployCommand","MigrationAmendCommand","MigrationBlankCommand","MigrationDescribeCommand","MigrationDiffCommand","MigrationExecuteCommand","MigrationRebaseCommand","MigrationStatusCommand","version","VersionCommand","ProjectGenerateDocumentationCommand","ProjectPrintSchemaCommand","ProjectValidateCommand","ExportCommand","ImportCommand","TransferCommand","WorkspaceUpdateApiCommand","dic","CommandManager","VersionChecker","Application"],"mappings":"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"}