@contember/cli 2.1.0-alpha.30 → 2.1.0-alpha.35

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 (394) hide show
  1. package/dist/development/run.cjs.map +1 -1
  2. package/dist/development/run.js.map +1 -1
  3. package/dist/development/src/commands/actions/ActionsGetEventCommand.cjs.map +1 -1
  4. package/dist/development/src/commands/actions/ActionsGetEventCommand.js.map +1 -1
  5. package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.cjs.map +1 -1
  6. package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.js.map +1 -1
  7. package/dist/development/src/commands/actions/ActionsListVariablesCommand.cjs.map +1 -1
  8. package/dist/development/src/commands/actions/ActionsListVariablesCommand.js.map +1 -1
  9. package/dist/development/src/commands/actions/ActionsRetryEventCommand.cjs.map +1 -1
  10. package/dist/development/src/commands/actions/ActionsRetryEventCommand.js.map +1 -1
  11. package/dist/development/src/commands/actions/ActionsSetVariablesCommand.cjs +7 -4
  12. package/dist/development/src/commands/actions/ActionsSetVariablesCommand.cjs.map +1 -1
  13. package/dist/development/src/commands/actions/ActionsSetVariablesCommand.js +7 -4
  14. package/dist/development/src/commands/actions/ActionsSetVariablesCommand.js.map +1 -1
  15. package/dist/development/src/commands/actions/ActionsStopEventCommand.cjs.map +1 -1
  16. package/dist/development/src/commands/actions/ActionsStopEventCommand.js.map +1 -1
  17. package/dist/development/src/commands/deploy/DeployCommand.cjs.map +1 -1
  18. package/dist/development/src/commands/deploy/DeployCommand.js.map +1 -1
  19. package/dist/development/src/commands/migrations/MigrationAmendCommand.cjs.map +1 -1
  20. package/dist/development/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
  21. package/dist/development/src/commands/migrations/MigrationBlankCommand.cjs.map +1 -1
  22. package/dist/development/src/commands/migrations/MigrationBlankCommand.js.map +1 -1
  23. package/dist/development/src/commands/migrations/MigrationDescribeCommand.cjs.map +1 -1
  24. package/dist/development/src/commands/migrations/MigrationDescribeCommand.js.map +1 -1
  25. package/dist/development/src/commands/migrations/MigrationDiffCommand.cjs.map +1 -1
  26. package/dist/development/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
  27. package/dist/development/src/commands/migrations/MigrationExecuteCommand.cjs.map +1 -1
  28. package/dist/development/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
  29. package/dist/development/src/commands/migrations/MigrationRebaseCommand.cjs.map +1 -1
  30. package/dist/development/src/commands/migrations/MigrationRebaseCommand.js.map +1 -1
  31. package/dist/development/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
  32. package/dist/development/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
  33. package/dist/development/src/commands/misc/VersionCommand.cjs.map +1 -1
  34. package/dist/development/src/commands/misc/VersionCommand.js.map +1 -1
  35. package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.cjs.map +1 -1
  36. package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.js.map +1 -1
  37. package/dist/development/src/commands/project/ProjectPrintSchemaCommand.cjs.map +1 -1
  38. package/dist/development/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
  39. package/dist/development/src/commands/project/ProjectValidateCommand.cjs.map +1 -1
  40. package/dist/development/src/commands/project/ProjectValidateCommand.js.map +1 -1
  41. package/dist/development/src/commands/transfer/ExportCommand.cjs.map +1 -1
  42. package/dist/development/src/commands/transfer/ExportCommand.js.map +1 -1
  43. package/dist/development/src/commands/transfer/ImportCommand.cjs.map +1 -1
  44. package/dist/development/src/commands/transfer/ImportCommand.js.map +1 -1
  45. package/dist/development/src/commands/transfer/TransferCommand.cjs.map +1 -1
  46. package/dist/development/src/commands/transfer/TransferCommand.js.map +1 -1
  47. package/dist/development/src/commands/transfer/utils.cjs.map +1 -1
  48. package/dist/development/src/commands/transfer/utils.js.map +1 -1
  49. package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.cjs +16 -14
  50. package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.cjs.map +1 -1
  51. package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.js +16 -14
  52. package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.js.map +1 -1
  53. package/dist/development/src/consts.cjs.map +1 -1
  54. package/dist/development/src/dic.cjs +87 -3
  55. package/dist/development/src/dic.cjs.map +1 -1
  56. package/dist/development/src/dic.js +88 -4
  57. package/dist/development/src/dic.js.map +1 -1
  58. package/dist/development/src/lib/SystemClientProvider.cjs.map +1 -1
  59. package/dist/development/src/lib/SystemClientProvider.js.map +1 -1
  60. package/dist/development/src/lib/TenantClientProvider.cjs.map +1 -1
  61. package/dist/development/src/lib/TenantClientProvider.js.map +1 -1
  62. package/dist/development/src/lib/VersionChecker.cjs.map +1 -1
  63. package/dist/development/src/lib/VersionChecker.js.map +1 -1
  64. package/dist/development/src/lib/actions/ActionsClient.cjs.map +1 -1
  65. package/dist/development/src/lib/actions/ActionsClient.js.map +1 -1
  66. package/dist/development/src/lib/admin/AdminClient.cjs.map +1 -1
  67. package/dist/development/src/lib/admin/AdminClient.js.map +1 -1
  68. package/dist/development/src/lib/admin/AdminDeployer.cjs.map +1 -1
  69. package/dist/development/src/lib/admin/AdminDeployer.js.map +1 -1
  70. package/dist/development/src/lib/assertNever.cjs.map +1 -1
  71. package/dist/development/src/lib/assertNever.js.map +1 -1
  72. package/dist/development/src/lib/dsn.cjs.map +1 -1
  73. package/dist/development/src/lib/dsn.js.map +1 -1
  74. package/dist/development/src/lib/env.cjs.map +1 -1
  75. package/dist/development/src/lib/env.js.map +1 -1
  76. package/dist/development/src/lib/fs/DockerComposeManager.cjs.map +1 -1
  77. package/dist/development/src/lib/fs/DockerComposeManager.js.map +1 -1
  78. package/dist/development/src/lib/fs/FileSystem.cjs.map +1 -1
  79. package/dist/development/src/lib/fs/FileSystem.js.map +1 -1
  80. package/dist/development/src/lib/fs/YamlHandler.cjs.map +1 -1
  81. package/dist/development/src/lib/fs/YamlHandler.js.map +1 -1
  82. package/dist/development/src/lib/js/EsBuildBuilder.cjs.map +1 -1
  83. package/dist/development/src/lib/js/EsBuildBuilder.js.map +1 -1
  84. package/dist/development/src/lib/js/EvalExecutor.cjs.map +1 -1
  85. package/dist/development/src/lib/js/EvalExecutor.js.map +1 -1
  86. package/dist/development/src/lib/js/JsCodeRunner.cjs.map +1 -1
  87. package/dist/development/src/lib/js/JsCodeRunner.js.map +1 -1
  88. package/dist/development/src/lib/migrations/MigrationExecutionFacade.cjs.map +1 -1
  89. package/dist/development/src/lib/migrations/MigrationExecutionFacade.js.map +1 -1
  90. package/dist/development/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
  91. package/dist/development/src/lib/migrations/MigrationPrinter.js.map +1 -1
  92. package/dist/development/src/lib/migrations/MigrationRebaseFacade.cjs.map +1 -1
  93. package/dist/development/src/lib/migrations/MigrationRebaseFacade.js.map +1 -1
  94. package/dist/development/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
  95. package/dist/development/src/lib/migrations/MigrationsStatusFacade.js.map +1 -1
  96. package/dist/development/src/lib/migrations/MigrationsValidator.cjs.map +1 -1
  97. package/dist/development/src/lib/migrations/MigrationsValidator.js.map +1 -1
  98. package/dist/development/src/lib/project/RemoteProject.cjs.map +1 -1
  99. package/dist/development/src/lib/project/RemoteProject.js.map +1 -1
  100. package/dist/development/src/lib/project/RemoteProjectProvider.cjs.map +1 -1
  101. package/dist/development/src/lib/project/RemoteProjectProvider.js.map +1 -1
  102. package/dist/development/src/lib/project/RemoteProjectResolver.cjs.map +1 -1
  103. package/dist/development/src/lib/project/RemoteProjectResolver.js.map +1 -1
  104. package/dist/development/src/lib/project/docs/components/EntityInfo.cjs +135 -177
  105. package/dist/development/src/lib/project/docs/components/EntityInfo.cjs.map +1 -1
  106. package/dist/development/src/lib/project/docs/components/EntityInfo.js +136 -178
  107. package/dist/development/src/lib/project/docs/components/EntityInfo.js.map +1 -1
  108. package/dist/development/src/lib/project/docs/components/EntityLink.cjs.map +1 -1
  109. package/dist/development/src/lib/project/docs/components/EntityLink.js.map +1 -1
  110. package/dist/development/src/lib/project/docs/components/FieldLink.cjs +5 -5
  111. package/dist/development/src/lib/project/docs/components/FieldLink.cjs.map +1 -1
  112. package/dist/development/src/lib/project/docs/components/FieldLink.js +5 -5
  113. package/dist/development/src/lib/project/docs/components/FieldLink.js.map +1 -1
  114. package/dist/development/src/lib/project/docs/components/FieldPermissions.cjs +8 -8
  115. package/dist/development/src/lib/project/docs/components/FieldPermissions.cjs.map +1 -1
  116. package/dist/development/src/lib/project/docs/components/FieldPermissions.js +8 -8
  117. package/dist/development/src/lib/project/docs/components/FieldPermissions.js.map +1 -1
  118. package/dist/development/src/lib/project/docs/components/FieldType.cjs +34 -36
  119. package/dist/development/src/lib/project/docs/components/FieldType.cjs.map +1 -1
  120. package/dist/development/src/lib/project/docs/components/FieldType.js +34 -36
  121. package/dist/development/src/lib/project/docs/components/FieldType.js.map +1 -1
  122. package/dist/development/src/lib/project/docs/components/OnDelete.cjs +22 -26
  123. package/dist/development/src/lib/project/docs/components/OnDelete.cjs.map +1 -1
  124. package/dist/development/src/lib/project/docs/components/OnDelete.js +22 -26
  125. package/dist/development/src/lib/project/docs/components/OnDelete.js.map +1 -1
  126. package/dist/development/src/lib/project/docs/components/ProjectInfo.cjs +16 -16
  127. package/dist/development/src/lib/project/docs/components/ProjectInfo.cjs.map +1 -1
  128. package/dist/development/src/lib/project/docs/components/ProjectInfo.js +16 -16
  129. package/dist/development/src/lib/project/docs/components/ProjectInfo.js.map +1 -1
  130. package/dist/development/src/lib/project/docs/components/SinglePermission.cjs.map +1 -1
  131. package/dist/development/src/lib/project/docs/components/SinglePermission.js.map +1 -1
  132. package/dist/development/src/lib/project/docs/components/utils.cjs.map +1 -1
  133. package/dist/development/src/lib/project/docs/components/utils.js.map +1 -1
  134. package/dist/development/src/lib/project/docs/projectDescribe.cjs.map +1 -1
  135. package/dist/development/src/lib/project/docs/projectDescribe.js.map +1 -1
  136. package/dist/development/src/lib/schema/SchemaLoader.cjs.map +1 -1
  137. package/dist/development/src/lib/schema/SchemaLoader.js.map +1 -1
  138. package/dist/development/src/lib/schema/SchemaValidationHelper.cjs.map +1 -1
  139. package/dist/development/src/lib/schema/SchemaValidationPrinter.cjs.map +1 -1
  140. package/dist/development/src/lib/schema/SchemaValidationPrinter.js.map +1 -1
  141. package/dist/development/src/lib/schema/collectReferences.cjs.map +1 -1
  142. package/dist/development/src/lib/schema/collectReferences.js.map +1 -1
  143. package/dist/development/src/lib/stream.cjs.map +1 -1
  144. package/dist/development/src/lib/stream.js.map +1 -1
  145. package/dist/development/src/lib/tenant/TenantClient.cjs.map +1 -1
  146. package/dist/development/src/lib/tenant/TenantClient.js.map +1 -1
  147. package/dist/development/src/lib/transfer/DataTransferClient.cjs +29 -27
  148. package/dist/development/src/lib/transfer/DataTransferClient.cjs.map +1 -1
  149. package/dist/development/src/lib/transfer/DataTransferClient.js +29 -27
  150. package/dist/development/src/lib/transfer/DataTransferClient.js.map +1 -1
  151. package/dist/development/src/lib/transfer/stdio.cjs.map +1 -1
  152. package/dist/development/src/lib/transfer/stdio.js.map +1 -1
  153. package/dist/development/src/lib/workspace/WorkspaceResolver.cjs +4 -4
  154. package/dist/development/src/lib/workspace/WorkspaceResolver.cjs.map +1 -1
  155. package/dist/development/src/lib/workspace/WorkspaceResolver.js +5 -5
  156. package/dist/development/src/lib/workspace/WorkspaceResolver.js.map +1 -1
  157. package/dist/production/run.cjs.map +1 -1
  158. package/dist/production/run.js +0 -0
  159. package/dist/production/run.js.map +1 -1
  160. package/dist/production/src/commands/actions/ActionsGetEventCommand.cjs.map +1 -1
  161. package/dist/production/src/commands/actions/ActionsGetEventCommand.js.map +1 -1
  162. package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.cjs.map +1 -1
  163. package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.js.map +1 -1
  164. package/dist/production/src/commands/actions/ActionsListVariablesCommand.cjs.map +1 -1
  165. package/dist/production/src/commands/actions/ActionsListVariablesCommand.js.map +1 -1
  166. package/dist/production/src/commands/actions/ActionsRetryEventCommand.cjs.map +1 -1
  167. package/dist/production/src/commands/actions/ActionsRetryEventCommand.js.map +1 -1
  168. package/dist/production/src/commands/actions/ActionsSetVariablesCommand.cjs +7 -4
  169. package/dist/production/src/commands/actions/ActionsSetVariablesCommand.cjs.map +1 -1
  170. package/dist/production/src/commands/actions/ActionsSetVariablesCommand.js +7 -4
  171. package/dist/production/src/commands/actions/ActionsSetVariablesCommand.js.map +1 -1
  172. package/dist/production/src/commands/actions/ActionsStopEventCommand.cjs.map +1 -1
  173. package/dist/production/src/commands/actions/ActionsStopEventCommand.js.map +1 -1
  174. package/dist/production/src/commands/deploy/DeployCommand.cjs.map +1 -1
  175. package/dist/production/src/commands/deploy/DeployCommand.js.map +1 -1
  176. package/dist/production/src/commands/migrations/MigrationAmendCommand.cjs.map +1 -1
  177. package/dist/production/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
  178. package/dist/production/src/commands/migrations/MigrationBlankCommand.cjs.map +1 -1
  179. package/dist/production/src/commands/migrations/MigrationBlankCommand.js.map +1 -1
  180. package/dist/production/src/commands/migrations/MigrationDescribeCommand.cjs.map +1 -1
  181. package/dist/production/src/commands/migrations/MigrationDescribeCommand.js.map +1 -1
  182. package/dist/production/src/commands/migrations/MigrationDiffCommand.cjs.map +1 -1
  183. package/dist/production/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
  184. package/dist/production/src/commands/migrations/MigrationExecuteCommand.cjs.map +1 -1
  185. package/dist/production/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
  186. package/dist/production/src/commands/migrations/MigrationRebaseCommand.cjs.map +1 -1
  187. package/dist/production/src/commands/migrations/MigrationRebaseCommand.js.map +1 -1
  188. package/dist/production/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
  189. package/dist/production/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
  190. package/dist/production/src/commands/misc/VersionCommand.cjs.map +1 -1
  191. package/dist/production/src/commands/misc/VersionCommand.js.map +1 -1
  192. package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.cjs.map +1 -1
  193. package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.js.map +1 -1
  194. package/dist/production/src/commands/project/ProjectPrintSchemaCommand.cjs.map +1 -1
  195. package/dist/production/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
  196. package/dist/production/src/commands/project/ProjectValidateCommand.cjs.map +1 -1
  197. package/dist/production/src/commands/project/ProjectValidateCommand.js.map +1 -1
  198. package/dist/production/src/commands/transfer/ExportCommand.cjs.map +1 -1
  199. package/dist/production/src/commands/transfer/ExportCommand.js.map +1 -1
  200. package/dist/production/src/commands/transfer/ImportCommand.cjs.map +1 -1
  201. package/dist/production/src/commands/transfer/ImportCommand.js.map +1 -1
  202. package/dist/production/src/commands/transfer/TransferCommand.cjs.map +1 -1
  203. package/dist/production/src/commands/transfer/TransferCommand.js.map +1 -1
  204. package/dist/production/src/commands/transfer/utils.cjs.map +1 -1
  205. package/dist/production/src/commands/transfer/utils.js.map +1 -1
  206. package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.cjs +16 -14
  207. package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.cjs.map +1 -1
  208. package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.js +16 -14
  209. package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.js.map +1 -1
  210. package/dist/production/src/consts.cjs.map +1 -1
  211. package/dist/production/src/dic.cjs +87 -3
  212. package/dist/production/src/dic.cjs.map +1 -1
  213. package/dist/production/src/dic.js +88 -4
  214. package/dist/production/src/dic.js.map +1 -1
  215. package/dist/production/src/lib/SystemClientProvider.cjs.map +1 -1
  216. package/dist/production/src/lib/SystemClientProvider.js.map +1 -1
  217. package/dist/production/src/lib/TenantClientProvider.cjs.map +1 -1
  218. package/dist/production/src/lib/TenantClientProvider.js.map +1 -1
  219. package/dist/production/src/lib/VersionChecker.cjs.map +1 -1
  220. package/dist/production/src/lib/VersionChecker.js.map +1 -1
  221. package/dist/production/src/lib/actions/ActionsClient.cjs.map +1 -1
  222. package/dist/production/src/lib/actions/ActionsClient.js.map +1 -1
  223. package/dist/production/src/lib/admin/AdminClient.cjs.map +1 -1
  224. package/dist/production/src/lib/admin/AdminClient.js.map +1 -1
  225. package/dist/production/src/lib/admin/AdminDeployer.cjs.map +1 -1
  226. package/dist/production/src/lib/admin/AdminDeployer.js.map +1 -1
  227. package/dist/production/src/lib/assertNever.cjs.map +1 -1
  228. package/dist/production/src/lib/assertNever.js.map +1 -1
  229. package/dist/production/src/lib/dsn.cjs.map +1 -1
  230. package/dist/production/src/lib/dsn.js.map +1 -1
  231. package/dist/production/src/lib/env.cjs.map +1 -1
  232. package/dist/production/src/lib/env.js.map +1 -1
  233. package/dist/production/src/lib/fs/DockerComposeManager.cjs.map +1 -1
  234. package/dist/production/src/lib/fs/DockerComposeManager.js.map +1 -1
  235. package/dist/production/src/lib/fs/FileSystem.cjs.map +1 -1
  236. package/dist/production/src/lib/fs/FileSystem.js.map +1 -1
  237. package/dist/production/src/lib/fs/YamlHandler.cjs.map +1 -1
  238. package/dist/production/src/lib/fs/YamlHandler.js.map +1 -1
  239. package/dist/production/src/lib/js/EsBuildBuilder.cjs.map +1 -1
  240. package/dist/production/src/lib/js/EsBuildBuilder.js.map +1 -1
  241. package/dist/production/src/lib/js/EvalExecutor.cjs.map +1 -1
  242. package/dist/production/src/lib/js/EvalExecutor.js.map +1 -1
  243. package/dist/production/src/lib/js/JsCodeRunner.cjs.map +1 -1
  244. package/dist/production/src/lib/js/JsCodeRunner.js.map +1 -1
  245. package/dist/production/src/lib/migrations/MigrationExecutionFacade.cjs.map +1 -1
  246. package/dist/production/src/lib/migrations/MigrationExecutionFacade.js.map +1 -1
  247. package/dist/production/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
  248. package/dist/production/src/lib/migrations/MigrationPrinter.js.map +1 -1
  249. package/dist/production/src/lib/migrations/MigrationRebaseFacade.cjs.map +1 -1
  250. package/dist/production/src/lib/migrations/MigrationRebaseFacade.js.map +1 -1
  251. package/dist/production/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
  252. package/dist/production/src/lib/migrations/MigrationsStatusFacade.js.map +1 -1
  253. package/dist/production/src/lib/migrations/MigrationsValidator.cjs.map +1 -1
  254. package/dist/production/src/lib/migrations/MigrationsValidator.js.map +1 -1
  255. package/dist/production/src/lib/project/RemoteProject.cjs.map +1 -1
  256. package/dist/production/src/lib/project/RemoteProject.js.map +1 -1
  257. package/dist/production/src/lib/project/RemoteProjectProvider.cjs.map +1 -1
  258. package/dist/production/src/lib/project/RemoteProjectProvider.js.map +1 -1
  259. package/dist/production/src/lib/project/RemoteProjectResolver.cjs.map +1 -1
  260. package/dist/production/src/lib/project/RemoteProjectResolver.js.map +1 -1
  261. package/dist/production/src/lib/project/docs/components/EntityInfo.cjs +39 -66
  262. package/dist/production/src/lib/project/docs/components/EntityInfo.cjs.map +1 -1
  263. package/dist/production/src/lib/project/docs/components/EntityInfo.js +40 -67
  264. package/dist/production/src/lib/project/docs/components/EntityInfo.js.map +1 -1
  265. package/dist/production/src/lib/project/docs/components/EntityLink.cjs.map +1 -1
  266. package/dist/production/src/lib/project/docs/components/EntityLink.js.map +1 -1
  267. package/dist/production/src/lib/project/docs/components/FieldLink.cjs.map +1 -1
  268. package/dist/production/src/lib/project/docs/components/FieldLink.js.map +1 -1
  269. package/dist/production/src/lib/project/docs/components/FieldPermissions.cjs.map +1 -1
  270. package/dist/production/src/lib/project/docs/components/FieldPermissions.js.map +1 -1
  271. package/dist/production/src/lib/project/docs/components/FieldType.cjs +3 -5
  272. package/dist/production/src/lib/project/docs/components/FieldType.cjs.map +1 -1
  273. package/dist/production/src/lib/project/docs/components/FieldType.js +3 -5
  274. package/dist/production/src/lib/project/docs/components/FieldType.js.map +1 -1
  275. package/dist/production/src/lib/project/docs/components/OnDelete.cjs +4 -8
  276. package/dist/production/src/lib/project/docs/components/OnDelete.cjs.map +1 -1
  277. package/dist/production/src/lib/project/docs/components/OnDelete.js +4 -8
  278. package/dist/production/src/lib/project/docs/components/OnDelete.js.map +1 -1
  279. package/dist/production/src/lib/project/docs/components/ProjectInfo.cjs.map +1 -1
  280. package/dist/production/src/lib/project/docs/components/ProjectInfo.js.map +1 -1
  281. package/dist/production/src/lib/project/docs/components/SinglePermission.cjs.map +1 -1
  282. package/dist/production/src/lib/project/docs/components/SinglePermission.js.map +1 -1
  283. package/dist/production/src/lib/project/docs/components/utils.cjs.map +1 -1
  284. package/dist/production/src/lib/project/docs/components/utils.js.map +1 -1
  285. package/dist/production/src/lib/project/docs/projectDescribe.cjs.map +1 -1
  286. package/dist/production/src/lib/project/docs/projectDescribe.js.map +1 -1
  287. package/dist/production/src/lib/schema/SchemaLoader.cjs.map +1 -1
  288. package/dist/production/src/lib/schema/SchemaLoader.js.map +1 -1
  289. package/dist/production/src/lib/schema/SchemaValidationHelper.cjs.map +1 -1
  290. package/dist/production/src/lib/schema/SchemaValidationPrinter.cjs.map +1 -1
  291. package/dist/production/src/lib/schema/SchemaValidationPrinter.js.map +1 -1
  292. package/dist/production/src/lib/schema/collectReferences.cjs.map +1 -1
  293. package/dist/production/src/lib/schema/collectReferences.js.map +1 -1
  294. package/dist/production/src/lib/stream.cjs.map +1 -1
  295. package/dist/production/src/lib/stream.js.map +1 -1
  296. package/dist/production/src/lib/tenant/TenantClient.cjs.map +1 -1
  297. package/dist/production/src/lib/tenant/TenantClient.js.map +1 -1
  298. package/dist/production/src/lib/transfer/DataTransferClient.cjs +29 -27
  299. package/dist/production/src/lib/transfer/DataTransferClient.cjs.map +1 -1
  300. package/dist/production/src/lib/transfer/DataTransferClient.js +29 -27
  301. package/dist/production/src/lib/transfer/DataTransferClient.js.map +1 -1
  302. package/dist/production/src/lib/transfer/stdio.cjs.map +1 -1
  303. package/dist/production/src/lib/transfer/stdio.js.map +1 -1
  304. package/dist/production/src/lib/workspace/WorkspaceResolver.cjs +4 -4
  305. package/dist/production/src/lib/workspace/WorkspaceResolver.cjs.map +1 -1
  306. package/dist/production/src/lib/workspace/WorkspaceResolver.js +5 -5
  307. package/dist/production/src/lib/workspace/WorkspaceResolver.js.map +1 -1
  308. package/dist/types/commands/actions/ActionsGetEventCommand.d.ts.map +1 -1
  309. package/dist/types/commands/actions/ActionsListFailedEventsCommand.d.ts.map +1 -1
  310. package/dist/types/commands/actions/ActionsListVariablesCommand.d.ts.map +1 -1
  311. package/dist/types/commands/actions/ActionsSetVariablesCommand.d.ts.map +1 -1
  312. package/dist/types/commands/deploy/DeployCommand.d.ts.map +1 -1
  313. package/dist/types/commands/migrations/MigrationAmendCommand.d.ts.map +1 -1
  314. package/dist/types/commands/migrations/MigrationBlankCommand.d.ts.map +1 -1
  315. package/dist/types/commands/migrations/MigrationDescribeCommand.d.ts.map +1 -1
  316. package/dist/types/commands/migrations/MigrationDiffCommand.d.ts.map +1 -1
  317. package/dist/types/commands/migrations/MigrationExecuteCommand.d.ts.map +1 -1
  318. package/dist/types/commands/migrations/MigrationRebaseCommand.d.ts.map +1 -1
  319. package/dist/types/commands/migrations/MigrationStatusCommand.d.ts.map +1 -1
  320. package/dist/types/commands/project/ProjectGenerateDocumentationCommand.d.ts.map +1 -1
  321. package/dist/types/commands/project/ProjectPrintSchemaCommand.d.ts.map +1 -1
  322. package/dist/types/commands/transfer/TransferCommand.d.ts.map +1 -1
  323. package/dist/types/commands/transfer/utils.d.ts.map +1 -1
  324. package/dist/types/commands/workspace/WorkspaceUpdateApiCommand.d.ts.map +1 -1
  325. package/dist/types/dic.d.ts.map +1 -1
  326. package/dist/types/lib/VersionChecker.d.ts.map +1 -1
  327. package/dist/types/lib/actions/ActionsClient.d.ts.map +1 -1
  328. package/dist/types/lib/admin/AdminClient.d.ts.map +1 -1
  329. package/dist/types/lib/admin/AdminDeployer.d.ts.map +1 -1
  330. package/dist/types/lib/fs/DockerComposeManager.d.ts.map +1 -1
  331. package/dist/types/lib/migrations/MigrationPrinter.d.ts.map +1 -1
  332. package/dist/types/lib/migrations/MigrationsStatusFacade.d.ts.map +1 -1
  333. package/dist/types/lib/project/docs/components/EntityInfo.d.ts.map +1 -1
  334. package/dist/types/lib/project/docs/components/FieldLink.d.ts.map +1 -1
  335. package/dist/types/lib/project/docs/components/FieldPermissions.d.ts.map +1 -1
  336. package/dist/types/lib/project/docs/components/FieldType.d.ts.map +1 -1
  337. package/dist/types/lib/project/docs/components/OnDelete.d.ts.map +1 -1
  338. package/dist/types/lib/project/docs/components/ProjectInfo.d.ts.map +1 -1
  339. package/dist/types/lib/project/docs/projectDescribe.d.ts.map +1 -1
  340. package/dist/types/lib/schema/SchemaValidationPrinter.d.ts.map +1 -1
  341. package/dist/types/lib/stream.d.ts.map +1 -1
  342. package/dist/types/lib/tenant/TenantClient.d.ts.map +1 -1
  343. package/dist/types/lib/transfer/DataTransferClient.d.ts.map +1 -1
  344. package/package.json +39 -35
  345. package/src/commands/actions/ActionsGetEventCommand.ts +0 -1
  346. package/src/commands/actions/ActionsListFailedEventsCommand.ts +1 -3
  347. package/src/commands/actions/ActionsListVariablesCommand.ts +1 -2
  348. package/src/commands/actions/ActionsSetVariablesCommand.ts +13 -7
  349. package/src/commands/deploy/DeployCommand.ts +0 -3
  350. package/src/commands/migrations/MigrationAmendCommand.ts +2 -2
  351. package/src/commands/migrations/MigrationBlankCommand.ts +1 -3
  352. package/src/commands/migrations/MigrationDescribeCommand.ts +0 -1
  353. package/src/commands/migrations/MigrationDiffCommand.ts +0 -2
  354. package/src/commands/migrations/MigrationExecuteCommand.ts +1 -2
  355. package/src/commands/migrations/MigrationRebaseCommand.ts +0 -2
  356. package/src/commands/migrations/MigrationStatusCommand.ts +7 -12
  357. package/src/commands/project/ProjectGenerateDocumentationCommand.ts +1 -2
  358. package/src/commands/project/ProjectPrintSchemaCommand.ts +1 -3
  359. package/src/commands/transfer/ImportCommand.ts +1 -2
  360. package/src/commands/transfer/TransferCommand.ts +2 -3
  361. package/src/commands/transfer/utils.ts +0 -1
  362. package/src/commands/workspace/WorkspaceUpdateApiCommand.ts +16 -14
  363. package/src/dic.ts +150 -116
  364. package/src/lib/VersionChecker.ts +0 -2
  365. package/src/lib/actions/ActionsClient.ts +0 -1
  366. package/src/lib/admin/AdminClient.ts +2 -2
  367. package/src/lib/admin/AdminDeployer.ts +0 -1
  368. package/src/lib/fs/DockerComposeManager.ts +0 -3
  369. package/src/lib/migrations/MigrationPrinter.ts +0 -2
  370. package/src/lib/migrations/MigrationsStatusFacade.ts +0 -1
  371. package/src/lib/project/RemoteProjectResolver.ts +2 -2
  372. package/src/lib/project/docs/components/EntityInfo.tsx +36 -31
  373. package/src/lib/project/docs/components/FieldLink.tsx +5 -1
  374. package/src/lib/project/docs/components/FieldPermissions.tsx +8 -6
  375. package/src/lib/project/docs/components/FieldType.tsx +31 -30
  376. package/src/lib/project/docs/components/OnDelete.tsx +15 -13
  377. package/src/lib/project/docs/components/ProjectInfo.tsx +1 -4
  378. package/src/lib/project/docs/components/SinglePermission.tsx +0 -1
  379. package/src/lib/project/docs/components/utils.ts +0 -1
  380. package/src/lib/project/docs/projectDescribe.tsx +0 -2
  381. package/src/lib/project/docs/resources/style.css +2 -3
  382. package/src/lib/schema/SchemaLoader.ts +1 -1
  383. package/src/lib/schema/SchemaValidationPrinter.ts +0 -1
  384. package/src/lib/stream.ts +7 -8
  385. package/src/lib/tenant/TenantClient.ts +0 -1
  386. package/src/lib/transfer/DataTransferClient.ts +32 -32
  387. package/src/lib/transfer/stdio.ts +0 -1
  388. package/src/lib/workspace/WorkspaceResolver.ts +5 -5
  389. package/src/run.ts +2 -5
  390. package/dist/types/tsconfig.tsbuildinfo +0 -1
  391. package/postcss.config.js +0 -6
  392. package/src/.eslintrc.cjs +0 -5
  393. package/src/lib/project/docs/.eslintrc.cjs +0 -5
  394. package/tailwind.config.js +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"ActionsClient.cjs","sources":["../../../../../../packages/cli/src/lib/actions/ActionsClient.ts"],"sourcesContent":["import { GraphQlClient } from '@contember/graphql-client'\n\nconst createActionsApiUrl = (url: string, project: string) => {\n\tif (url.endsWith('/')) {\n\t\turl = url.substring(0, url.length - 1)\n\t}\n\n\treturn url + '/actions/' + project\n}\nexport class ActionsClient {\n\tconstructor(private readonly apiClient: GraphQlClient) {\n\t}\n\n\tpublic static create(url: string, project: string, apiToken: string): ActionsClient {\n\t\tconst graphqlClient = new GraphQlClient({ url: createActionsApiUrl(url, project), apiToken })\n\t\treturn new ActionsClient(graphqlClient)\n\t}\n\n\tpublic async listVariables(): Promise<{ name: string; value: string }[]> {\n\t\tconst query = `query {\n variables {\n \tname\n \tvalue\n }\n}`\n\t\tconst result = await this.apiClient.execute<{\n\t\t\tvariables: Array<{ name: string; value: string }>\n\t\t}>(query)\n\t\treturn result.variables\n\t}\n\n\tpublic async setVariables(variables: { name: string; value: string }[], mode: 'MERGE' | 'SET' | 'APPEND_ONLY_MISSING'): Promise<boolean> {\n\t\tconst query = `mutation($variables: [VariableInput!]!, $mode: SetVariablesMode) {\n setVariables(args: { variables: $variables, mode: $mode }) {\n\tok\n }\n }`\n\t\tconst result = await this.apiClient.execute<{ setVariables: { ok: boolean } }>(query, { variables: { mode, variables } })\n\t\treturn result.setVariables.ok\n\t}\n\n\tpublic async listFailedEvents({ offset, limit }: { offset?: number; limit?: number } = {}): Promise<Event[]> {\n\t\tconst query = `query($offset: Int, $limit: Int) {\n failedEvents(args: { offset: $offset, limit: $limit }) {\n \tid\n \tcreatedAt\n \tlastStateChange\n \tvisibleAt\n \tnumRetries\n \tstate\n \ttarget\n \tpayload\n \tlog\n }\n}`\n\t\tconst result = await this.apiClient.execute<{\n\t\t\tfailedEvents: Event[]\n\t\t}>(query, { variables: { offset, limit } })\n\t\treturn result.failedEvents\n\t}\n\n\tpublic async retryEvent(id: string): Promise<boolean> {\n\t\tconst query = `mutation($id: UUID!) {\n retryEvent(id: $id) {\n \tok\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ retryEvent: { ok: boolean } }>(query, { variables: { id } })\n\t\treturn result.retryEvent.ok\n\t}\n\n\tpublic async stopEvent(id: string): Promise<boolean> {\n\t\tconst query = `mutation($id: UUID!) {\n stopEvent(id: $id) {\n \tok\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ stopEvent: { ok: boolean } }>(query, { variables: { id } })\n\t\treturn result.stopEvent.ok\n\t}\n\n\n\tpublic async getEvent(id: string): Promise<Event | null> {\n\t\tconst query = `query($id: UUID!) {\n event(id: $id) {\n \tid\n \tcreatedAt\n \tlastStateChange\n \tvisibleAt\n \tnumRetries\n \tstate\n \ttarget\n \tpayload\n \tlog\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ event: Event | null }>(query, { variables: { id } })\n\t\treturn result.event\n\t}\n}\n\nexport type Event = {\n\tid: string\n\tcreatedAt: string\n\tlastStateChange: string\n\tvisibleAt: string | null\n\tnumRetries: number\n\tstate: 'retrying' | 'failed'\n\ttarget: string\n\tpayload: any\n\tlog: any\n}\n"],"names":["graphqlClient","GraphQlClient"],"mappings":";;;AAEA,MAAM,sBAAsB,CAAC,KAAa,YAAoB;AACzD,MAAA,IAAI,SAAS,GAAG,GAAG;AACtB,UAAM,IAAI,UAAU,GAAG,IAAI,SAAS,CAAC;AAAA,EAAA;AAGtC,SAAO,MAAM,cAAc;AAC5B;AACO,MAAM,cAAc;AAAA,EAC1B,YAA6B,WAA0B;AAA1B,SAAA,YAAA;AAAA,EAAA;AAAA,EAG7B,OAAc,OAAO,KAAa,SAAiB,UAAiC;AAC7E,UAAAA,kBAAgB,IAAIC,cAAA,cAAc,EAAE,KAAK,oBAAoB,KAAK,OAAO,GAAG,UAAU;AACrF,WAAA,IAAI,cAAcD,eAAa;AAAA,EAAA;AAAA,EAGvC,MAAa,gBAA4D;AACxE,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAMd,UAAM,SAAS,MAAM,KAAK,UAAU,QAEjC,KAAK;AACR,WAAO,OAAO;AAAA,EAAA;AAAA,EAGf,MAAa,aAAa,WAA8C,MAAiE;AACxI,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAA2C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,EAAA,CAAG;AACxH,WAAO,OAAO,aAAa;AAAA,EAAA;AAAA,EAG5B,MAAa,iBAAiB,EAAE,QAAQ,MAAM,IAAyC,CAAA,GAAsB;AAC5G,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAad,UAAM,SAAS,MAAM,KAAK,UAAU,QAEjC,OAAO,EAAE,WAAW,EAAE,QAAQ,MAAM,EAAA,CAAG;AAC1C,WAAO,OAAO;AAAA,EAAA;AAAA,EAGf,MAAa,WAAW,IAA8B;AACrD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKR,UAAA,SAAS,MAAM,KAAK,UAAU,QAAyC,OAAO,EAAE,WAAW,EAAE,GAAG,GAAG;AACzG,WAAO,OAAO,WAAW;AAAA,EAAA;AAAA,EAG1B,MAAa,UAAU,IAA8B;AACpD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKR,UAAA,SAAS,MAAM,KAAK,UAAU,QAAwC,OAAO,EAAE,WAAW,EAAE,GAAG,GAAG;AACxG,WAAO,OAAO,UAAU;AAAA,EAAA;AAAA,EAIzB,MAAa,SAAS,IAAmC;AACxD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaR,UAAA,SAAS,MAAM,KAAK,UAAU,QAAiC,OAAO,EAAE,WAAW,EAAE,GAAG,GAAG;AACjG,WAAO,OAAO;AAAA,EAAA;AAEhB;;"}
1
+ {"version":3,"file":"ActionsClient.cjs","sources":["../../../../../../packages/cli/src/lib/actions/ActionsClient.ts"],"sourcesContent":["import { GraphQlClient } from '@contember/graphql-client'\n\nconst createActionsApiUrl = (url: string, project: string) => {\n\tif (url.endsWith('/')) {\n\t\turl = url.substring(0, url.length - 1)\n\t}\n\n\treturn url + '/actions/' + project\n}\nexport class ActionsClient {\n\tconstructor(private readonly apiClient: GraphQlClient) {\n\t}\n\n\tpublic static create(url: string, project: string, apiToken: string): ActionsClient {\n\t\tconst graphqlClient = new GraphQlClient({ url: createActionsApiUrl(url, project), apiToken })\n\t\treturn new ActionsClient(graphqlClient)\n\t}\n\n\tpublic async listVariables(): Promise<{ name: string; value: string }[]> {\n\t\tconst query = `query {\n variables {\n \tname\n \tvalue\n }\n}`\n\t\tconst result = await this.apiClient.execute<{\n\t\t\tvariables: Array<{ name: string; value: string }>\n\t\t}>(query)\n\t\treturn result.variables\n\t}\n\n\tpublic async setVariables(variables: { name: string; value: string }[], mode: 'MERGE' | 'SET' | 'APPEND_ONLY_MISSING'): Promise<boolean> {\n\t\tconst query = `mutation($variables: [VariableInput!]!, $mode: SetVariablesMode) {\n setVariables(args: { variables: $variables, mode: $mode }) {\n\tok\n }\n }`\n\t\tconst result = await this.apiClient.execute<{ setVariables: { ok: boolean } }>(query, { variables: { mode, variables } })\n\t\treturn result.setVariables.ok\n\t}\n\n\tpublic async listFailedEvents({ offset, limit }: { offset?: number; limit?: number } = {}): Promise<Event[]> {\n\t\tconst query = `query($offset: Int, $limit: Int) {\n failedEvents(args: { offset: $offset, limit: $limit }) {\n \tid\n \tcreatedAt\n \tlastStateChange\n \tvisibleAt\n \tnumRetries\n \tstate\n \ttarget\n \tpayload\n \tlog\n }\n}`\n\t\tconst result = await this.apiClient.execute<{\n\t\t\tfailedEvents: Event[]\n\t\t}>(query, { variables: { offset, limit } })\n\t\treturn result.failedEvents\n\t}\n\n\tpublic async retryEvent(id: string): Promise<boolean> {\n\t\tconst query = `mutation($id: UUID!) {\n retryEvent(id: $id) {\n \tok\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ retryEvent: { ok: boolean } }>(query, { variables: { id } })\n\t\treturn result.retryEvent.ok\n\t}\n\n\tpublic async stopEvent(id: string): Promise<boolean> {\n\t\tconst query = `mutation($id: UUID!) {\n stopEvent(id: $id) {\n \tok\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ stopEvent: { ok: boolean } }>(query, { variables: { id } })\n\t\treturn result.stopEvent.ok\n\t}\n\n\tpublic async getEvent(id: string): Promise<Event | null> {\n\t\tconst query = `query($id: UUID!) {\n event(id: $id) {\n \tid\n \tcreatedAt\n \tlastStateChange\n \tvisibleAt\n \tnumRetries\n \tstate\n \ttarget\n \tpayload\n \tlog\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ event: Event | null }>(query, { variables: { id } })\n\t\treturn result.event\n\t}\n}\n\nexport type Event = {\n\tid: string\n\tcreatedAt: string\n\tlastStateChange: string\n\tvisibleAt: string | null\n\tnumRetries: number\n\tstate: 'retrying' | 'failed'\n\ttarget: string\n\tpayload: any\n\tlog: any\n}\n"],"names":["graphqlClient","GraphQlClient"],"mappings":";;;AAEA,MAAM,sBAAsB,CAAC,KAAa,YAAoB;AAC7D,MAAI,IAAI,SAAS,GAAG,GAAG;AACtB,UAAM,IAAI,UAAU,GAAG,IAAI,SAAS,CAAC;AAAA,EACtC;AAEA,SAAO,MAAM,cAAc;AAC5B;AACO,MAAM,cAAc;AAAA,EAC1B,YAA6B,WAA0B;AAA1B,SAAA,YAAA;AAAA,EAC7B;AAAA,EAEA,OAAc,OAAO,KAAa,SAAiB,UAAiC;AACnF,UAAMA,kBAAgB,IAAIC,cAAAA,cAAc,EAAE,KAAK,oBAAoB,KAAK,OAAO,GAAG,UAAU;AAC5F,WAAO,IAAI,cAAcD,eAAa;AAAA,EACvC;AAAA,EAEA,MAAa,gBAA4D;AACxE,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAMd,UAAM,SAAS,MAAM,KAAK,UAAU,QAEjC,KAAK;AACR,WAAO,OAAO;AAAA,EACf;AAAA,EAEA,MAAa,aAAa,WAA8C,MAAiE;AACxI,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAA2C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAA,EAAU,CAAG;AACxH,WAAO,OAAO,aAAa;AAAA,EAC5B;AAAA,EAEA,MAAa,iBAAiB,EAAE,QAAQ,MAAA,IAA+C,CAAA,GAAsB;AAC5G,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAad,UAAM,SAAS,MAAM,KAAK,UAAU,QAEjC,OAAO,EAAE,WAAW,EAAE,QAAQ,MAAA,EAAM,CAAG;AAC1C,WAAO,OAAO;AAAA,EACf;AAAA,EAEA,MAAa,WAAW,IAA8B;AACrD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAAyC,OAAO,EAAE,WAAW,EAAE,GAAA,GAAM;AACzG,WAAO,OAAO,WAAW;AAAA,EAC1B;AAAA,EAEA,MAAa,UAAU,IAA8B;AACpD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAAwC,OAAO,EAAE,WAAW,EAAE,GAAA,GAAM;AACxG,WAAO,OAAO,UAAU;AAAA,EACzB;AAAA,EAEA,MAAa,SAAS,IAAmC;AACxD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAad,UAAM,SAAS,MAAM,KAAK,UAAU,QAAiC,OAAO,EAAE,WAAW,EAAE,GAAA,GAAM;AACjG,WAAO,OAAO;AAAA,EACf;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionsClient.js","sources":["../../../../../../packages/cli/src/lib/actions/ActionsClient.ts"],"sourcesContent":["import { GraphQlClient } from '@contember/graphql-client'\n\nconst createActionsApiUrl = (url: string, project: string) => {\n\tif (url.endsWith('/')) {\n\t\turl = url.substring(0, url.length - 1)\n\t}\n\n\treturn url + '/actions/' + project\n}\nexport class ActionsClient {\n\tconstructor(private readonly apiClient: GraphQlClient) {\n\t}\n\n\tpublic static create(url: string, project: string, apiToken: string): ActionsClient {\n\t\tconst graphqlClient = new GraphQlClient({ url: createActionsApiUrl(url, project), apiToken })\n\t\treturn new ActionsClient(graphqlClient)\n\t}\n\n\tpublic async listVariables(): Promise<{ name: string; value: string }[]> {\n\t\tconst query = `query {\n variables {\n \tname\n \tvalue\n }\n}`\n\t\tconst result = await this.apiClient.execute<{\n\t\t\tvariables: Array<{ name: string; value: string }>\n\t\t}>(query)\n\t\treturn result.variables\n\t}\n\n\tpublic async setVariables(variables: { name: string; value: string }[], mode: 'MERGE' | 'SET' | 'APPEND_ONLY_MISSING'): Promise<boolean> {\n\t\tconst query = `mutation($variables: [VariableInput!]!, $mode: SetVariablesMode) {\n setVariables(args: { variables: $variables, mode: $mode }) {\n\tok\n }\n }`\n\t\tconst result = await this.apiClient.execute<{ setVariables: { ok: boolean } }>(query, { variables: { mode, variables } })\n\t\treturn result.setVariables.ok\n\t}\n\n\tpublic async listFailedEvents({ offset, limit }: { offset?: number; limit?: number } = {}): Promise<Event[]> {\n\t\tconst query = `query($offset: Int, $limit: Int) {\n failedEvents(args: { offset: $offset, limit: $limit }) {\n \tid\n \tcreatedAt\n \tlastStateChange\n \tvisibleAt\n \tnumRetries\n \tstate\n \ttarget\n \tpayload\n \tlog\n }\n}`\n\t\tconst result = await this.apiClient.execute<{\n\t\t\tfailedEvents: Event[]\n\t\t}>(query, { variables: { offset, limit } })\n\t\treturn result.failedEvents\n\t}\n\n\tpublic async retryEvent(id: string): Promise<boolean> {\n\t\tconst query = `mutation($id: UUID!) {\n retryEvent(id: $id) {\n \tok\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ retryEvent: { ok: boolean } }>(query, { variables: { id } })\n\t\treturn result.retryEvent.ok\n\t}\n\n\tpublic async stopEvent(id: string): Promise<boolean> {\n\t\tconst query = `mutation($id: UUID!) {\n stopEvent(id: $id) {\n \tok\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ stopEvent: { ok: boolean } }>(query, { variables: { id } })\n\t\treturn result.stopEvent.ok\n\t}\n\n\n\tpublic async getEvent(id: string): Promise<Event | null> {\n\t\tconst query = `query($id: UUID!) {\n event(id: $id) {\n \tid\n \tcreatedAt\n \tlastStateChange\n \tvisibleAt\n \tnumRetries\n \tstate\n \ttarget\n \tpayload\n \tlog\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ event: Event | null }>(query, { variables: { id } })\n\t\treturn result.event\n\t}\n}\n\nexport type Event = {\n\tid: string\n\tcreatedAt: string\n\tlastStateChange: string\n\tvisibleAt: string | null\n\tnumRetries: number\n\tstate: 'retrying' | 'failed'\n\ttarget: string\n\tpayload: any\n\tlog: any\n}\n"],"names":[],"mappings":";AAEA,MAAM,sBAAsB,CAAC,KAAa,YAAoB;AACzD,MAAA,IAAI,SAAS,GAAG,GAAG;AACtB,UAAM,IAAI,UAAU,GAAG,IAAI,SAAS,CAAC;AAAA,EAAA;AAGtC,SAAO,MAAM,cAAc;AAC5B;AACO,MAAM,cAAc;AAAA,EAC1B,YAA6B,WAA0B;AAA1B,SAAA,YAAA;AAAA,EAAA;AAAA,EAG7B,OAAc,OAAO,KAAa,SAAiB,UAAiC;AAC7E,UAAA,gBAAgB,IAAI,cAAc,EAAE,KAAK,oBAAoB,KAAK,OAAO,GAAG,UAAU;AACrF,WAAA,IAAI,cAAc,aAAa;AAAA,EAAA;AAAA,EAGvC,MAAa,gBAA4D;AACxE,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAMd,UAAM,SAAS,MAAM,KAAK,UAAU,QAEjC,KAAK;AACR,WAAO,OAAO;AAAA,EAAA;AAAA,EAGf,MAAa,aAAa,WAA8C,MAAiE;AACxI,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAA2C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,EAAA,CAAG;AACxH,WAAO,OAAO,aAAa;AAAA,EAAA;AAAA,EAG5B,MAAa,iBAAiB,EAAE,QAAQ,MAAM,IAAyC,CAAA,GAAsB;AAC5G,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAad,UAAM,SAAS,MAAM,KAAK,UAAU,QAEjC,OAAO,EAAE,WAAW,EAAE,QAAQ,MAAM,EAAA,CAAG;AAC1C,WAAO,OAAO;AAAA,EAAA;AAAA,EAGf,MAAa,WAAW,IAA8B;AACrD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKR,UAAA,SAAS,MAAM,KAAK,UAAU,QAAyC,OAAO,EAAE,WAAW,EAAE,GAAG,GAAG;AACzG,WAAO,OAAO,WAAW;AAAA,EAAA;AAAA,EAG1B,MAAa,UAAU,IAA8B;AACpD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKR,UAAA,SAAS,MAAM,KAAK,UAAU,QAAwC,OAAO,EAAE,WAAW,EAAE,GAAG,GAAG;AACxG,WAAO,OAAO,UAAU;AAAA,EAAA;AAAA,EAIzB,MAAa,SAAS,IAAmC;AACxD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaR,UAAA,SAAS,MAAM,KAAK,UAAU,QAAiC,OAAO,EAAE,WAAW,EAAE,GAAG,GAAG;AACjG,WAAO,OAAO;AAAA,EAAA;AAEhB;"}
1
+ {"version":3,"file":"ActionsClient.js","sources":["../../../../../../packages/cli/src/lib/actions/ActionsClient.ts"],"sourcesContent":["import { GraphQlClient } from '@contember/graphql-client'\n\nconst createActionsApiUrl = (url: string, project: string) => {\n\tif (url.endsWith('/')) {\n\t\turl = url.substring(0, url.length - 1)\n\t}\n\n\treturn url + '/actions/' + project\n}\nexport class ActionsClient {\n\tconstructor(private readonly apiClient: GraphQlClient) {\n\t}\n\n\tpublic static create(url: string, project: string, apiToken: string): ActionsClient {\n\t\tconst graphqlClient = new GraphQlClient({ url: createActionsApiUrl(url, project), apiToken })\n\t\treturn new ActionsClient(graphqlClient)\n\t}\n\n\tpublic async listVariables(): Promise<{ name: string; value: string }[]> {\n\t\tconst query = `query {\n variables {\n \tname\n \tvalue\n }\n}`\n\t\tconst result = await this.apiClient.execute<{\n\t\t\tvariables: Array<{ name: string; value: string }>\n\t\t}>(query)\n\t\treturn result.variables\n\t}\n\n\tpublic async setVariables(variables: { name: string; value: string }[], mode: 'MERGE' | 'SET' | 'APPEND_ONLY_MISSING'): Promise<boolean> {\n\t\tconst query = `mutation($variables: [VariableInput!]!, $mode: SetVariablesMode) {\n setVariables(args: { variables: $variables, mode: $mode }) {\n\tok\n }\n }`\n\t\tconst result = await this.apiClient.execute<{ setVariables: { ok: boolean } }>(query, { variables: { mode, variables } })\n\t\treturn result.setVariables.ok\n\t}\n\n\tpublic async listFailedEvents({ offset, limit }: { offset?: number; limit?: number } = {}): Promise<Event[]> {\n\t\tconst query = `query($offset: Int, $limit: Int) {\n failedEvents(args: { offset: $offset, limit: $limit }) {\n \tid\n \tcreatedAt\n \tlastStateChange\n \tvisibleAt\n \tnumRetries\n \tstate\n \ttarget\n \tpayload\n \tlog\n }\n}`\n\t\tconst result = await this.apiClient.execute<{\n\t\t\tfailedEvents: Event[]\n\t\t}>(query, { variables: { offset, limit } })\n\t\treturn result.failedEvents\n\t}\n\n\tpublic async retryEvent(id: string): Promise<boolean> {\n\t\tconst query = `mutation($id: UUID!) {\n retryEvent(id: $id) {\n \tok\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ retryEvent: { ok: boolean } }>(query, { variables: { id } })\n\t\treturn result.retryEvent.ok\n\t}\n\n\tpublic async stopEvent(id: string): Promise<boolean> {\n\t\tconst query = `mutation($id: UUID!) {\n stopEvent(id: $id) {\n \tok\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ stopEvent: { ok: boolean } }>(query, { variables: { id } })\n\t\treturn result.stopEvent.ok\n\t}\n\n\tpublic async getEvent(id: string): Promise<Event | null> {\n\t\tconst query = `query($id: UUID!) {\n event(id: $id) {\n \tid\n \tcreatedAt\n \tlastStateChange\n \tvisibleAt\n \tnumRetries\n \tstate\n \ttarget\n \tpayload\n \tlog\n }\n}`\n\t\tconst result = await this.apiClient.execute<{ event: Event | null }>(query, { variables: { id } })\n\t\treturn result.event\n\t}\n}\n\nexport type Event = {\n\tid: string\n\tcreatedAt: string\n\tlastStateChange: string\n\tvisibleAt: string | null\n\tnumRetries: number\n\tstate: 'retrying' | 'failed'\n\ttarget: string\n\tpayload: any\n\tlog: any\n}\n"],"names":[],"mappings":";AAEA,MAAM,sBAAsB,CAAC,KAAa,YAAoB;AAC7D,MAAI,IAAI,SAAS,GAAG,GAAG;AACtB,UAAM,IAAI,UAAU,GAAG,IAAI,SAAS,CAAC;AAAA,EACtC;AAEA,SAAO,MAAM,cAAc;AAC5B;AACO,MAAM,cAAc;AAAA,EAC1B,YAA6B,WAA0B;AAA1B,SAAA,YAAA;AAAA,EAC7B;AAAA,EAEA,OAAc,OAAO,KAAa,SAAiB,UAAiC;AACnF,UAAM,gBAAgB,IAAI,cAAc,EAAE,KAAK,oBAAoB,KAAK,OAAO,GAAG,UAAU;AAC5F,WAAO,IAAI,cAAc,aAAa;AAAA,EACvC;AAAA,EAEA,MAAa,gBAA4D;AACxE,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAMd,UAAM,SAAS,MAAM,KAAK,UAAU,QAEjC,KAAK;AACR,WAAO,OAAO;AAAA,EACf;AAAA,EAEA,MAAa,aAAa,WAA8C,MAAiE;AACxI,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAA2C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAA,EAAU,CAAG;AACxH,WAAO,OAAO,aAAa;AAAA,EAC5B;AAAA,EAEA,MAAa,iBAAiB,EAAE,QAAQ,MAAA,IAA+C,CAAA,GAAsB;AAC5G,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAad,UAAM,SAAS,MAAM,KAAK,UAAU,QAEjC,OAAO,EAAE,WAAW,EAAE,QAAQ,MAAA,EAAM,CAAG;AAC1C,WAAO,OAAO;AAAA,EACf;AAAA,EAEA,MAAa,WAAW,IAA8B;AACrD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAAyC,OAAO,EAAE,WAAW,EAAE,GAAA,GAAM;AACzG,WAAO,OAAO,WAAW;AAAA,EAC1B;AAAA,EAEA,MAAa,UAAU,IAA8B;AACpD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKd,UAAM,SAAS,MAAM,KAAK,UAAU,QAAwC,OAAO,EAAE,WAAW,EAAE,GAAA,GAAM;AACxG,WAAO,OAAO,UAAU;AAAA,EACzB;AAAA,EAEA,MAAa,SAAS,IAAmC;AACxD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAad,UAAM,SAAS,MAAM,KAAK,UAAU,QAAiC,OAAO,EAAE,WAAW,EAAE,GAAA,GAAM;AACjG,WAAO,OAAO;AAAA,EACf;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AdminClient.cjs","sources":["../../../../../../packages/cli/src/lib/admin/AdminClient.ts"],"sourcesContent":["import { maskToken } from '../maskToken'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport type AdminFiles = Array<{ path: string; data: string }>\nexport class AdminClient {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic async deploy(project: string | null, files: AdminFiles): Promise<void> {\n\t\tconst response = await this.execute('_deploy', 'POST', { project, files })\n\n\t\tif (!response.ok) {\n\t\t\tconst project = this.remoteProjectProvider.get()\n\t\t\tconst maskedToken = maskToken(project.token)\n\t\t\tthrow `Failed to deploy admin, POST request to ${project.adminEndpoint}/_deploy with token ${maskedToken} returned status ${response.status} ${response.statusText}\\n${await response.text()}`\n\t\t}\n\t}\n\n\tprivate async execute(path: string, method: string, body: any): Promise<Response> {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\tif (!project.adminEndpoint) {\n\t\t\tthrow new Error('Admin endpoint not set')\n\t\t}\n\t\treturn await fetch(`${project.adminEndpoint}/${path}`, {\n\t\t\tmethod: method,\n\t\t\theaders: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${project.token}` },\n\t\t\tbody: JSON.stringify(body),\n\t\t})\n\t}\n\n}\n"],"names":["project","maskToken"],"mappings":";;;AAIO,MAAM,YAAY;AAAA,EACxB,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,EAAA;AAAA,EAIlB,MAAa,OAAO,SAAwB,OAAkC;AACvE,UAAA,WAAW,MAAM,KAAK,QAAQ,WAAW,QAAQ,EAAE,SAAS,OAAO;AAErE,QAAA,CAAC,SAAS,IAAI;AACXA,YAAAA,WAAU,KAAK,sBAAsB,IAAI;AACzC,YAAA,cAAcC,UAAAA,UAAUD,SAAQ,KAAK;AACrC,YAAA,2CAA2CA,SAAQ,aAAa,uBAAuB,WAAW,oBAAoB,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,EAAK,MAAM,SAAS,KAAA,CAAM;AAAA,IAAA;AAAA,EAC7L;AAAA,EAGD,MAAc,QAAQ,MAAc,QAAgB,MAA8B;AAC3E,UAAA,UAAU,KAAK,sBAAsB,IAAI;AAC3C,QAAA,CAAC,QAAQ,eAAe;AACrB,YAAA,IAAI,MAAM,wBAAwB;AAAA,IAAA;AAEzC,WAAO,MAAM,MAAM,GAAG,QAAQ,aAAa,IAAI,IAAI,IAAI;AAAA,MACtD;AAAA,MACA,SAAS,EAAE,gBAAgB,oBAAoB,iBAAiB,UAAU,QAAQ,KAAK,GAAG;AAAA,MAC1F,MAAM,KAAK,UAAU,IAAI;AAAA,IAAA,CACzB;AAAA,EAAA;AAGH;;"}
1
+ {"version":3,"file":"AdminClient.cjs","sources":["../../../../../../packages/cli/src/lib/admin/AdminClient.ts"],"sourcesContent":["import { maskToken } from '../maskToken'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport type AdminFiles = Array<{ path: string; data: string }>\nexport class AdminClient {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic async deploy(project: string | null, files: AdminFiles): Promise<void> {\n\t\tconst response = await this.execute('_deploy', 'POST', { project, files })\n\n\t\tif (!response.ok) {\n\t\t\tconst project = this.remoteProjectProvider.get()\n\t\t\tconst maskedToken = maskToken(project.token)\n\t\t\tthrow `Failed to deploy admin, POST request to ${project.adminEndpoint}/_deploy with token ${maskedToken} returned status ${response.status} ${response.statusText}\\n${await response\n\t\t\t\t.text()}`\n\t\t}\n\t}\n\n\tprivate async execute(path: string, method: string, body: any): Promise<Response> {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\tif (!project.adminEndpoint) {\n\t\t\tthrow new Error('Admin endpoint not set')\n\t\t}\n\t\treturn await fetch(`${project.adminEndpoint}/${path}`, {\n\t\t\tmethod: method,\n\t\t\theaders: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${project.token}` },\n\t\t\tbody: JSON.stringify(body),\n\t\t})\n\t}\n}\n"],"names":["project","maskToken"],"mappings":";;;AAIO,MAAM,YAAY;AAAA,EACxB,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,EAElB;AAAA,EAEA,MAAa,OAAO,SAAwB,OAAkC;AAC7E,UAAM,WAAW,MAAM,KAAK,QAAQ,WAAW,QAAQ,EAAE,SAAS,OAAO;AAEzE,QAAI,CAAC,SAAS,IAAI;AACjB,YAAMA,WAAU,KAAK,sBAAsB,IAAA;AAC3C,YAAM,cAAcC,UAAAA,UAAUD,SAAQ,KAAK;AAC3C,YAAM,2CAA2CA,SAAQ,aAAa,uBAAuB,WAAW,oBAAoB,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,EAAK,MAAM,SAC3K,KAAA,CAAM;AAAA,IACT;AAAA,EACD;AAAA,EAEA,MAAc,QAAQ,MAAc,QAAgB,MAA8B;AACjF,UAAM,UAAU,KAAK,sBAAsB,IAAA;AAC3C,QAAI,CAAC,QAAQ,eAAe;AAC3B,YAAM,IAAI,MAAM,wBAAwB;AAAA,IACzC;AACA,WAAO,MAAM,MAAM,GAAG,QAAQ,aAAa,IAAI,IAAI,IAAI;AAAA,MACtD;AAAA,MACA,SAAS,EAAE,gBAAgB,oBAAoB,iBAAiB,UAAU,QAAQ,KAAK,GAAA;AAAA,MACvF,MAAM,KAAK,UAAU,IAAI;AAAA,IAAA,CACzB;AAAA,EACF;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AdminClient.js","sources":["../../../../../../packages/cli/src/lib/admin/AdminClient.ts"],"sourcesContent":["import { maskToken } from '../maskToken'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport type AdminFiles = Array<{ path: string; data: string }>\nexport class AdminClient {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic async deploy(project: string | null, files: AdminFiles): Promise<void> {\n\t\tconst response = await this.execute('_deploy', 'POST', { project, files })\n\n\t\tif (!response.ok) {\n\t\t\tconst project = this.remoteProjectProvider.get()\n\t\t\tconst maskedToken = maskToken(project.token)\n\t\t\tthrow `Failed to deploy admin, POST request to ${project.adminEndpoint}/_deploy with token ${maskedToken} returned status ${response.status} ${response.statusText}\\n${await response.text()}`\n\t\t}\n\t}\n\n\tprivate async execute(path: string, method: string, body: any): Promise<Response> {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\tif (!project.adminEndpoint) {\n\t\t\tthrow new Error('Admin endpoint not set')\n\t\t}\n\t\treturn await fetch(`${project.adminEndpoint}/${path}`, {\n\t\t\tmethod: method,\n\t\t\theaders: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${project.token}` },\n\t\t\tbody: JSON.stringify(body),\n\t\t})\n\t}\n\n}\n"],"names":["project"],"mappings":";AAIO,MAAM,YAAY;AAAA,EACxB,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,EAAA;AAAA,EAIlB,MAAa,OAAO,SAAwB,OAAkC;AACvE,UAAA,WAAW,MAAM,KAAK,QAAQ,WAAW,QAAQ,EAAE,SAAS,OAAO;AAErE,QAAA,CAAC,SAAS,IAAI;AACXA,YAAAA,WAAU,KAAK,sBAAsB,IAAI;AACzC,YAAA,cAAc,UAAUA,SAAQ,KAAK;AACrC,YAAA,2CAA2CA,SAAQ,aAAa,uBAAuB,WAAW,oBAAoB,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,EAAK,MAAM,SAAS,KAAA,CAAM;AAAA,IAAA;AAAA,EAC7L;AAAA,EAGD,MAAc,QAAQ,MAAc,QAAgB,MAA8B;AAC3E,UAAA,UAAU,KAAK,sBAAsB,IAAI;AAC3C,QAAA,CAAC,QAAQ,eAAe;AACrB,YAAA,IAAI,MAAM,wBAAwB;AAAA,IAAA;AAEzC,WAAO,MAAM,MAAM,GAAG,QAAQ,aAAa,IAAI,IAAI,IAAI;AAAA,MACtD;AAAA,MACA,SAAS,EAAE,gBAAgB,oBAAoB,iBAAiB,UAAU,QAAQ,KAAK,GAAG;AAAA,MAC1F,MAAM,KAAK,UAAU,IAAI;AAAA,IAAA,CACzB;AAAA,EAAA;AAGH;"}
1
+ {"version":3,"file":"AdminClient.js","sources":["../../../../../../packages/cli/src/lib/admin/AdminClient.ts"],"sourcesContent":["import { maskToken } from '../maskToken'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport type AdminFiles = Array<{ path: string; data: string }>\nexport class AdminClient {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t) {\n\t}\n\n\tpublic async deploy(project: string | null, files: AdminFiles): Promise<void> {\n\t\tconst response = await this.execute('_deploy', 'POST', { project, files })\n\n\t\tif (!response.ok) {\n\t\t\tconst project = this.remoteProjectProvider.get()\n\t\t\tconst maskedToken = maskToken(project.token)\n\t\t\tthrow `Failed to deploy admin, POST request to ${project.adminEndpoint}/_deploy with token ${maskedToken} returned status ${response.status} ${response.statusText}\\n${await response\n\t\t\t\t.text()}`\n\t\t}\n\t}\n\n\tprivate async execute(path: string, method: string, body: any): Promise<Response> {\n\t\tconst project = this.remoteProjectProvider.get()\n\t\tif (!project.adminEndpoint) {\n\t\t\tthrow new Error('Admin endpoint not set')\n\t\t}\n\t\treturn await fetch(`${project.adminEndpoint}/${path}`, {\n\t\t\tmethod: method,\n\t\t\theaders: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${project.token}` },\n\t\t\tbody: JSON.stringify(body),\n\t\t})\n\t}\n}\n"],"names":["project"],"mappings":";AAIO,MAAM,YAAY;AAAA,EACxB,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,EAElB;AAAA,EAEA,MAAa,OAAO,SAAwB,OAAkC;AAC7E,UAAM,WAAW,MAAM,KAAK,QAAQ,WAAW,QAAQ,EAAE,SAAS,OAAO;AAEzE,QAAI,CAAC,SAAS,IAAI;AACjB,YAAMA,WAAU,KAAK,sBAAsB,IAAA;AAC3C,YAAM,cAAc,UAAUA,SAAQ,KAAK;AAC3C,YAAM,2CAA2CA,SAAQ,aAAa,uBAAuB,WAAW,oBAAoB,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,EAAK,MAAM,SAC3K,KAAA,CAAM;AAAA,IACT;AAAA,EACD;AAAA,EAEA,MAAc,QAAQ,MAAc,QAAgB,MAA8B;AACjF,UAAM,UAAU,KAAK,sBAAsB,IAAA;AAC3C,QAAI,CAAC,QAAQ,eAAe;AAC3B,YAAM,IAAI,MAAM,wBAAwB;AAAA,IACzC;AACA,WAAO,MAAM,MAAM,GAAG,QAAQ,aAAa,IAAI,IAAI,IAAI;AAAA,MACtD;AAAA,MACA,SAAS,EAAE,gBAAgB,oBAAoB,iBAAiB,UAAU,QAAQ,KAAK,GAAA;AAAA,MACvF,MAAM,KAAK,UAAU,IAAI;AAAA,IAAA,CACzB;AAAA,EACF;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AdminDeployer.cjs","sources":["../../../../../../packages/cli/src/lib/admin/AdminDeployer.ts"],"sourcesContent":["import { AdminClient, AdminFiles } from './AdminClient'\nimport { FileSystem } from '../fs/FileSystem'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport class AdminDeployer {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t\tprivate readonly adminClient: AdminClient,\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\tpublic deploy = async ({ dir, root }: {\n\t\tdir: string\n\t\troot: boolean\n\t}) => {\n\t\tconsole.log('Deploying admin...')\n\t\tconst files = await this.readAdminFiles(dir)\n\t\tconst project = root ? null : this.remoteProjectProvider.get().name\n\n\t\t// in some cases you need deploy whole folder with custom build etc.\n\t\t// with root option you can build app on your own and simply deploy it with subprojects\n\t\tawait this.adminClient.deploy(project, files)\n\n\t\tconsole.log(`Admin deployed (${files.length} files)`)\n\t}\n\n\n\tprivate readAdminFiles = async (dir: string, prefix: string = ''): Promise<AdminFiles> => {\n\t\tconst files = []\n\t\tfor (const fileName of await this.fs.readDir(dir, { withFileTypes: true })) {\n\t\t\tif (fileName.isDirectory()) {\n\t\t\t\tconst subFiles = await this.readAdminFiles(`${dir}/${fileName.name}`, prefix + fileName.name + '/')\n\t\t\t\tfiles.push(...subFiles)\n\t\t\t} else if (fileName.isFile()) {\n\t\t\t\tfiles.push({\n\t\t\t\t\tpath: prefix + fileName.name,\n\t\t\t\t\tdata: (await this.fs.readFile(`${dir}/${fileName.name}`)).toString('base64'),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\treturn files\n\t}\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,cAAc;AAAA,EAC1B,YACkB,uBACA,aACA,IAChB;AAHgB,SAAA,wBAAA;AACA,SAAA,cAAA;AACA,SAAA,KAAA;AAIlB,kBAAA,MAAO,UAAS,OAAO,EAAE,KAAK,WAGxB;AACL,cAAQ,IAAI,oBAAoB;AAChC,YAAM,QAAQ,MAAM,KAAK,eAAe,GAAG;AAC3C,YAAM,UAAU,OAAO,OAAO,KAAK,sBAAsB,MAAM;AAI/D,YAAM,KAAK,YAAY,OAAO,SAAS,KAAK;AAE5C,cAAQ,IAAI,mBAAmB,MAAM,MAAM,SAAS;AAAA,IAAA,CACrD;AAGA,kBAAA,MAAQ,kBAAiB,OAAO,KAAa,SAAiB,OAA4B;AACzF,YAAM,QAAQ,CAAC;AACJ,iBAAA,YAAY,MAAM,KAAK,GAAG,QAAQ,KAAK,EAAE,eAAe,KAAK,CAAC,GAAG;AACvE,YAAA,SAAS,eAAe;AAC3B,gBAAM,WAAW,MAAM,KAAK,eAAe,GAAG,GAAG,IAAI,SAAS,IAAI,IAAI,SAAS,SAAS,OAAO,GAAG;AAC5F,gBAAA,KAAK,GAAG,QAAQ;AAAA,QAAA,WACZ,SAAS,UAAU;AAC7B,gBAAM,KAAK;AAAA,YACV,MAAM,SAAS,SAAS;AAAA,YACxB,OAAO,MAAM,KAAK,GAAG,SAAS,GAAG,GAAG,IAAI,SAAS,IAAI,EAAE,GAAG,SAAS,QAAQ;AAAA,UAAA,CAC3E;AAAA,QAAA;AAAA,MACF;AAGM,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AACD;;"}
1
+ {"version":3,"file":"AdminDeployer.cjs","sources":["../../../../../../packages/cli/src/lib/admin/AdminDeployer.ts"],"sourcesContent":["import { AdminClient, AdminFiles } from './AdminClient'\nimport { FileSystem } from '../fs/FileSystem'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport class AdminDeployer {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t\tprivate readonly adminClient: AdminClient,\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\tpublic deploy = async ({ dir, root }: {\n\t\tdir: string\n\t\troot: boolean\n\t}) => {\n\t\tconsole.log('Deploying admin...')\n\t\tconst files = await this.readAdminFiles(dir)\n\t\tconst project = root ? null : this.remoteProjectProvider.get().name\n\n\t\t// in some cases you need deploy whole folder with custom build etc.\n\t\t// with root option you can build app on your own and simply deploy it with subprojects\n\t\tawait this.adminClient.deploy(project, files)\n\n\t\tconsole.log(`Admin deployed (${files.length} files)`)\n\t}\n\n\tprivate readAdminFiles = async (dir: string, prefix: string = ''): Promise<AdminFiles> => {\n\t\tconst files = []\n\t\tfor (const fileName of await this.fs.readDir(dir, { withFileTypes: true })) {\n\t\t\tif (fileName.isDirectory()) {\n\t\t\t\tconst subFiles = await this.readAdminFiles(`${dir}/${fileName.name}`, prefix + fileName.name + '/')\n\t\t\t\tfiles.push(...subFiles)\n\t\t\t} else if (fileName.isFile()) {\n\t\t\t\tfiles.push({\n\t\t\t\t\tpath: prefix + fileName.name,\n\t\t\t\t\tdata: (await this.fs.readFile(`${dir}/${fileName.name}`)).toString('base64'),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\treturn files\n\t}\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,cAAc;AAAA,EAC1B,YACkB,uBACA,aACA,IAChB;AAHgB,SAAA,wBAAA;AACA,SAAA,cAAA;AACA,SAAA,KAAA;AAIlB,kBAAA,MAAO,UAAS,OAAO,EAAE,KAAK,WAGxB;AACL,cAAQ,IAAI,oBAAoB;AAChC,YAAM,QAAQ,MAAM,KAAK,eAAe,GAAG;AAC3C,YAAM,UAAU,OAAO,OAAO,KAAK,sBAAsB,MAAM;AAI/D,YAAM,KAAK,YAAY,OAAO,SAAS,KAAK;AAE5C,cAAQ,IAAI,mBAAmB,MAAM,MAAM,SAAS;AAAA,IACrD,CAAA;AAEA,kBAAA,MAAQ,kBAAiB,OAAO,KAAa,SAAiB,OAA4B;AACzF,YAAM,QAAQ,CAAA;AACd,iBAAW,YAAY,MAAM,KAAK,GAAG,QAAQ,KAAK,EAAE,eAAe,KAAA,CAAM,GAAG;AAC3E,YAAI,SAAS,eAAe;AAC3B,gBAAM,WAAW,MAAM,KAAK,eAAe,GAAG,GAAG,IAAI,SAAS,IAAI,IAAI,SAAS,SAAS,OAAO,GAAG;AAClG,gBAAM,KAAK,GAAG,QAAQ;AAAA,QACvB,WAAW,SAAS,UAAU;AAC7B,gBAAM,KAAK;AAAA,YACV,MAAM,SAAS,SAAS;AAAA,YACxB,OAAO,MAAM,KAAK,GAAG,SAAS,GAAG,GAAG,IAAI,SAAS,IAAI,EAAE,GAAG,SAAS,QAAQ;AAAA,UAAA,CAC3E;AAAA,QACF;AAAA,MACD;AAEA,aAAO;AAAA,IACR,CAAA;AAAA,EAhCA;AAiCD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AdminDeployer.js","sources":["../../../../../../packages/cli/src/lib/admin/AdminDeployer.ts"],"sourcesContent":["import { AdminClient, AdminFiles } from './AdminClient'\nimport { FileSystem } from '../fs/FileSystem'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport class AdminDeployer {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t\tprivate readonly adminClient: AdminClient,\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\tpublic deploy = async ({ dir, root }: {\n\t\tdir: string\n\t\troot: boolean\n\t}) => {\n\t\tconsole.log('Deploying admin...')\n\t\tconst files = await this.readAdminFiles(dir)\n\t\tconst project = root ? null : this.remoteProjectProvider.get().name\n\n\t\t// in some cases you need deploy whole folder with custom build etc.\n\t\t// with root option you can build app on your own and simply deploy it with subprojects\n\t\tawait this.adminClient.deploy(project, files)\n\n\t\tconsole.log(`Admin deployed (${files.length} files)`)\n\t}\n\n\n\tprivate readAdminFiles = async (dir: string, prefix: string = ''): Promise<AdminFiles> => {\n\t\tconst files = []\n\t\tfor (const fileName of await this.fs.readDir(dir, { withFileTypes: true })) {\n\t\t\tif (fileName.isDirectory()) {\n\t\t\t\tconst subFiles = await this.readAdminFiles(`${dir}/${fileName.name}`, prefix + fileName.name + '/')\n\t\t\t\tfiles.push(...subFiles)\n\t\t\t} else if (fileName.isFile()) {\n\t\t\t\tfiles.push({\n\t\t\t\t\tpath: prefix + fileName.name,\n\t\t\t\t\tdata: (await this.fs.readFile(`${dir}/${fileName.name}`)).toString('base64'),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\treturn files\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,cAAc;AAAA,EAC1B,YACkB,uBACA,aACA,IAChB;AAHgB,SAAA,wBAAA;AACA,SAAA,cAAA;AACA,SAAA,KAAA;AAIlB,kBAAA,MAAO,UAAS,OAAO,EAAE,KAAK,WAGxB;AACL,cAAQ,IAAI,oBAAoB;AAChC,YAAM,QAAQ,MAAM,KAAK,eAAe,GAAG;AAC3C,YAAM,UAAU,OAAO,OAAO,KAAK,sBAAsB,MAAM;AAI/D,YAAM,KAAK,YAAY,OAAO,SAAS,KAAK;AAE5C,cAAQ,IAAI,mBAAmB,MAAM,MAAM,SAAS;AAAA,IAAA,CACrD;AAGA,kBAAA,MAAQ,kBAAiB,OAAO,KAAa,SAAiB,OAA4B;AACzF,YAAM,QAAQ,CAAC;AACJ,iBAAA,YAAY,MAAM,KAAK,GAAG,QAAQ,KAAK,EAAE,eAAe,KAAK,CAAC,GAAG;AACvE,YAAA,SAAS,eAAe;AAC3B,gBAAM,WAAW,MAAM,KAAK,eAAe,GAAG,GAAG,IAAI,SAAS,IAAI,IAAI,SAAS,SAAS,OAAO,GAAG;AAC5F,gBAAA,KAAK,GAAG,QAAQ;AAAA,QAAA,WACZ,SAAS,UAAU;AAC7B,gBAAM,KAAK;AAAA,YACV,MAAM,SAAS,SAAS;AAAA,YACxB,OAAO,MAAM,KAAK,GAAG,SAAS,GAAG,GAAG,IAAI,SAAS,IAAI,EAAE,GAAG,SAAS,QAAQ;AAAA,UAAA,CAC3E;AAAA,QAAA;AAAA,MACF;AAGM,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AACD;"}
1
+ {"version":3,"file":"AdminDeployer.js","sources":["../../../../../../packages/cli/src/lib/admin/AdminDeployer.ts"],"sourcesContent":["import { AdminClient, AdminFiles } from './AdminClient'\nimport { FileSystem } from '../fs/FileSystem'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport class AdminDeployer {\n\tconstructor(\n\t\tprivate readonly remoteProjectProvider: RemoteProjectProvider,\n\t\tprivate readonly adminClient: AdminClient,\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\tpublic deploy = async ({ dir, root }: {\n\t\tdir: string\n\t\troot: boolean\n\t}) => {\n\t\tconsole.log('Deploying admin...')\n\t\tconst files = await this.readAdminFiles(dir)\n\t\tconst project = root ? null : this.remoteProjectProvider.get().name\n\n\t\t// in some cases you need deploy whole folder with custom build etc.\n\t\t// with root option you can build app on your own and simply deploy it with subprojects\n\t\tawait this.adminClient.deploy(project, files)\n\n\t\tconsole.log(`Admin deployed (${files.length} files)`)\n\t}\n\n\tprivate readAdminFiles = async (dir: string, prefix: string = ''): Promise<AdminFiles> => {\n\t\tconst files = []\n\t\tfor (const fileName of await this.fs.readDir(dir, { withFileTypes: true })) {\n\t\t\tif (fileName.isDirectory()) {\n\t\t\t\tconst subFiles = await this.readAdminFiles(`${dir}/${fileName.name}`, prefix + fileName.name + '/')\n\t\t\t\tfiles.push(...subFiles)\n\t\t\t} else if (fileName.isFile()) {\n\t\t\t\tfiles.push({\n\t\t\t\t\tpath: prefix + fileName.name,\n\t\t\t\t\tdata: (await this.fs.readFile(`${dir}/${fileName.name}`)).toString('base64'),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\treturn files\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,cAAc;AAAA,EAC1B,YACkB,uBACA,aACA,IAChB;AAHgB,SAAA,wBAAA;AACA,SAAA,cAAA;AACA,SAAA,KAAA;AAIlB,kBAAA,MAAO,UAAS,OAAO,EAAE,KAAK,WAGxB;AACL,cAAQ,IAAI,oBAAoB;AAChC,YAAM,QAAQ,MAAM,KAAK,eAAe,GAAG;AAC3C,YAAM,UAAU,OAAO,OAAO,KAAK,sBAAsB,MAAM;AAI/D,YAAM,KAAK,YAAY,OAAO,SAAS,KAAK;AAE5C,cAAQ,IAAI,mBAAmB,MAAM,MAAM,SAAS;AAAA,IACrD,CAAA;AAEA,kBAAA,MAAQ,kBAAiB,OAAO,KAAa,SAAiB,OAA4B;AACzF,YAAM,QAAQ,CAAA;AACd,iBAAW,YAAY,MAAM,KAAK,GAAG,QAAQ,KAAK,EAAE,eAAe,KAAA,CAAM,GAAG;AAC3E,YAAI,SAAS,eAAe;AAC3B,gBAAM,WAAW,MAAM,KAAK,eAAe,GAAG,GAAG,IAAI,SAAS,IAAI,IAAI,SAAS,SAAS,OAAO,GAAG;AAClG,gBAAM,KAAK,GAAG,QAAQ;AAAA,QACvB,WAAW,SAAS,UAAU;AAC7B,gBAAM,KAAK;AAAA,YACV,MAAM,SAAS,SAAS;AAAA,YACxB,OAAO,MAAM,KAAK,GAAG,SAAS,GAAG,GAAG,IAAI,SAAS,IAAI,EAAE,GAAG,SAAS,QAAQ;AAAA,UAAA,CAC3E;AAAA,QACF;AAAA,MACD;AAEA,aAAO;AAAA,IACR,CAAA;AAAA,EAhCA;AAiCD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"assertNever.cjs","sources":["../../../../../packages/cli/src/lib/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":";;AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,MAAM;AACjB;;"}
1
+ {"version":3,"file":"assertNever.cjs","sources":["../../../../../packages/cli/src/lib/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":";;AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,MAAA;AACX;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"assertNever.js","sources":["../../../../../packages/cli/src/lib/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,MAAM;AACjB;"}
1
+ {"version":3,"file":"assertNever.js","sources":["../../../../../packages/cli/src/lib/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,MAAA;AACX;"}
@@ -1 +1 @@
1
- {"version":3,"file":"dsn.cjs","sources":["../../../../../packages/cli/src/lib/dsn.ts"],"sourcesContent":["import { URL } from 'node:url'\n\nexport const parseDsn = (dsn: string): { endpoint: string; project: string; token: string } => {\n\tconst uri = new URL(dsn)\n\tif (uri.protocol !== 'contember:' && uri.protocol !== 'contember-unsecure:') {\n\t\tthrow 'Invalid DSN'\n\t}\n\treturn {\n\t\tproject: uri.username,\n\t\ttoken: uri.password,\n\t\tendpoint: (uri.protocol === 'contember-unsecure:' ? 'http://' : 'https://') + uri.host,\n\t}\n}\n"],"names":["URL"],"mappings":";;;AAEa,MAAA,WAAW,CAAC,QAAsE;AACxF,QAAA,MAAM,IAAIA,SAAA,IAAI,GAAG;AACvB,MAAI,IAAI,aAAa,gBAAgB,IAAI,aAAa,uBAAuB;AACtE,UAAA;AAAA,EAAA;AAEA,SAAA;AAAA,IACN,SAAS,IAAI;AAAA,IACb,OAAO,IAAI;AAAA,IACX,WAAW,IAAI,aAAa,wBAAwB,YAAY,cAAc,IAAI;AAAA,EACnF;AACD;;"}
1
+ {"version":3,"file":"dsn.cjs","sources":["../../../../../packages/cli/src/lib/dsn.ts"],"sourcesContent":["import { URL } from 'node:url'\n\nexport const parseDsn = (dsn: string): { endpoint: string; project: string; token: string } => {\n\tconst uri = new URL(dsn)\n\tif (uri.protocol !== 'contember:' && uri.protocol !== 'contember-unsecure:') {\n\t\tthrow 'Invalid DSN'\n\t}\n\treturn {\n\t\tproject: uri.username,\n\t\ttoken: uri.password,\n\t\tendpoint: (uri.protocol === 'contember-unsecure:' ? 'http://' : 'https://') + uri.host,\n\t}\n}\n"],"names":["URL"],"mappings":";;;AAEO,MAAM,WAAW,CAAC,QAAsE;AAC9F,QAAM,MAAM,IAAIA,SAAAA,IAAI,GAAG;AACvB,MAAI,IAAI,aAAa,gBAAgB,IAAI,aAAa,uBAAuB;AAC5E,UAAM;AAAA,EACP;AACA,SAAO;AAAA,IACN,SAAS,IAAI;AAAA,IACb,OAAO,IAAI;AAAA,IACX,WAAW,IAAI,aAAa,wBAAwB,YAAY,cAAc,IAAI;AAAA,EAAA;AAEpF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"dsn.js","sources":["../../../../../packages/cli/src/lib/dsn.ts"],"sourcesContent":["import { URL } from 'node:url'\n\nexport const parseDsn = (dsn: string): { endpoint: string; project: string; token: string } => {\n\tconst uri = new URL(dsn)\n\tif (uri.protocol !== 'contember:' && uri.protocol !== 'contember-unsecure:') {\n\t\tthrow 'Invalid DSN'\n\t}\n\treturn {\n\t\tproject: uri.username,\n\t\ttoken: uri.password,\n\t\tendpoint: (uri.protocol === 'contember-unsecure:' ? 'http://' : 'https://') + uri.host,\n\t}\n}\n"],"names":[],"mappings":";AAEa,MAAA,WAAW,CAAC,QAAsE;AACxF,QAAA,MAAM,IAAI,IAAI,GAAG;AACvB,MAAI,IAAI,aAAa,gBAAgB,IAAI,aAAa,uBAAuB;AACtE,UAAA;AAAA,EAAA;AAEA,SAAA;AAAA,IACN,SAAS,IAAI;AAAA,IACb,OAAO,IAAI;AAAA,IACX,WAAW,IAAI,aAAa,wBAAwB,YAAY,cAAc,IAAI;AAAA,EACnF;AACD;"}
1
+ {"version":3,"file":"dsn.js","sources":["../../../../../packages/cli/src/lib/dsn.ts"],"sourcesContent":["import { URL } from 'node:url'\n\nexport const parseDsn = (dsn: string): { endpoint: string; project: string; token: string } => {\n\tconst uri = new URL(dsn)\n\tif (uri.protocol !== 'contember:' && uri.protocol !== 'contember-unsecure:') {\n\t\tthrow 'Invalid DSN'\n\t}\n\treturn {\n\t\tproject: uri.username,\n\t\ttoken: uri.password,\n\t\tendpoint: (uri.protocol === 'contember-unsecure:' ? 'http://' : 'https://') + uri.host,\n\t}\n}\n"],"names":[],"mappings":";AAEO,MAAM,WAAW,CAAC,QAAsE;AAC9F,QAAM,MAAM,IAAI,IAAI,GAAG;AACvB,MAAI,IAAI,aAAa,gBAAgB,IAAI,aAAa,uBAAuB;AAC5E,UAAM;AAAA,EACP;AACA,SAAO;AAAA,IACN,SAAS,IAAI;AAAA,IACb,OAAO,IAAI;AAAA,IACX,WAAW,IAAI,aAAa,wBAAwB,YAAY,cAAc,IAAI;AAAA,EAAA;AAEpF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.cjs","sources":["../../../../../packages/cli/src/lib/env.ts"],"sourcesContent":["export interface CliEnv {\n\tapiToken?: string\n\tloginToken?: string\n\tapiUrl?: string\n\tprojectName?: string\n\tdockerComposeFile?: string\n\tdsn?: string\n\tdir?: string\n\tmigrationsOptions?: {\n\t\tmaxPatchSize?: number\n\t}\n}\n\nexport const readCliEnv = (): CliEnv => {\n\treturn {\n\t\tdir: process.env.CONTEMBER_DIR,\n\t\tapiToken: process.env.CONTEMBER_API_TOKEN,\n\t\tloginToken: process.env.CONTEMBER_LOGIN_TOKEN,\n\t\tapiUrl: process.env.CONTEMBER_API_URL ?? process.env.CONTEMBER_INSTANCE,\n\t\tprojectName: process.env.CONTEMBER_PROJECT_NAME,\n\t\tdockerComposeFile: process.env.COMPOSE_FILE,\n\t\tdsn: process.env.CONTEMBER_DSN,\n\t\tmigrationsOptions: {\n\t\t\tmaxPatchSize: process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE ? parseInt(process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE) : undefined,\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";;AAaO,MAAM,aAAa,MAAc;AAChC,SAAA;AAAA,IACN,KAAK,QAAQ,IAAI;AAAA,IACjB,UAAU,QAAQ,IAAI;AAAA,IACtB,YAAY,QAAQ,IAAI;AAAA,IACxB,QAAQ,QAAQ,IAAI,qBAAqB,QAAQ,IAAI;AAAA,IACrD,aAAa,QAAQ,IAAI;AAAA,IACzB,mBAAmB,QAAQ,IAAI;AAAA,IAC/B,KAAK,QAAQ,IAAI;AAAA,IACjB,mBAAmB;AAAA,MAClB,cAAc,QAAQ,IAAI,sCAAsC,SAAS,QAAQ,IAAI,mCAAmC,IAAI;AAAA,IAAA;AAAA,EAE9H;AACD;;"}
1
+ {"version":3,"file":"env.cjs","sources":["../../../../../packages/cli/src/lib/env.ts"],"sourcesContent":["export interface CliEnv {\n\tapiToken?: string\n\tloginToken?: string\n\tapiUrl?: string\n\tprojectName?: string\n\tdockerComposeFile?: string\n\tdsn?: string\n\tdir?: string\n\tmigrationsOptions?: {\n\t\tmaxPatchSize?: number\n\t}\n}\n\nexport const readCliEnv = (): CliEnv => {\n\treturn {\n\t\tdir: process.env.CONTEMBER_DIR,\n\t\tapiToken: process.env.CONTEMBER_API_TOKEN,\n\t\tloginToken: process.env.CONTEMBER_LOGIN_TOKEN,\n\t\tapiUrl: process.env.CONTEMBER_API_URL ?? process.env.CONTEMBER_INSTANCE,\n\t\tprojectName: process.env.CONTEMBER_PROJECT_NAME,\n\t\tdockerComposeFile: process.env.COMPOSE_FILE,\n\t\tdsn: process.env.CONTEMBER_DSN,\n\t\tmigrationsOptions: {\n\t\t\tmaxPatchSize: process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE ? parseInt(process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE) : undefined,\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";;AAaO,MAAM,aAAa,MAAc;AACvC,SAAO;AAAA,IACN,KAAK,QAAQ,IAAI;AAAA,IACjB,UAAU,QAAQ,IAAI;AAAA,IACtB,YAAY,QAAQ,IAAI;AAAA,IACxB,QAAQ,QAAQ,IAAI,qBAAqB,QAAQ,IAAI;AAAA,IACrD,aAAa,QAAQ,IAAI;AAAA,IACzB,mBAAmB,QAAQ,IAAI;AAAA,IAC/B,KAAK,QAAQ,IAAI;AAAA,IACjB,mBAAmB;AAAA,MAClB,cAAc,QAAQ,IAAI,sCAAsC,SAAS,QAAQ,IAAI,mCAAmC,IAAI;AAAA,IAAA;AAAA,EAC7H;AAEF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sources":["../../../../../packages/cli/src/lib/env.ts"],"sourcesContent":["export interface CliEnv {\n\tapiToken?: string\n\tloginToken?: string\n\tapiUrl?: string\n\tprojectName?: string\n\tdockerComposeFile?: string\n\tdsn?: string\n\tdir?: string\n\tmigrationsOptions?: {\n\t\tmaxPatchSize?: number\n\t}\n}\n\nexport const readCliEnv = (): CliEnv => {\n\treturn {\n\t\tdir: process.env.CONTEMBER_DIR,\n\t\tapiToken: process.env.CONTEMBER_API_TOKEN,\n\t\tloginToken: process.env.CONTEMBER_LOGIN_TOKEN,\n\t\tapiUrl: process.env.CONTEMBER_API_URL ?? process.env.CONTEMBER_INSTANCE,\n\t\tprojectName: process.env.CONTEMBER_PROJECT_NAME,\n\t\tdockerComposeFile: process.env.COMPOSE_FILE,\n\t\tdsn: process.env.CONTEMBER_DSN,\n\t\tmigrationsOptions: {\n\t\t\tmaxPatchSize: process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE ? parseInt(process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE) : undefined,\n\t\t},\n\t}\n}\n"],"names":[],"mappings":"AAaO,MAAM,aAAa,MAAc;AAChC,SAAA;AAAA,IACN,KAAK,QAAQ,IAAI;AAAA,IACjB,UAAU,QAAQ,IAAI;AAAA,IACtB,YAAY,QAAQ,IAAI;AAAA,IACxB,QAAQ,QAAQ,IAAI,qBAAqB,QAAQ,IAAI;AAAA,IACrD,aAAa,QAAQ,IAAI;AAAA,IACzB,mBAAmB,QAAQ,IAAI;AAAA,IAC/B,KAAK,QAAQ,IAAI;AAAA,IACjB,mBAAmB;AAAA,MAClB,cAAc,QAAQ,IAAI,sCAAsC,SAAS,QAAQ,IAAI,mCAAmC,IAAI;AAAA,IAAA;AAAA,EAE9H;AACD;"}
1
+ {"version":3,"file":"env.js","sources":["../../../../../packages/cli/src/lib/env.ts"],"sourcesContent":["export interface CliEnv {\n\tapiToken?: string\n\tloginToken?: string\n\tapiUrl?: string\n\tprojectName?: string\n\tdockerComposeFile?: string\n\tdsn?: string\n\tdir?: string\n\tmigrationsOptions?: {\n\t\tmaxPatchSize?: number\n\t}\n}\n\nexport const readCliEnv = (): CliEnv => {\n\treturn {\n\t\tdir: process.env.CONTEMBER_DIR,\n\t\tapiToken: process.env.CONTEMBER_API_TOKEN,\n\t\tloginToken: process.env.CONTEMBER_LOGIN_TOKEN,\n\t\tapiUrl: process.env.CONTEMBER_API_URL ?? process.env.CONTEMBER_INSTANCE,\n\t\tprojectName: process.env.CONTEMBER_PROJECT_NAME,\n\t\tdockerComposeFile: process.env.COMPOSE_FILE,\n\t\tdsn: process.env.CONTEMBER_DSN,\n\t\tmigrationsOptions: {\n\t\t\tmaxPatchSize: process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE ? parseInt(process.env.CONTEMBER_MIGRATIONS_MAX_PATCH_SIZE) : undefined,\n\t\t},\n\t}\n}\n"],"names":[],"mappings":"AAaO,MAAM,aAAa,MAAc;AACvC,SAAO;AAAA,IACN,KAAK,QAAQ,IAAI;AAAA,IACjB,UAAU,QAAQ,IAAI;AAAA,IACtB,YAAY,QAAQ,IAAI;AAAA,IACxB,QAAQ,QAAQ,IAAI,qBAAqB,QAAQ,IAAI;AAAA,IACrD,aAAa,QAAQ,IAAI;AAAA,IACzB,mBAAmB,QAAQ,IAAI;AAAA,IAC/B,KAAK,QAAQ,IAAI;AAAA,IACjB,mBAAmB;AAAA,MAClB,cAAc,QAAQ,IAAI,sCAAsC,SAAS,QAAQ,IAAI,mCAAmC,IAAI;AAAA,IAAA;AAAA,EAC7H;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DockerComposeManager.cjs","sources":["../../../../../../packages/cli/src/lib/fs/DockerComposeManager.ts"],"sourcesContent":["import { dirname, join } from 'node:path'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport { JsonUpdateCallback, YamlHandler } from './YamlHandler'\n\nexport interface DockerComposeServiceConfig {\n\timage?: string\n\tcommand?: string\n\tuser?: string\n\tenvironment?: Record<string, string>\n\tports?: (string | {})[] // todo long syntax\n}\n\nexport interface DockerComposeConfig {\n\t[key: string]: unknown\n\n\tversion?: string\n\tservices?: Record<string, DockerComposeServiceConfig>\n}\n\n\nconst MAIN_CONFIGS = ['docker-compose.yaml', 'docker-compose.yml']\n\n\nexport class DockerComposeManager {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate readonly composeFile: string | undefined,\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly yamlHandler: YamlHandler,\n\t) {\n\t}\n\n\ttryReadMainDockerComposeConfig = async (dir: string = this.dir): Promise<DockerComposeConfig | null> => {\n\t\tconst path = await this.resolvePath(dir, MAIN_CONFIGS)\n\t\tif (!path) {\n\t\t\tif (dir === '/') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn await this.tryReadMainDockerComposeConfig(dirname(dir))\n\t\t}\n\t\treturn jsyaml.load(await this.fs.readFile(path, 'utf8')) as DockerComposeConfig\n\t}\n\n\tupdateMainDockerComposeConfig = async (\n\t\tupdater: JsonUpdateCallback<DockerComposeConfig>,\n\t\tdir: string = this.dir,\n\t): Promise<void> => {\n\t\tconst path = this.composeFile || (await this.resolvePath(dir, MAIN_CONFIGS)) || join(dir, MAIN_CONFIGS[0])\n\t\treturn this.yamlHandler.updateYaml(path, updater, { createMissing: true })\n\t}\n\n\tprivate resolvePath = async (dir: string, possibleFileNames: string[]): Promise<string | null> => {\n\t\tfor (const file of possibleFileNames) {\n\t\t\tconst path = join(dir, file)\n\t\t\tif (await this.fs.pathExists(path)) {\n\t\t\t\treturn path\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n\n}\n"],"names":["dir","dirname","join"],"mappings":";;;;;;;AAqBA,MAAM,eAAe,CAAC,uBAAuB,oBAAoB;AAG1D,MAAM,qBAAqB;AAAA,EACjC,YACkB,KACA,aACA,IACA,aAChB;AAJgB,SAAA,MAAA;AACA,SAAA,cAAA;AACA,SAAA,KAAA;AACA,SAAA,cAAA;AAIe,kBAAA,MAAA,kCAAA,OAAOA,OAAc,KAAK,QAA6C;AACvG,YAAM,OAAO,MAAM,KAAK,YAAYA,MAAK,YAAY;AACrD,UAAI,CAAC,MAAM;AACV,YAAIA,SAAQ,KAAK;AACT,iBAAA;AAAA,QAAA;AAER,eAAO,MAAM,KAAK,+BAA+BC,UAAA,QAAQD,IAAG,CAAC;AAAA,MAAA;AAEvD,aAAA,OAAO,KAAK,MAAM,KAAK,GAAG,SAAS,MAAM,MAAM,CAAC;AAAA,IAAA,CACxD;AAEA,kBAAA,MAAA,iCAAgC,OAC/B,SACAA,OAAc,KAAK,QACA;AACnB,YAAM,OAAO,KAAK,eAAgB,MAAM,KAAK,YAAYA,MAAK,YAAY,KAAME,UAAA,KAAKF,MAAK,aAAa,CAAC,CAAC;AAClG,aAAA,KAAK,YAAY,WAAW,MAAM,SAAS,EAAE,eAAe,MAAM;AAAA,IAAA,CAC1E;AAEQ,kBAAA,MAAA,eAAc,OAAOA,MAAa,sBAAwD;AACjG,iBAAW,QAAQ,mBAAmB;AAC/B,cAAA,OAAOE,UAAAA,KAAKF,MAAK,IAAI;AAC3B,YAAI,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG;AAC5B,iBAAA;AAAA,QAAA;AAAA,MACR;AAEM,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AAED;;"}
1
+ {"version":3,"file":"DockerComposeManager.cjs","sources":["../../../../../../packages/cli/src/lib/fs/DockerComposeManager.ts"],"sourcesContent":["import { dirname, join } from 'node:path'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport { JsonUpdateCallback, YamlHandler } from './YamlHandler'\n\nexport interface DockerComposeServiceConfig {\n\timage?: string\n\tcommand?: string\n\tuser?: string\n\tenvironment?: Record<string, string>\n\tports?: (string | {})[] // todo long syntax\n}\n\nexport interface DockerComposeConfig {\n\t[key: string]: unknown\n\n\tversion?: string\n\tservices?: Record<string, DockerComposeServiceConfig>\n}\n\nconst MAIN_CONFIGS = ['docker-compose.yaml', 'docker-compose.yml']\n\nexport class DockerComposeManager {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate readonly composeFile: string | undefined,\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly yamlHandler: YamlHandler,\n\t) {\n\t}\n\n\ttryReadMainDockerComposeConfig = async (dir: string = this.dir): Promise<DockerComposeConfig | null> => {\n\t\tconst path = await this.resolvePath(dir, MAIN_CONFIGS)\n\t\tif (!path) {\n\t\t\tif (dir === '/') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn await this.tryReadMainDockerComposeConfig(dirname(dir))\n\t\t}\n\t\treturn jsyaml.load(await this.fs.readFile(path, 'utf8')) as DockerComposeConfig\n\t}\n\n\tupdateMainDockerComposeConfig = async (\n\t\tupdater: JsonUpdateCallback<DockerComposeConfig>,\n\t\tdir: string = this.dir,\n\t): Promise<void> => {\n\t\tconst path = this.composeFile || (await this.resolvePath(dir, MAIN_CONFIGS)) || join(dir, MAIN_CONFIGS[0])\n\t\treturn this.yamlHandler.updateYaml(path, updater, { createMissing: true })\n\t}\n\n\tprivate resolvePath = async (dir: string, possibleFileNames: string[]): Promise<string | null> => {\n\t\tfor (const file of possibleFileNames) {\n\t\t\tconst path = join(dir, file)\n\t\t\tif (await this.fs.pathExists(path)) {\n\t\t\t\treturn path\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n}\n"],"names":["dir","dirname","join"],"mappings":";;;;;;;AAoBA,MAAM,eAAe,CAAC,uBAAuB,oBAAoB;AAE1D,MAAM,qBAAqB;AAAA,EACjC,YACkB,KACA,aACA,IACA,aAChB;AAJgB,SAAA,MAAA;AACA,SAAA,cAAA;AACA,SAAA,KAAA;AACA,SAAA,cAAA;AAIlB,kBAAA,MAAA,kCAAiC,OAAOA,OAAc,KAAK,QAA6C;AACvG,YAAM,OAAO,MAAM,KAAK,YAAYA,MAAK,YAAY;AACrD,UAAI,CAAC,MAAM;AACV,YAAIA,SAAQ,KAAK;AAChB,iBAAO;AAAA,QACR;AACA,eAAO,MAAM,KAAK,+BAA+BC,UAAAA,QAAQD,IAAG,CAAC;AAAA,MAC9D;AACA,aAAO,OAAO,KAAK,MAAM,KAAK,GAAG,SAAS,MAAM,MAAM,CAAC;AAAA,IACxD,CAAA;AAEA,kBAAA,MAAA,iCAAgC,OAC/B,SACAA,OAAc,KAAK,QACA;AACnB,YAAM,OAAO,KAAK,eAAgB,MAAM,KAAK,YAAYA,MAAK,YAAY,KAAME,UAAAA,KAAKF,MAAK,aAAa,CAAC,CAAC;AACzG,aAAO,KAAK,YAAY,WAAW,MAAM,SAAS,EAAE,eAAe,MAAM;AAAA,IAC1E,CAAA;AAEA,kBAAA,MAAQ,eAAc,OAAOA,MAAa,sBAAwD;AACjG,iBAAW,QAAQ,mBAAmB;AACrC,cAAM,OAAOE,UAAAA,KAAKF,MAAK,IAAI;AAC3B,YAAI,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG;AACnC,iBAAO;AAAA,QACR;AAAA,MACD;AACA,aAAO;AAAA,IACR,CAAA;AAAA,EA7BA;AA8BD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DockerComposeManager.js","sources":["../../../../../../packages/cli/src/lib/fs/DockerComposeManager.ts"],"sourcesContent":["import { dirname, join } from 'node:path'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport { JsonUpdateCallback, YamlHandler } from './YamlHandler'\n\nexport interface DockerComposeServiceConfig {\n\timage?: string\n\tcommand?: string\n\tuser?: string\n\tenvironment?: Record<string, string>\n\tports?: (string | {})[] // todo long syntax\n}\n\nexport interface DockerComposeConfig {\n\t[key: string]: unknown\n\n\tversion?: string\n\tservices?: Record<string, DockerComposeServiceConfig>\n}\n\n\nconst MAIN_CONFIGS = ['docker-compose.yaml', 'docker-compose.yml']\n\n\nexport class DockerComposeManager {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate readonly composeFile: string | undefined,\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly yamlHandler: YamlHandler,\n\t) {\n\t}\n\n\ttryReadMainDockerComposeConfig = async (dir: string = this.dir): Promise<DockerComposeConfig | null> => {\n\t\tconst path = await this.resolvePath(dir, MAIN_CONFIGS)\n\t\tif (!path) {\n\t\t\tif (dir === '/') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn await this.tryReadMainDockerComposeConfig(dirname(dir))\n\t\t}\n\t\treturn jsyaml.load(await this.fs.readFile(path, 'utf8')) as DockerComposeConfig\n\t}\n\n\tupdateMainDockerComposeConfig = async (\n\t\tupdater: JsonUpdateCallback<DockerComposeConfig>,\n\t\tdir: string = this.dir,\n\t): Promise<void> => {\n\t\tconst path = this.composeFile || (await this.resolvePath(dir, MAIN_CONFIGS)) || join(dir, MAIN_CONFIGS[0])\n\t\treturn this.yamlHandler.updateYaml(path, updater, { createMissing: true })\n\t}\n\n\tprivate resolvePath = async (dir: string, possibleFileNames: string[]): Promise<string | null> => {\n\t\tfor (const file of possibleFileNames) {\n\t\t\tconst path = join(dir, file)\n\t\t\tif (await this.fs.pathExists(path)) {\n\t\t\t\treturn path\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n\n}\n"],"names":["dir","jsyaml"],"mappings":";;;;;AAqBA,MAAM,eAAe,CAAC,uBAAuB,oBAAoB;AAG1D,MAAM,qBAAqB;AAAA,EACjC,YACkB,KACA,aACA,IACA,aAChB;AAJgB,SAAA,MAAA;AACA,SAAA,cAAA;AACA,SAAA,KAAA;AACA,SAAA,cAAA;AAIe,kBAAA,MAAA,kCAAA,OAAOA,OAAc,KAAK,QAA6C;AACvG,YAAM,OAAO,MAAM,KAAK,YAAYA,MAAK,YAAY;AACrD,UAAI,CAAC,MAAM;AACV,YAAIA,SAAQ,KAAK;AACT,iBAAA;AAAA,QAAA;AAER,eAAO,MAAM,KAAK,+BAA+B,QAAQA,IAAG,CAAC;AAAA,MAAA;AAEvD,aAAAC,gBAAO,KAAK,MAAM,KAAK,GAAG,SAAS,MAAM,MAAM,CAAC;AAAA,IAAA,CACxD;AAEA,kBAAA,MAAA,iCAAgC,OAC/B,SACAD,OAAc,KAAK,QACA;AACnB,YAAM,OAAO,KAAK,eAAgB,MAAM,KAAK,YAAYA,MAAK,YAAY,KAAM,KAAKA,MAAK,aAAa,CAAC,CAAC;AAClG,aAAA,KAAK,YAAY,WAAW,MAAM,SAAS,EAAE,eAAe,MAAM;AAAA,IAAA,CAC1E;AAEQ,kBAAA,MAAA,eAAc,OAAOA,MAAa,sBAAwD;AACjG,iBAAW,QAAQ,mBAAmB;AAC/B,cAAA,OAAO,KAAKA,MAAK,IAAI;AAC3B,YAAI,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG;AAC5B,iBAAA;AAAA,QAAA;AAAA,MACR;AAEM,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AAED;"}
1
+ {"version":3,"file":"DockerComposeManager.js","sources":["../../../../../../packages/cli/src/lib/fs/DockerComposeManager.ts"],"sourcesContent":["import { dirname, join } from 'node:path'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport { JsonUpdateCallback, YamlHandler } from './YamlHandler'\n\nexport interface DockerComposeServiceConfig {\n\timage?: string\n\tcommand?: string\n\tuser?: string\n\tenvironment?: Record<string, string>\n\tports?: (string | {})[] // todo long syntax\n}\n\nexport interface DockerComposeConfig {\n\t[key: string]: unknown\n\n\tversion?: string\n\tservices?: Record<string, DockerComposeServiceConfig>\n}\n\nconst MAIN_CONFIGS = ['docker-compose.yaml', 'docker-compose.yml']\n\nexport class DockerComposeManager {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate readonly composeFile: string | undefined,\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly yamlHandler: YamlHandler,\n\t) {\n\t}\n\n\ttryReadMainDockerComposeConfig = async (dir: string = this.dir): Promise<DockerComposeConfig | null> => {\n\t\tconst path = await this.resolvePath(dir, MAIN_CONFIGS)\n\t\tif (!path) {\n\t\t\tif (dir === '/') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn await this.tryReadMainDockerComposeConfig(dirname(dir))\n\t\t}\n\t\treturn jsyaml.load(await this.fs.readFile(path, 'utf8')) as DockerComposeConfig\n\t}\n\n\tupdateMainDockerComposeConfig = async (\n\t\tupdater: JsonUpdateCallback<DockerComposeConfig>,\n\t\tdir: string = this.dir,\n\t): Promise<void> => {\n\t\tconst path = this.composeFile || (await this.resolvePath(dir, MAIN_CONFIGS)) || join(dir, MAIN_CONFIGS[0])\n\t\treturn this.yamlHandler.updateYaml(path, updater, { createMissing: true })\n\t}\n\n\tprivate resolvePath = async (dir: string, possibleFileNames: string[]): Promise<string | null> => {\n\t\tfor (const file of possibleFileNames) {\n\t\t\tconst path = join(dir, file)\n\t\t\tif (await this.fs.pathExists(path)) {\n\t\t\t\treturn path\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n}\n"],"names":["dir","jsyaml"],"mappings":";;;;;AAoBA,MAAM,eAAe,CAAC,uBAAuB,oBAAoB;AAE1D,MAAM,qBAAqB;AAAA,EACjC,YACkB,KACA,aACA,IACA,aAChB;AAJgB,SAAA,MAAA;AACA,SAAA,cAAA;AACA,SAAA,KAAA;AACA,SAAA,cAAA;AAIlB,kBAAA,MAAA,kCAAiC,OAAOA,OAAc,KAAK,QAA6C;AACvG,YAAM,OAAO,MAAM,KAAK,YAAYA,MAAK,YAAY;AACrD,UAAI,CAAC,MAAM;AACV,YAAIA,SAAQ,KAAK;AAChB,iBAAO;AAAA,QACR;AACA,eAAO,MAAM,KAAK,+BAA+B,QAAQA,IAAG,CAAC;AAAA,MAC9D;AACA,aAAOC,gBAAO,KAAK,MAAM,KAAK,GAAG,SAAS,MAAM,MAAM,CAAC;AAAA,IACxD,CAAA;AAEA,kBAAA,MAAA,iCAAgC,OAC/B,SACAD,OAAc,KAAK,QACA;AACnB,YAAM,OAAO,KAAK,eAAgB,MAAM,KAAK,YAAYA,MAAK,YAAY,KAAM,KAAKA,MAAK,aAAa,CAAC,CAAC;AACzG,aAAO,KAAK,YAAY,WAAW,MAAM,SAAS,EAAE,eAAe,MAAM;AAAA,IAC1E,CAAA;AAEA,kBAAA,MAAQ,eAAc,OAAOA,MAAa,sBAAwD;AACjG,iBAAW,QAAQ,mBAAmB;AACrC,cAAM,OAAO,KAAKA,MAAK,IAAI;AAC3B,YAAI,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG;AACnC,iBAAO;AAAA,QACR;AAAA,MACD;AACA,aAAO;AAAA,IACR,CAAA;AAAA,EA7BA;AA8BD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystem.cjs","sources":["../../../../../../packages/cli/src/lib/fs/FileSystem.ts"],"sourcesContent":["import * as fs from 'node:fs/promises'\nimport { access } from 'node:fs/promises'\nimport glob from 'fast-glob'\n\nexport class FileSystem {\n\treadDir = fs.readdir\n\treadFile = fs.readFile\n\tpathExists = async (path: string) => {\n\t\ttry {\n\t\t\tawait access(path)\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\tlistDirectories = async (dir: string, patterns: string[]): Promise<string[]> => {\n\t\treturn await glob(patterns, { onlyDirectories: true, cwd: dir })\n\t}\n}\n"],"names":["fs","access"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,WAAW;AAAA,EAAjB,cAAA;AACN,kBAAA,MAAA,WAAUA,cAAG,OAAA;AACb,kBAAA,MAAA,YAAWA,cAAG,QAAA;AACd,kBAAA,MAAA,cAAa,OAAO,SAAiB;AAChC,UAAA;AACH,cAAMC,GAAAA,OAAO,IAAI;AACV,eAAA;AAAA,MAAA,QACA;AACA,eAAA;AAAA,MAAA;AAAA,IACR,CACD;AACkB,kBAAA,MAAA,mBAAA,OAAO,KAAa,aAA0C;AACxE,aAAA,MAAM,KAAK,UAAU,EAAE,iBAAiB,MAAM,KAAK,KAAK;AAAA,IAAA,CAChE;AAAA,EAAA;AACD;;"}
1
+ {"version":3,"file":"FileSystem.cjs","sources":["../../../../../../packages/cli/src/lib/fs/FileSystem.ts"],"sourcesContent":["import * as fs from 'node:fs/promises'\nimport { access } from 'node:fs/promises'\nimport glob from 'fast-glob'\n\nexport class FileSystem {\n\treadDir = fs.readdir\n\treadFile = fs.readFile\n\tpathExists = async (path: string) => {\n\t\ttry {\n\t\t\tawait access(path)\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\tlistDirectories = async (dir: string, patterns: string[]): Promise<string[]> => {\n\t\treturn await glob(patterns, { onlyDirectories: true, cwd: dir })\n\t}\n}\n"],"names":["fs","access"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,WAAW;AAAA,EAAjB,cAAA;AACN,kBAAA,MAAA,WAAUA,cAAG,OAAA;AACb,kBAAA,MAAA,YAAWA,cAAG,QAAA;AACd,kBAAA,MAAA,cAAa,OAAO,SAAiB;AACpC,UAAI;AACH,cAAMC,GAAAA,OAAO,IAAI;AACjB,eAAO;AAAA,MACR,QAAQ;AACP,eAAO;AAAA,MACR;AAAA,IACD,CAAA;AACA,kBAAA,MAAA,mBAAkB,OAAO,KAAa,aAA0C;AAC/E,aAAO,MAAM,KAAK,UAAU,EAAE,iBAAiB,MAAM,KAAK,KAAK;AAAA,IAChE,CAAA;AAAA,EAAA;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystem.js","sources":["../../../../../../packages/cli/src/lib/fs/FileSystem.ts"],"sourcesContent":["import * as fs from 'node:fs/promises'\nimport { access } from 'node:fs/promises'\nimport glob from 'fast-glob'\n\nexport class FileSystem {\n\treadDir = fs.readdir\n\treadFile = fs.readFile\n\tpathExists = async (path: string) => {\n\t\ttry {\n\t\t\tawait access(path)\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\tlistDirectories = async (dir: string, patterns: string[]): Promise<string[]> => {\n\t\treturn await glob(patterns, { onlyDirectories: true, cwd: dir })\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAIO,MAAM,WAAW;AAAA,EAAjB,cAAA;AACN,kBAAA,MAAA,WAAU,GAAG,OAAA;AACb,kBAAA,MAAA,YAAW,GAAG,QAAA;AACd,kBAAA,MAAA,cAAa,OAAO,SAAiB;AAChC,UAAA;AACH,cAAM,OAAO,IAAI;AACV,eAAA;AAAA,MAAA,QACA;AACA,eAAA;AAAA,MAAA;AAAA,IACR,CACD;AACkB,kBAAA,MAAA,mBAAA,OAAO,KAAa,aAA0C;AACxE,aAAA,MAAM,KAAK,UAAU,EAAE,iBAAiB,MAAM,KAAK,KAAK;AAAA,IAAA,CAChE;AAAA,EAAA;AACD;"}
1
+ {"version":3,"file":"FileSystem.js","sources":["../../../../../../packages/cli/src/lib/fs/FileSystem.ts"],"sourcesContent":["import * as fs from 'node:fs/promises'\nimport { access } from 'node:fs/promises'\nimport glob from 'fast-glob'\n\nexport class FileSystem {\n\treadDir = fs.readdir\n\treadFile = fs.readFile\n\tpathExists = async (path: string) => {\n\t\ttry {\n\t\t\tawait access(path)\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\tlistDirectories = async (dir: string, patterns: string[]): Promise<string[]> => {\n\t\treturn await glob(patterns, { onlyDirectories: true, cwd: dir })\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAIO,MAAM,WAAW;AAAA,EAAjB,cAAA;AACN,kBAAA,MAAA,WAAU,GAAG,OAAA;AACb,kBAAA,MAAA,YAAW,GAAG,QAAA;AACd,kBAAA,MAAA,cAAa,OAAO,SAAiB;AACpC,UAAI;AACH,cAAM,OAAO,IAAI;AACjB,eAAO;AAAA,MACR,QAAQ;AACP,eAAO;AAAA,MACR;AAAA,IACD,CAAA;AACA,kBAAA,MAAA,mBAAkB,OAAO,KAAa,aAA0C;AAC/E,aAAO,MAAM,KAAK,UAAU,EAAE,iBAAiB,MAAM,KAAK,KAAK;AAAA,IAChE,CAAA;AAAA,EAAA;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"YamlHandler.cjs","sources":["../../../../../../packages/cli/src/lib/fs/YamlHandler.ts"],"sourcesContent":["import { readFile, writeFile } from 'node:fs/promises'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport YAWN from 'yawn-yaml'\nimport { JSONObject, JSONPrimitive } from '../json'\nimport { Merger } from '@contember/config-loader'\n\nexport type JsonUpdateCallback<Value = JSONObject> = (\n\tdata: Partial<Value>,\n\tutils: { merge: (a: JSONObject, b: JSONObject) => JSONObject },\n) => Value\n\nexport class YamlHandler {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\treadYaml = async <T = unknown>(path: string): Promise<T> => {\n\t\tconst content = await this.fs.readFile(path, { encoding: 'utf8' })\n\t\treturn jsyaml.load(content) as unknown as T\n\t}\n\n\ttryReadYaml = async <T = unknown>(path: string): Promise<T | null> => {\n\t\ttry {\n\t\t\treturn await this.readYaml<T>(path)\n\t\t} catch (e: any) {\n\t\t\tif (e.code === 'ENOENT') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tupdateYaml = async <Value = JSONObject>(\n\t\tpath: string,\n\t\tupdater: JsonUpdateCallback<Value>,\n\t\toptions: { createMissing?: boolean } = {},\n\t) => {\n\t\tlet config = ''\n\t\tif (await this.fs.pathExists(path)) {\n\t\t\tconfig = await readFile(path, { encoding: 'utf8' })\n\t\t} else if (options.createMissing !== true) {\n\t\t\tthrow new Error(`File ${path} does not exist.`)\n\t\t}\n\n\t\tlet newConfig = ''\n\t\tconst mergeUtils = { merge: (a: JSONObject, b: JSONObject) => Merger.merge<JSONPrimitive>(a, b) }\n\t\tif (config) {\n\t\t\tconst yawn = new YAWN(config)\n\t\t\tyawn.json = updater(yawn.json, mergeUtils)\n\t\t\tnewConfig = yawn.yaml\n\t\t} else {\n\t\t\tnewConfig = jsyaml.dump(updater({}, mergeUtils))\n\t\t}\n\n\t\tawait writeFile(path, newConfig, { encoding: 'utf8' })\n\t}\n}\n"],"names":["fs","readFile","Merger","writeFile"],"mappings":";;;;;;;;;AAYO,MAAM,YAAY;AAAA,EACxB,YACkBA,MAChB;AADgB,SAAA,KAAAA;AAIlB,kBAAA,MAAA,YAAW,OAAoB,SAA6B;AACrD,YAAA,UAAU,MAAM,KAAK,GAAG,SAAS,MAAM,EAAE,UAAU,QAAQ;AAC1D,aAAA,OAAO,KAAK,OAAO;AAAA,IAAA,CAC3B;AAEA,kBAAA,MAAA,eAAc,OAAoB,SAAoC;AACjE,UAAA;AACI,eAAA,MAAM,KAAK,SAAY,IAAI;AAAA,eAC1B,GAAQ;AACZ,YAAA,EAAE,SAAS,UAAU;AACjB,iBAAA;AAAA,QAAA;AAEF,cAAA;AAAA,MAAA;AAAA,IACP,CACD;AAEA,kBAAA,MAAA,cAAa,OACZ,MACA,SACA,UAAuC,OACnC;AACJ,UAAI,SAAS;AACb,UAAI,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG;AACnC,iBAAS,MAAMC,GAAAA,SAAS,MAAM,EAAE,UAAU,QAAQ;AAAA,MAAA,WACxC,QAAQ,kBAAkB,MAAM;AAC1C,cAAM,IAAI,MAAM,QAAQ,IAAI,kBAAkB;AAAA,MAAA;AAG/C,UAAI,YAAY;AACV,YAAA,aAAa,EAAE,OAAO,CAAC,GAAe,MAAkBC,aAAAA,OAAO,MAAqB,GAAG,CAAC,EAAE;AAChG,UAAI,QAAQ;AACL,cAAA,OAAO,IAAI,KAAK,MAAM;AAC5B,aAAK,OAAO,QAAQ,KAAK,MAAM,UAAU;AACzC,oBAAY,KAAK;AAAA,MAAA,OACX;AACN,oBAAY,OAAO,KAAK,QAAQ,CAAC,GAAG,UAAU,CAAC;AAAA,MAAA;AAGhD,YAAMC,GAAAA,UAAU,MAAM,WAAW,EAAE,UAAU,QAAQ;AAAA,IAAA,CACtD;AAAA,EAAA;AACD;;"}
1
+ {"version":3,"file":"YamlHandler.cjs","sources":["../../../../../../packages/cli/src/lib/fs/YamlHandler.ts"],"sourcesContent":["import { readFile, writeFile } from 'node:fs/promises'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport YAWN from 'yawn-yaml'\nimport { JSONObject, JSONPrimitive } from '../json'\nimport { Merger } from '@contember/config-loader'\n\nexport type JsonUpdateCallback<Value = JSONObject> = (\n\tdata: Partial<Value>,\n\tutils: { merge: (a: JSONObject, b: JSONObject) => JSONObject },\n) => Value\n\nexport class YamlHandler {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\treadYaml = async <T = unknown>(path: string): Promise<T> => {\n\t\tconst content = await this.fs.readFile(path, { encoding: 'utf8' })\n\t\treturn jsyaml.load(content) as unknown as T\n\t}\n\n\ttryReadYaml = async <T = unknown>(path: string): Promise<T | null> => {\n\t\ttry {\n\t\t\treturn await this.readYaml<T>(path)\n\t\t} catch (e: any) {\n\t\t\tif (e.code === 'ENOENT') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tupdateYaml = async <Value = JSONObject>(\n\t\tpath: string,\n\t\tupdater: JsonUpdateCallback<Value>,\n\t\toptions: { createMissing?: boolean } = {},\n\t) => {\n\t\tlet config = ''\n\t\tif (await this.fs.pathExists(path)) {\n\t\t\tconfig = await readFile(path, { encoding: 'utf8' })\n\t\t} else if (options.createMissing !== true) {\n\t\t\tthrow new Error(`File ${path} does not exist.`)\n\t\t}\n\n\t\tlet newConfig = ''\n\t\tconst mergeUtils = { merge: (a: JSONObject, b: JSONObject) => Merger.merge<JSONPrimitive>(a, b) }\n\t\tif (config) {\n\t\t\tconst yawn = new YAWN(config)\n\t\t\tyawn.json = updater(yawn.json, mergeUtils)\n\t\t\tnewConfig = yawn.yaml\n\t\t} else {\n\t\t\tnewConfig = jsyaml.dump(updater({}, mergeUtils))\n\t\t}\n\n\t\tawait writeFile(path, newConfig, { encoding: 'utf8' })\n\t}\n}\n"],"names":["fs","readFile","Merger","writeFile"],"mappings":";;;;;;;;;AAYO,MAAM,YAAY;AAAA,EACxB,YACkBA,MAChB;AADgB,SAAA,KAAAA;AAIlB,kBAAA,MAAA,YAAW,OAAoB,SAA6B;AAC3D,YAAM,UAAU,MAAM,KAAK,GAAG,SAAS,MAAM,EAAE,UAAU,QAAQ;AACjE,aAAO,OAAO,KAAK,OAAO;AAAA,IAC3B,CAAA;AAEA,kBAAA,MAAA,eAAc,OAAoB,SAAoC;AACrE,UAAI;AACH,eAAO,MAAM,KAAK,SAAY,IAAI;AAAA,MACnC,SAAS,GAAQ;AAChB,YAAI,EAAE,SAAS,UAAU;AACxB,iBAAO;AAAA,QACR;AACA,cAAM;AAAA,MACP;AAAA,IACD,CAAA;AAEA,kBAAA,MAAA,cAAa,OACZ,MACA,SACA,UAAuC,OACnC;AACJ,UAAI,SAAS;AACb,UAAI,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG;AACnC,iBAAS,MAAMC,GAAAA,SAAS,MAAM,EAAE,UAAU,QAAQ;AAAA,MACnD,WAAW,QAAQ,kBAAkB,MAAM;AAC1C,cAAM,IAAI,MAAM,QAAQ,IAAI,kBAAkB;AAAA,MAC/C;AAEA,UAAI,YAAY;AAChB,YAAM,aAAa,EAAE,OAAO,CAAC,GAAe,MAAkBC,aAAAA,OAAO,MAAqB,GAAG,CAAC,EAAA;AAC9F,UAAI,QAAQ;AACX,cAAM,OAAO,IAAI,KAAK,MAAM;AAC5B,aAAK,OAAO,QAAQ,KAAK,MAAM,UAAU;AACzC,oBAAY,KAAK;AAAA,MAClB,OAAO;AACN,oBAAY,OAAO,KAAK,QAAQ,CAAA,GAAI,UAAU,CAAC;AAAA,MAChD;AAEA,YAAMC,GAAAA,UAAU,MAAM,WAAW,EAAE,UAAU,QAAQ;AAAA,IACtD,CAAA;AAAA,EAzCA;AA0CD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"YamlHandler.js","sources":["../../../../../../packages/cli/src/lib/fs/YamlHandler.ts"],"sourcesContent":["import { readFile, writeFile } from 'node:fs/promises'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport YAWN from 'yawn-yaml'\nimport { JSONObject, JSONPrimitive } from '../json'\nimport { Merger } from '@contember/config-loader'\n\nexport type JsonUpdateCallback<Value = JSONObject> = (\n\tdata: Partial<Value>,\n\tutils: { merge: (a: JSONObject, b: JSONObject) => JSONObject },\n) => Value\n\nexport class YamlHandler {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\treadYaml = async <T = unknown>(path: string): Promise<T> => {\n\t\tconst content = await this.fs.readFile(path, { encoding: 'utf8' })\n\t\treturn jsyaml.load(content) as unknown as T\n\t}\n\n\ttryReadYaml = async <T = unknown>(path: string): Promise<T | null> => {\n\t\ttry {\n\t\t\treturn await this.readYaml<T>(path)\n\t\t} catch (e: any) {\n\t\t\tif (e.code === 'ENOENT') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tupdateYaml = async <Value = JSONObject>(\n\t\tpath: string,\n\t\tupdater: JsonUpdateCallback<Value>,\n\t\toptions: { createMissing?: boolean } = {},\n\t) => {\n\t\tlet config = ''\n\t\tif (await this.fs.pathExists(path)) {\n\t\t\tconfig = await readFile(path, { encoding: 'utf8' })\n\t\t} else if (options.createMissing !== true) {\n\t\t\tthrow new Error(`File ${path} does not exist.`)\n\t\t}\n\n\t\tlet newConfig = ''\n\t\tconst mergeUtils = { merge: (a: JSONObject, b: JSONObject) => Merger.merge<JSONPrimitive>(a, b) }\n\t\tif (config) {\n\t\t\tconst yawn = new YAWN(config)\n\t\t\tyawn.json = updater(yawn.json, mergeUtils)\n\t\t\tnewConfig = yawn.yaml\n\t\t} else {\n\t\t\tnewConfig = jsyaml.dump(updater({}, mergeUtils))\n\t\t}\n\n\t\tawait writeFile(path, newConfig, { encoding: 'utf8' })\n\t}\n}\n"],"names":["jsyaml"],"mappings":";;;;;;;AAYO,MAAM,YAAY;AAAA,EACxB,YACkB,IAChB;AADgB,SAAA,KAAA;AAIlB,kBAAA,MAAA,YAAW,OAAoB,SAA6B;AACrD,YAAA,UAAU,MAAM,KAAK,GAAG,SAAS,MAAM,EAAE,UAAU,QAAQ;AAC1D,aAAAA,gBAAO,KAAK,OAAO;AAAA,IAAA,CAC3B;AAEA,kBAAA,MAAA,eAAc,OAAoB,SAAoC;AACjE,UAAA;AACI,eAAA,MAAM,KAAK,SAAY,IAAI;AAAA,eAC1B,GAAQ;AACZ,YAAA,EAAE,SAAS,UAAU;AACjB,iBAAA;AAAA,QAAA;AAEF,cAAA;AAAA,MAAA;AAAA,IACP,CACD;AAEA,kBAAA,MAAA,cAAa,OACZ,MACA,SACA,UAAuC,OACnC;AACJ,UAAI,SAAS;AACb,UAAI,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG;AACnC,iBAAS,MAAM,SAAS,MAAM,EAAE,UAAU,QAAQ;AAAA,MAAA,WACxC,QAAQ,kBAAkB,MAAM;AAC1C,cAAM,IAAI,MAAM,QAAQ,IAAI,kBAAkB;AAAA,MAAA;AAG/C,UAAI,YAAY;AACV,YAAA,aAAa,EAAE,OAAO,CAAC,GAAe,MAAkB,OAAO,MAAqB,GAAG,CAAC,EAAE;AAChG,UAAI,QAAQ;AACL,cAAA,OAAO,IAAI,KAAK,MAAM;AAC5B,aAAK,OAAO,QAAQ,KAAK,MAAM,UAAU;AACzC,oBAAY,KAAK;AAAA,MAAA,OACX;AACN,oBAAYA,gBAAO,KAAK,QAAQ,CAAC,GAAG,UAAU,CAAC;AAAA,MAAA;AAGhD,YAAM,UAAU,MAAM,WAAW,EAAE,UAAU,QAAQ;AAAA,IAAA,CACtD;AAAA,EAAA;AACD;"}
1
+ {"version":3,"file":"YamlHandler.js","sources":["../../../../../../packages/cli/src/lib/fs/YamlHandler.ts"],"sourcesContent":["import { readFile, writeFile } from 'node:fs/promises'\nimport jsyaml from 'js-yaml'\nimport { FileSystem } from './FileSystem'\nimport YAWN from 'yawn-yaml'\nimport { JSONObject, JSONPrimitive } from '../json'\nimport { Merger } from '@contember/config-loader'\n\nexport type JsonUpdateCallback<Value = JSONObject> = (\n\tdata: Partial<Value>,\n\tutils: { merge: (a: JSONObject, b: JSONObject) => JSONObject },\n) => Value\n\nexport class YamlHandler {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t) {\n\t}\n\n\treadYaml = async <T = unknown>(path: string): Promise<T> => {\n\t\tconst content = await this.fs.readFile(path, { encoding: 'utf8' })\n\t\treturn jsyaml.load(content) as unknown as T\n\t}\n\n\ttryReadYaml = async <T = unknown>(path: string): Promise<T | null> => {\n\t\ttry {\n\t\t\treturn await this.readYaml<T>(path)\n\t\t} catch (e: any) {\n\t\t\tif (e.code === 'ENOENT') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tupdateYaml = async <Value = JSONObject>(\n\t\tpath: string,\n\t\tupdater: JsonUpdateCallback<Value>,\n\t\toptions: { createMissing?: boolean } = {},\n\t) => {\n\t\tlet config = ''\n\t\tif (await this.fs.pathExists(path)) {\n\t\t\tconfig = await readFile(path, { encoding: 'utf8' })\n\t\t} else if (options.createMissing !== true) {\n\t\t\tthrow new Error(`File ${path} does not exist.`)\n\t\t}\n\n\t\tlet newConfig = ''\n\t\tconst mergeUtils = { merge: (a: JSONObject, b: JSONObject) => Merger.merge<JSONPrimitive>(a, b) }\n\t\tif (config) {\n\t\t\tconst yawn = new YAWN(config)\n\t\t\tyawn.json = updater(yawn.json, mergeUtils)\n\t\t\tnewConfig = yawn.yaml\n\t\t} else {\n\t\t\tnewConfig = jsyaml.dump(updater({}, mergeUtils))\n\t\t}\n\n\t\tawait writeFile(path, newConfig, { encoding: 'utf8' })\n\t}\n}\n"],"names":["jsyaml"],"mappings":";;;;;;;AAYO,MAAM,YAAY;AAAA,EACxB,YACkB,IAChB;AADgB,SAAA,KAAA;AAIlB,kBAAA,MAAA,YAAW,OAAoB,SAA6B;AAC3D,YAAM,UAAU,MAAM,KAAK,GAAG,SAAS,MAAM,EAAE,UAAU,QAAQ;AACjE,aAAOA,gBAAO,KAAK,OAAO;AAAA,IAC3B,CAAA;AAEA,kBAAA,MAAA,eAAc,OAAoB,SAAoC;AACrE,UAAI;AACH,eAAO,MAAM,KAAK,SAAY,IAAI;AAAA,MACnC,SAAS,GAAQ;AAChB,YAAI,EAAE,SAAS,UAAU;AACxB,iBAAO;AAAA,QACR;AACA,cAAM;AAAA,MACP;AAAA,IACD,CAAA;AAEA,kBAAA,MAAA,cAAa,OACZ,MACA,SACA,UAAuC,OACnC;AACJ,UAAI,SAAS;AACb,UAAI,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG;AACnC,iBAAS,MAAM,SAAS,MAAM,EAAE,UAAU,QAAQ;AAAA,MACnD,WAAW,QAAQ,kBAAkB,MAAM;AAC1C,cAAM,IAAI,MAAM,QAAQ,IAAI,kBAAkB;AAAA,MAC/C;AAEA,UAAI,YAAY;AAChB,YAAM,aAAa,EAAE,OAAO,CAAC,GAAe,MAAkB,OAAO,MAAqB,GAAG,CAAC,EAAA;AAC9F,UAAI,QAAQ;AACX,cAAM,OAAO,IAAI,KAAK,MAAM;AAC5B,aAAK,OAAO,QAAQ,KAAK,MAAM,UAAU;AACzC,oBAAY,KAAK;AAAA,MAClB,OAAO;AACN,oBAAYA,gBAAO,KAAK,QAAQ,CAAA,GAAI,UAAU,CAAC;AAAA,MAChD;AAEA,YAAM,UAAU,MAAM,WAAW,EAAE,UAAU,QAAQ;AAAA,IACtD,CAAA;AAAA,EAzCA;AA0CD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EsBuildBuilder.cjs","sources":["../../../../../../packages/cli/src/lib/js/EsBuildBuilder.ts"],"sourcesContent":["import { JsBuilder } from './JsBuilder'\n\nexport class EsBuildBuilder implements JsBuilder {\n\tasync build(path: string): Promise<string> {\n\t\tconst esbuild = await import('esbuild')\n\t\tconst response = await esbuild.build({\n\t\t\tentryPoints: [path],\n\t\t\tplatform: 'node',\n\t\t\tbundle: true,\n\t\t\ttreeShaking: true,\n\t\t\twrite: false,\n\t\t\tloader: { '.sql': 'text' },\n\t\t\texternal: ['@contember/admin', 'react', 'react/jsx-runtime'],\n\t\t})\n\t\treturn response.outputFiles[0].text\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,eAAoC;AAAA,EAChD,MAAM,MAAM,MAA+B;AACpC,UAAA,UAAU,MAAM,OAAO,SAAS;AAChC,UAAA,WAAW,MAAM,QAAQ,MAAM;AAAA,MACpC,aAAa,CAAC,IAAI;AAAA,MAClB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,OAAO;AAAA,MACP,QAAQ,EAAE,QAAQ,OAAO;AAAA,MACzB,UAAU,CAAC,oBAAoB,SAAS,mBAAmB;AAAA,IAAA,CAC3D;AACM,WAAA,SAAS,YAAY,CAAC,EAAE;AAAA,EAAA;AAEjC;;"}
1
+ {"version":3,"file":"EsBuildBuilder.cjs","sources":["../../../../../../packages/cli/src/lib/js/EsBuildBuilder.ts"],"sourcesContent":["import { JsBuilder } from './JsBuilder'\n\nexport class EsBuildBuilder implements JsBuilder {\n\tasync build(path: string): Promise<string> {\n\t\tconst esbuild = await import('esbuild')\n\t\tconst response = await esbuild.build({\n\t\t\tentryPoints: [path],\n\t\t\tplatform: 'node',\n\t\t\tbundle: true,\n\t\t\ttreeShaking: true,\n\t\t\twrite: false,\n\t\t\tloader: { '.sql': 'text' },\n\t\t\texternal: ['@contember/admin', 'react', 'react/jsx-runtime'],\n\t\t})\n\t\treturn response.outputFiles[0].text\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,eAAoC;AAAA,EAChD,MAAM,MAAM,MAA+B;AAC1C,UAAM,UAAU,MAAM,OAAO,SAAS;AACtC,UAAM,WAAW,MAAM,QAAQ,MAAM;AAAA,MACpC,aAAa,CAAC,IAAI;AAAA,MAClB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,OAAO;AAAA,MACP,QAAQ,EAAE,QAAQ,OAAA;AAAA,MAClB,UAAU,CAAC,oBAAoB,SAAS,mBAAmB;AAAA,IAAA,CAC3D;AACD,WAAO,SAAS,YAAY,CAAC,EAAE;AAAA,EAChC;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EsBuildBuilder.js","sources":["../../../../../../packages/cli/src/lib/js/EsBuildBuilder.ts"],"sourcesContent":["import { JsBuilder } from './JsBuilder'\n\nexport class EsBuildBuilder implements JsBuilder {\n\tasync build(path: string): Promise<string> {\n\t\tconst esbuild = await import('esbuild')\n\t\tconst response = await esbuild.build({\n\t\t\tentryPoints: [path],\n\t\t\tplatform: 'node',\n\t\t\tbundle: true,\n\t\t\ttreeShaking: true,\n\t\t\twrite: false,\n\t\t\tloader: { '.sql': 'text' },\n\t\t\texternal: ['@contember/admin', 'react', 'react/jsx-runtime'],\n\t\t})\n\t\treturn response.outputFiles[0].text\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,eAAoC;AAAA,EAChD,MAAM,MAAM,MAA+B;AACpC,UAAA,UAAU,MAAM,OAAO,SAAS;AAChC,UAAA,WAAW,MAAM,QAAQ,MAAM;AAAA,MACpC,aAAa,CAAC,IAAI;AAAA,MAClB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,OAAO;AAAA,MACP,QAAQ,EAAE,QAAQ,OAAO;AAAA,MACzB,UAAU,CAAC,oBAAoB,SAAS,mBAAmB;AAAA,IAAA,CAC3D;AACM,WAAA,SAAS,YAAY,CAAC,EAAE;AAAA,EAAA;AAEjC;"}
1
+ {"version":3,"file":"EsBuildBuilder.js","sources":["../../../../../../packages/cli/src/lib/js/EsBuildBuilder.ts"],"sourcesContent":["import { JsBuilder } from './JsBuilder'\n\nexport class EsBuildBuilder implements JsBuilder {\n\tasync build(path: string): Promise<string> {\n\t\tconst esbuild = await import('esbuild')\n\t\tconst response = await esbuild.build({\n\t\t\tentryPoints: [path],\n\t\t\tplatform: 'node',\n\t\t\tbundle: true,\n\t\t\ttreeShaking: true,\n\t\t\twrite: false,\n\t\t\tloader: { '.sql': 'text' },\n\t\t\texternal: ['@contember/admin', 'react', 'react/jsx-runtime'],\n\t\t})\n\t\treturn response.outputFiles[0].text\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,eAAoC;AAAA,EAChD,MAAM,MAAM,MAA+B;AAC1C,UAAM,UAAU,MAAM,OAAO,SAAS;AACtC,UAAM,WAAW,MAAM,QAAQ,MAAM;AAAA,MACpC,aAAa,CAAC,IAAI;AAAA,MAClB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,OAAO;AAAA,MACP,QAAQ,EAAE,QAAQ,OAAA;AAAA,MAClB,UAAU,CAAC,oBAAoB,SAAS,mBAAmB;AAAA,IAAA,CAC3D;AACD,WAAO,SAAS,YAAY,CAAC,EAAE;AAAA,EAChC;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EvalExecutor.cjs","sources":["../../../../../../packages/cli/src/lib/js/EvalExecutor.ts"],"sourcesContent":["import { JsExecutor } from './JsExecutor'\n\nexport class EvalExecutor implements JsExecutor {\n\tpublic async execute(code: string): Promise<unknown> {\n\t\tconst fn = new Function('require', `var module = {}; ((module) => { ${code} })(module); return module`)\n\t\treturn fn(require).exports\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,aAAmC;AAAA,EAC/C,MAAa,QAAQ,MAAgC;AACpD,UAAM,KAAK,IAAI,SAAS,WAAW,mCAAmC,IAAI,4BAA4B;AAC/F,WAAA,GAAG,OAAO,EAAE;AAAA,EAAA;AAErB;;"}
1
+ {"version":3,"file":"EvalExecutor.cjs","sources":["../../../../../../packages/cli/src/lib/js/EvalExecutor.ts"],"sourcesContent":["import { JsExecutor } from './JsExecutor'\n\nexport class EvalExecutor implements JsExecutor {\n\tpublic async execute(code: string): Promise<unknown> {\n\t\tconst fn = new Function('require', `var module = {}; ((module) => { ${code} })(module); return module`)\n\t\treturn fn(require).exports\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,aAAmC;AAAA,EAC/C,MAAa,QAAQ,MAAgC;AACpD,UAAM,KAAK,IAAI,SAAS,WAAW,mCAAmC,IAAI,4BAA4B;AACtG,WAAO,GAAG,OAAO,EAAE;AAAA,EACpB;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EvalExecutor.js","sources":["../../../../../../packages/cli/src/lib/js/EvalExecutor.ts"],"sourcesContent":["import { JsExecutor } from './JsExecutor'\n\nexport class EvalExecutor implements JsExecutor {\n\tpublic async execute(code: string): Promise<unknown> {\n\t\tconst fn = new Function('require', `var module = {}; ((module) => { ${code} })(module); return module`)\n\t\treturn fn(require).exports\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,aAAmC;AAAA,EAC/C,MAAa,QAAQ,MAAgC;AACpD,UAAM,KAAK,IAAI,SAAS,WAAW,mCAAmC,IAAI,4BAA4B;AAC/F,WAAA,GAAG,OAAO,EAAE;AAAA,EAAA;AAErB;"}
1
+ {"version":3,"file":"EvalExecutor.js","sources":["../../../../../../packages/cli/src/lib/js/EvalExecutor.ts"],"sourcesContent":["import { JsExecutor } from './JsExecutor'\n\nexport class EvalExecutor implements JsExecutor {\n\tpublic async execute(code: string): Promise<unknown> {\n\t\tconst fn = new Function('require', `var module = {}; ((module) => { ${code} })(module); return module`)\n\t\treturn fn(require).exports\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,aAAmC;AAAA,EAC/C,MAAa,QAAQ,MAAgC;AACpD,UAAM,KAAK,IAAI,SAAS,WAAW,mCAAmC,IAAI,4BAA4B;AACtG,WAAO,GAAG,OAAO,EAAE;AAAA,EACpB;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsCodeRunner.cjs","sources":["../../../../../../packages/cli/src/lib/js/JsCodeRunner.ts"],"sourcesContent":["import { JsBuilder } from './JsBuilder'\nimport { JsExecutor } from './JsExecutor'\n\nexport class JsCodeRunner {\n\tconstructor(\n\t\tprivate readonly jsBuilder: JsBuilder,\n\t\tprivate readonly jsExecutor: JsExecutor,\n\t) {\n\t}\n\n\trun = async (path: string): Promise<unknown> => {\n\t\tconst builtCode = await this.jsBuilder.build(path)\n\t\treturn this.jsExecutor.execute(builtCode)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAGO,MAAM,aAAa;AAAA,EACzB,YACkB,WACA,YAChB;AAFgB,SAAA,YAAA;AACA,SAAA,aAAA;AAIlB,kBAAA,MAAA,OAAM,OAAO,SAAmC;AAC/C,YAAM,YAAY,MAAM,KAAK,UAAU,MAAM,IAAI;AAC1C,aAAA,KAAK,WAAW,QAAQ,SAAS;AAAA,IAAA,CACzC;AAAA,EAAA;AACD;;"}
1
+ {"version":3,"file":"JsCodeRunner.cjs","sources":["../../../../../../packages/cli/src/lib/js/JsCodeRunner.ts"],"sourcesContent":["import { JsBuilder } from './JsBuilder'\nimport { JsExecutor } from './JsExecutor'\n\nexport class JsCodeRunner {\n\tconstructor(\n\t\tprivate readonly jsBuilder: JsBuilder,\n\t\tprivate readonly jsExecutor: JsExecutor,\n\t) {\n\t}\n\n\trun = async (path: string): Promise<unknown> => {\n\t\tconst builtCode = await this.jsBuilder.build(path)\n\t\treturn this.jsExecutor.execute(builtCode)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAGO,MAAM,aAAa;AAAA,EACzB,YACkB,WACA,YAChB;AAFgB,SAAA,YAAA;AACA,SAAA,aAAA;AAIlB,kBAAA,MAAA,OAAM,OAAO,SAAmC;AAC/C,YAAM,YAAY,MAAM,KAAK,UAAU,MAAM,IAAI;AACjD,aAAO,KAAK,WAAW,QAAQ,SAAS;AAAA,IACzC,CAAA;AAAA,EALA;AAMD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsCodeRunner.js","sources":["../../../../../../packages/cli/src/lib/js/JsCodeRunner.ts"],"sourcesContent":["import { JsBuilder } from './JsBuilder'\nimport { JsExecutor } from './JsExecutor'\n\nexport class JsCodeRunner {\n\tconstructor(\n\t\tprivate readonly jsBuilder: JsBuilder,\n\t\tprivate readonly jsExecutor: JsExecutor,\n\t) {\n\t}\n\n\trun = async (path: string): Promise<unknown> => {\n\t\tconst builtCode = await this.jsBuilder.build(path)\n\t\treturn this.jsExecutor.execute(builtCode)\n\t}\n}\n"],"names":[],"mappings":";;;AAGO,MAAM,aAAa;AAAA,EACzB,YACkB,WACA,YAChB;AAFgB,SAAA,YAAA;AACA,SAAA,aAAA;AAIlB,kBAAA,MAAA,OAAM,OAAO,SAAmC;AAC/C,YAAM,YAAY,MAAM,KAAK,UAAU,MAAM,IAAI;AAC1C,aAAA,KAAK,WAAW,QAAQ,SAAS;AAAA,IAAA,CACzC;AAAA,EAAA;AACD;"}
1
+ {"version":3,"file":"JsCodeRunner.js","sources":["../../../../../../packages/cli/src/lib/js/JsCodeRunner.ts"],"sourcesContent":["import { JsBuilder } from './JsBuilder'\nimport { JsExecutor } from './JsExecutor'\n\nexport class JsCodeRunner {\n\tconstructor(\n\t\tprivate readonly jsBuilder: JsBuilder,\n\t\tprivate readonly jsExecutor: JsExecutor,\n\t) {\n\t}\n\n\trun = async (path: string): Promise<unknown> => {\n\t\tconst builtCode = await this.jsBuilder.build(path)\n\t\treturn this.jsExecutor.execute(builtCode)\n\t}\n}\n"],"names":[],"mappings":";;;AAGO,MAAM,aAAa;AAAA,EACzB,YACkB,WACA,YAChB;AAFgB,SAAA,YAAA;AACA,SAAA,aAAA;AAIlB,kBAAA,MAAA,OAAM,OAAO,SAAmC;AAC/C,YAAM,YAAY,MAAM,KAAK,UAAU,MAAM,IAAI;AACjD,aAAO,KAAK,WAAW,QAAQ,SAAS;AAAA,IACzC,CAAA;AAAA,EALA;AAMD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationExecutionFacade.cjs","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationExecutionFacade.ts"],"sourcesContent":["import prompts from 'prompts'\nimport { MigrationPrinter } from './MigrationPrinter'\nimport { isSchemaMigration, MigrationExecutor, MigrationToExecuteOkStatus, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { MigrationsStatusFacade } from './MigrationsStatusFacade'\nimport { MigrationVersionHelper } from '@contember/engine-common'\nimport { RemoteProject } from '../project/RemoteProject'\nimport { SystemClientProvider } from '../SystemClientProvider'\nimport { TenantClientProvider } from '../TenantClientProvider'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport class MigrationExecutionFacade {\n\tconstructor(\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly tenantClientProvider: TenantClientProvider,\n\t\tprivate readonly projectProvider: RemoteProjectProvider,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t\tprivate readonly migrationExecutor: MigrationExecutor,\n\t\tprivate readonly migrationStatusFacade: MigrationsStatusFacade,\n\t) {\n\t}\n\n\texecute = async ({\n\t\trequireConfirmation,\n\t\tforce,\n\t\tuntil,\n\t\tadditionalMessage,\n\t}: {\n\t\trequireConfirmation: boolean | ((migrations: MigrationToExecuteOkStatus[]) => boolean)\n\t\tforce?: boolean\n\t\tuntil?: string\n\t\tadditionalMessage?: string\n\t}): Promise<boolean> => {\n\t\tconst project = this.projectProvider.get()\n\t\tawait this.tenantClientProvider.get().createProject(project.name, true)\n\n\t\tconst status = await this.migrationStatusFacade.resolveMigrationsStatus({ force })\n\t\tconst migrations = until\n\t\t\t? status.migrationsToExecute.filter(it => it.version <= MigrationVersionHelper.extractVersion(until))\n\t\t\t: status.migrationsToExecute\n\t\tif (migrations.length === 0) {\n\t\t\tconsole.log('No migrations to execute')\n\t\t\treturn true\n\t\t}\n\t\tconsole.log('Will execute following migrations:')\n\t\tmigrations.forEach(it => console.log(it.name))\n\t\tadditionalMessage && console.log(additionalMessage)\n\n\t\tif (typeof requireConfirmation === 'function' ? requireConfirmation(migrations) : requireConfirmation) {\n\t\t\tif (!process.stdin.isTTY) {\n\t\t\t\tthrow 'TTY not available. Pass --yes option to confirm execution.'\n\t\t\t}\n\t\t\tdo {\n\t\t\t\tconst { action } = await prompts({\n\t\t\t\t\ttype: 'select',\n\t\t\t\t\tname: 'action',\n\t\t\t\t\tmessage: 'Do you want to continue?',\n\t\t\t\t\tchoices: [\n\t\t\t\t\t\t{ value: 'yes', title: 'Execute migrations' },\n\t\t\t\t\t\t{ value: 'describe', title: 'Describe migrations' },\n\t\t\t\t\t\t{ value: 'no', title: 'Abort' },\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t\tif (action === 'describe') {\n\t\t\t\t\tconst schema = await this.schemaVersionBuilder.buildSchemaUntil(migrations[0].version)\n\t\t\t\t\tfor (const migration of migrations) {\n\t\t\t\t\t\tconst migrationContent = await migration.localMigration.getContent()\n\t\t\t\t\t\tif (!isSchemaMigration(migrationContent)) {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tawait this.migrationPrinter.printMigrationDescription(schema, migrationContent, {\n\t\t\t\t\t\t\tnoSql: true,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t} else if (action === 'yes') {\n\t\t\t\t\tbreak\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t} while (true)\n\t\t}\n\n\t\tawait this.migrationExecutor.executeMigrations({\n\t\t\tclient: this.systemClientProvider.get(),\n\t\t\tmigrations,\n\t\t\tcontentMigrationFactoryArgs: {\n\t\t\t\tapiToken: project.token,\n\t\t\t\tapiBaseUrl: project.endpoint,\n\t\t\t\tprojectName: project.name,\n\t\t\t\tschemaVersionBuilder: this.schemaVersionBuilder,\n\t\t\t},\n\t\t\tlog: message => console.log(message),\n\t\t\tforce,\n\t\t})\n\t\treturn true\n\t}\n}\n"],"names":["MigrationVersionHelper","isSchemaMigration"],"mappings":";;;;;;;;AAUO,MAAM,yBAAyB;AAAA,EACrC,YACkB,sBACA,sBACA,iBACA,sBACA,kBACA,mBACA,uBAChB;AAPgB,SAAA,uBAAA;AACA,SAAA,uBAAA;AACA,SAAA,kBAAA;AACA,SAAA,uBAAA;AACA,SAAA,mBAAA;AACA,SAAA,oBAAA;AACA,SAAA,wBAAA;AAIlB,kBAAA,MAAA,WAAU,OAAO;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,MAMuB;AACjB,YAAA,UAAU,KAAK,gBAAgB,IAAI;AACzC,YAAM,KAAK,qBAAqB,IAAA,EAAM,cAAc,QAAQ,MAAM,IAAI;AAEtE,YAAM,SAAS,MAAM,KAAK,sBAAsB,wBAAwB,EAAE,OAAO;AACjF,YAAM,aAAa,QAChB,OAAO,oBAAoB,OAAO,CAAA,OAAM,GAAG,WAAWA,aAAuB,uBAAA,eAAe,KAAK,CAAC,IAClG,OAAO;AACN,UAAA,WAAW,WAAW,GAAG;AAC5B,gBAAQ,IAAI,0BAA0B;AAC/B,eAAA;AAAA,MAAA;AAER,cAAQ,IAAI,oCAAoC;AAChD,iBAAW,QAAQ,CAAM,OAAA,QAAQ,IAAI,GAAG,IAAI,CAAC;AACxB,2BAAA,QAAQ,IAAI,iBAAiB;AAElD,UAAI,OAAO,wBAAwB,aAAa,oBAAoB,UAAU,IAAI,qBAAqB;AAClG,YAAA,CAAC,QAAQ,MAAM,OAAO;AACnB,gBAAA;AAAA,QAAA;AAEJ,WAAA;AACF,gBAAM,EAAE,WAAW,MAAM,QAAQ;AAAA,YAChC,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,YACT,SAAS;AAAA,cACR,EAAE,OAAO,OAAO,OAAO,qBAAqB;AAAA,cAC5C,EAAE,OAAO,YAAY,OAAO,sBAAsB;AAAA,cAClD,EAAE,OAAO,MAAM,OAAO,QAAQ;AAAA,YAAA;AAAA,UAC/B,CACA;AACD,cAAI,WAAW,YAAY;AACpB,kBAAA,SAAS,MAAM,KAAK,qBAAqB,iBAAiB,WAAW,CAAC,EAAE,OAAO;AACrF,uBAAW,aAAa,YAAY;AACnC,oBAAM,mBAAmB,MAAM,UAAU,eAAe,WAAW;AAC/D,kBAAA,CAACC,iBAAAA,kBAAkB,gBAAgB,GAAG;AACzC;AAAA,cAAA;AAGD,oBAAM,KAAK,iBAAiB,0BAA0B,QAAQ,kBAAkB;AAAA,gBAC/E,OAAO;AAAA,cAAA,CACP;AAAA,YAAA;AAAA,UACF,WACU,WAAW,OAAO;AAC5B;AAAA,UAAA,OACM;AACC,mBAAA;AAAA,UAAA;AAAA,QACR,SACQ;AAAA,MAAA;AAGJ,YAAA,KAAK,kBAAkB,kBAAkB;AAAA,QAC9C,QAAQ,KAAK,qBAAqB,IAAI;AAAA,QACtC;AAAA,QACA,6BAA6B;AAAA,UAC5B,UAAU,QAAQ;AAAA,UAClB,YAAY,QAAQ;AAAA,UACpB,aAAa,QAAQ;AAAA,UACrB,sBAAsB,KAAK;AAAA,QAC5B;AAAA,QACA,KAAK,CAAA,YAAW,QAAQ,IAAI,OAAO;AAAA,QACnC;AAAA,MAAA,CACA;AACM,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AACD;;"}
1
+ {"version":3,"file":"MigrationExecutionFacade.cjs","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationExecutionFacade.ts"],"sourcesContent":["import prompts from 'prompts'\nimport { MigrationPrinter } from './MigrationPrinter'\nimport { isSchemaMigration, MigrationExecutor, MigrationToExecuteOkStatus, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { MigrationsStatusFacade } from './MigrationsStatusFacade'\nimport { MigrationVersionHelper } from '@contember/engine-common'\nimport { RemoteProject } from '../project/RemoteProject'\nimport { SystemClientProvider } from '../SystemClientProvider'\nimport { TenantClientProvider } from '../TenantClientProvider'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport class MigrationExecutionFacade {\n\tconstructor(\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly tenantClientProvider: TenantClientProvider,\n\t\tprivate readonly projectProvider: RemoteProjectProvider,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t\tprivate readonly migrationExecutor: MigrationExecutor,\n\t\tprivate readonly migrationStatusFacade: MigrationsStatusFacade,\n\t) {\n\t}\n\n\texecute = async ({\n\t\trequireConfirmation,\n\t\tforce,\n\t\tuntil,\n\t\tadditionalMessage,\n\t}: {\n\t\trequireConfirmation: boolean | ((migrations: MigrationToExecuteOkStatus[]) => boolean)\n\t\tforce?: boolean\n\t\tuntil?: string\n\t\tadditionalMessage?: string\n\t}): Promise<boolean> => {\n\t\tconst project = this.projectProvider.get()\n\t\tawait this.tenantClientProvider.get().createProject(project.name, true)\n\n\t\tconst status = await this.migrationStatusFacade.resolveMigrationsStatus({ force })\n\t\tconst migrations = until\n\t\t\t? status.migrationsToExecute.filter(it => it.version <= MigrationVersionHelper.extractVersion(until))\n\t\t\t: status.migrationsToExecute\n\t\tif (migrations.length === 0) {\n\t\t\tconsole.log('No migrations to execute')\n\t\t\treturn true\n\t\t}\n\t\tconsole.log('Will execute following migrations:')\n\t\tmigrations.forEach(it => console.log(it.name))\n\t\tadditionalMessage && console.log(additionalMessage)\n\n\t\tif (typeof requireConfirmation === 'function' ? requireConfirmation(migrations) : requireConfirmation) {\n\t\t\tif (!process.stdin.isTTY) {\n\t\t\t\tthrow 'TTY not available. Pass --yes option to confirm execution.'\n\t\t\t}\n\t\t\tdo {\n\t\t\t\tconst { action } = await prompts({\n\t\t\t\t\ttype: 'select',\n\t\t\t\t\tname: 'action',\n\t\t\t\t\tmessage: 'Do you want to continue?',\n\t\t\t\t\tchoices: [\n\t\t\t\t\t\t{ value: 'yes', title: 'Execute migrations' },\n\t\t\t\t\t\t{ value: 'describe', title: 'Describe migrations' },\n\t\t\t\t\t\t{ value: 'no', title: 'Abort' },\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t\tif (action === 'describe') {\n\t\t\t\t\tconst schema = await this.schemaVersionBuilder.buildSchemaUntil(migrations[0].version)\n\t\t\t\t\tfor (const migration of migrations) {\n\t\t\t\t\t\tconst migrationContent = await migration.localMigration.getContent()\n\t\t\t\t\t\tif (!isSchemaMigration(migrationContent)) {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tawait this.migrationPrinter.printMigrationDescription(schema, migrationContent, {\n\t\t\t\t\t\t\tnoSql: true,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t} else if (action === 'yes') {\n\t\t\t\t\tbreak\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t} while (true)\n\t\t}\n\n\t\tawait this.migrationExecutor.executeMigrations({\n\t\t\tclient: this.systemClientProvider.get(),\n\t\t\tmigrations,\n\t\t\tcontentMigrationFactoryArgs: {\n\t\t\t\tapiToken: project.token,\n\t\t\t\tapiBaseUrl: project.endpoint,\n\t\t\t\tprojectName: project.name,\n\t\t\t\tschemaVersionBuilder: this.schemaVersionBuilder,\n\t\t\t},\n\t\t\tlog: message => console.log(message),\n\t\t\tforce,\n\t\t})\n\t\treturn true\n\t}\n}\n"],"names":["MigrationVersionHelper","isSchemaMigration"],"mappings":";;;;;;;;AAUO,MAAM,yBAAyB;AAAA,EACrC,YACkB,sBACA,sBACA,iBACA,sBACA,kBACA,mBACA,uBAChB;AAPgB,SAAA,uBAAA;AACA,SAAA,uBAAA;AACA,SAAA,kBAAA;AACA,SAAA,uBAAA;AACA,SAAA,mBAAA;AACA,SAAA,oBAAA;AACA,SAAA,wBAAA;AAIlB,kBAAA,MAAA,WAAU,OAAO;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,MAMuB;AACvB,YAAM,UAAU,KAAK,gBAAgB,IAAA;AACrC,YAAM,KAAK,qBAAqB,IAAA,EAAM,cAAc,QAAQ,MAAM,IAAI;AAEtE,YAAM,SAAS,MAAM,KAAK,sBAAsB,wBAAwB,EAAE,OAAO;AACjF,YAAM,aAAa,QAChB,OAAO,oBAAoB,OAAO,CAAA,OAAM,GAAG,WAAWA,aAAAA,uBAAuB,eAAe,KAAK,CAAC,IAClG,OAAO;AACV,UAAI,WAAW,WAAW,GAAG;AAC5B,gBAAQ,IAAI,0BAA0B;AACtC,eAAO;AAAA,MACR;AACA,cAAQ,IAAI,oCAAoC;AAChD,iBAAW,QAAQ,CAAA,OAAM,QAAQ,IAAI,GAAG,IAAI,CAAC;AAC7C,2BAAqB,QAAQ,IAAI,iBAAiB;AAElD,UAAI,OAAO,wBAAwB,aAAa,oBAAoB,UAAU,IAAI,qBAAqB;AACtG,YAAI,CAAC,QAAQ,MAAM,OAAO;AACzB,gBAAM;AAAA,QACP;AACA,WAAG;AACF,gBAAM,EAAE,WAAW,MAAM,QAAQ;AAAA,YAChC,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,YACT,SAAS;AAAA,cACR,EAAE,OAAO,OAAO,OAAO,qBAAA;AAAA,cACvB,EAAE,OAAO,YAAY,OAAO,sBAAA;AAAA,cAC5B,EAAE,OAAO,MAAM,OAAO,QAAA;AAAA,YAAQ;AAAA,UAC/B,CACA;AACD,cAAI,WAAW,YAAY;AAC1B,kBAAM,SAAS,MAAM,KAAK,qBAAqB,iBAAiB,WAAW,CAAC,EAAE,OAAO;AACrF,uBAAW,aAAa,YAAY;AACnC,oBAAM,mBAAmB,MAAM,UAAU,eAAe,WAAA;AACxD,kBAAI,CAACC,iBAAAA,kBAAkB,gBAAgB,GAAG;AACzC;AAAA,cACD;AAEA,oBAAM,KAAK,iBAAiB,0BAA0B,QAAQ,kBAAkB;AAAA,gBAC/E,OAAO;AAAA,cAAA,CACP;AAAA,YACF;AAAA,UACD,WAAW,WAAW,OAAO;AAC5B;AAAA,UACD,OAAO;AACN,mBAAO;AAAA,UACR;AAAA,QACD,SAAS;AAAA,MACV;AAEA,YAAM,KAAK,kBAAkB,kBAAkB;AAAA,QAC9C,QAAQ,KAAK,qBAAqB,IAAA;AAAA,QAClC;AAAA,QACA,6BAA6B;AAAA,UAC5B,UAAU,QAAQ;AAAA,UAClB,YAAY,QAAQ;AAAA,UACpB,aAAa,QAAQ;AAAA,UACrB,sBAAsB,KAAK;AAAA,QAAA;AAAA,QAE5B,KAAK,CAAA,YAAW,QAAQ,IAAI,OAAO;AAAA,QACnC;AAAA,MAAA,CACA;AACD,aAAO;AAAA,IACR,CAAA;AAAA,EA5EA;AA6ED;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationExecutionFacade.js","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationExecutionFacade.ts"],"sourcesContent":["import prompts from 'prompts'\nimport { MigrationPrinter } from './MigrationPrinter'\nimport { isSchemaMigration, MigrationExecutor, MigrationToExecuteOkStatus, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { MigrationsStatusFacade } from './MigrationsStatusFacade'\nimport { MigrationVersionHelper } from '@contember/engine-common'\nimport { RemoteProject } from '../project/RemoteProject'\nimport { SystemClientProvider } from '../SystemClientProvider'\nimport { TenantClientProvider } from '../TenantClientProvider'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport class MigrationExecutionFacade {\n\tconstructor(\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly tenantClientProvider: TenantClientProvider,\n\t\tprivate readonly projectProvider: RemoteProjectProvider,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t\tprivate readonly migrationExecutor: MigrationExecutor,\n\t\tprivate readonly migrationStatusFacade: MigrationsStatusFacade,\n\t) {\n\t}\n\n\texecute = async ({\n\t\trequireConfirmation,\n\t\tforce,\n\t\tuntil,\n\t\tadditionalMessage,\n\t}: {\n\t\trequireConfirmation: boolean | ((migrations: MigrationToExecuteOkStatus[]) => boolean)\n\t\tforce?: boolean\n\t\tuntil?: string\n\t\tadditionalMessage?: string\n\t}): Promise<boolean> => {\n\t\tconst project = this.projectProvider.get()\n\t\tawait this.tenantClientProvider.get().createProject(project.name, true)\n\n\t\tconst status = await this.migrationStatusFacade.resolveMigrationsStatus({ force })\n\t\tconst migrations = until\n\t\t\t? status.migrationsToExecute.filter(it => it.version <= MigrationVersionHelper.extractVersion(until))\n\t\t\t: status.migrationsToExecute\n\t\tif (migrations.length === 0) {\n\t\t\tconsole.log('No migrations to execute')\n\t\t\treturn true\n\t\t}\n\t\tconsole.log('Will execute following migrations:')\n\t\tmigrations.forEach(it => console.log(it.name))\n\t\tadditionalMessage && console.log(additionalMessage)\n\n\t\tif (typeof requireConfirmation === 'function' ? requireConfirmation(migrations) : requireConfirmation) {\n\t\t\tif (!process.stdin.isTTY) {\n\t\t\t\tthrow 'TTY not available. Pass --yes option to confirm execution.'\n\t\t\t}\n\t\t\tdo {\n\t\t\t\tconst { action } = await prompts({\n\t\t\t\t\ttype: 'select',\n\t\t\t\t\tname: 'action',\n\t\t\t\t\tmessage: 'Do you want to continue?',\n\t\t\t\t\tchoices: [\n\t\t\t\t\t\t{ value: 'yes', title: 'Execute migrations' },\n\t\t\t\t\t\t{ value: 'describe', title: 'Describe migrations' },\n\t\t\t\t\t\t{ value: 'no', title: 'Abort' },\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t\tif (action === 'describe') {\n\t\t\t\t\tconst schema = await this.schemaVersionBuilder.buildSchemaUntil(migrations[0].version)\n\t\t\t\t\tfor (const migration of migrations) {\n\t\t\t\t\t\tconst migrationContent = await migration.localMigration.getContent()\n\t\t\t\t\t\tif (!isSchemaMigration(migrationContent)) {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tawait this.migrationPrinter.printMigrationDescription(schema, migrationContent, {\n\t\t\t\t\t\t\tnoSql: true,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t} else if (action === 'yes') {\n\t\t\t\t\tbreak\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t} while (true)\n\t\t}\n\n\t\tawait this.migrationExecutor.executeMigrations({\n\t\t\tclient: this.systemClientProvider.get(),\n\t\t\tmigrations,\n\t\t\tcontentMigrationFactoryArgs: {\n\t\t\t\tapiToken: project.token,\n\t\t\t\tapiBaseUrl: project.endpoint,\n\t\t\t\tprojectName: project.name,\n\t\t\t\tschemaVersionBuilder: this.schemaVersionBuilder,\n\t\t\t},\n\t\t\tlog: message => console.log(message),\n\t\t\tforce,\n\t\t})\n\t\treturn true\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAUO,MAAM,yBAAyB;AAAA,EACrC,YACkB,sBACA,sBACA,iBACA,sBACA,kBACA,mBACA,uBAChB;AAPgB,SAAA,uBAAA;AACA,SAAA,uBAAA;AACA,SAAA,kBAAA;AACA,SAAA,uBAAA;AACA,SAAA,mBAAA;AACA,SAAA,oBAAA;AACA,SAAA,wBAAA;AAIlB,kBAAA,MAAA,WAAU,OAAO;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,MAMuB;AACjB,YAAA,UAAU,KAAK,gBAAgB,IAAI;AACzC,YAAM,KAAK,qBAAqB,IAAA,EAAM,cAAc,QAAQ,MAAM,IAAI;AAEtE,YAAM,SAAS,MAAM,KAAK,sBAAsB,wBAAwB,EAAE,OAAO;AACjF,YAAM,aAAa,QAChB,OAAO,oBAAoB,OAAO,CAAA,OAAM,GAAG,WAAW,uBAAuB,eAAe,KAAK,CAAC,IAClG,OAAO;AACN,UAAA,WAAW,WAAW,GAAG;AAC5B,gBAAQ,IAAI,0BAA0B;AAC/B,eAAA;AAAA,MAAA;AAER,cAAQ,IAAI,oCAAoC;AAChD,iBAAW,QAAQ,CAAM,OAAA,QAAQ,IAAI,GAAG,IAAI,CAAC;AACxB,2BAAA,QAAQ,IAAI,iBAAiB;AAElD,UAAI,OAAO,wBAAwB,aAAa,oBAAoB,UAAU,IAAI,qBAAqB;AAClG,YAAA,CAAC,QAAQ,MAAM,OAAO;AACnB,gBAAA;AAAA,QAAA;AAEJ,WAAA;AACF,gBAAM,EAAE,WAAW,MAAM,QAAQ;AAAA,YAChC,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,YACT,SAAS;AAAA,cACR,EAAE,OAAO,OAAO,OAAO,qBAAqB;AAAA,cAC5C,EAAE,OAAO,YAAY,OAAO,sBAAsB;AAAA,cAClD,EAAE,OAAO,MAAM,OAAO,QAAQ;AAAA,YAAA;AAAA,UAC/B,CACA;AACD,cAAI,WAAW,YAAY;AACpB,kBAAA,SAAS,MAAM,KAAK,qBAAqB,iBAAiB,WAAW,CAAC,EAAE,OAAO;AACrF,uBAAW,aAAa,YAAY;AACnC,oBAAM,mBAAmB,MAAM,UAAU,eAAe,WAAW;AAC/D,kBAAA,CAAC,kBAAkB,gBAAgB,GAAG;AACzC;AAAA,cAAA;AAGD,oBAAM,KAAK,iBAAiB,0BAA0B,QAAQ,kBAAkB;AAAA,gBAC/E,OAAO;AAAA,cAAA,CACP;AAAA,YAAA;AAAA,UACF,WACU,WAAW,OAAO;AAC5B;AAAA,UAAA,OACM;AACC,mBAAA;AAAA,UAAA;AAAA,QACR,SACQ;AAAA,MAAA;AAGJ,YAAA,KAAK,kBAAkB,kBAAkB;AAAA,QAC9C,QAAQ,KAAK,qBAAqB,IAAI;AAAA,QACtC;AAAA,QACA,6BAA6B;AAAA,UAC5B,UAAU,QAAQ;AAAA,UAClB,YAAY,QAAQ;AAAA,UACpB,aAAa,QAAQ;AAAA,UACrB,sBAAsB,KAAK;AAAA,QAC5B;AAAA,QACA,KAAK,CAAA,YAAW,QAAQ,IAAI,OAAO;AAAA,QACnC;AAAA,MAAA,CACA;AACM,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AACD;"}
1
+ {"version":3,"file":"MigrationExecutionFacade.js","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationExecutionFacade.ts"],"sourcesContent":["import prompts from 'prompts'\nimport { MigrationPrinter } from './MigrationPrinter'\nimport { isSchemaMigration, MigrationExecutor, MigrationToExecuteOkStatus, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { MigrationsStatusFacade } from './MigrationsStatusFacade'\nimport { MigrationVersionHelper } from '@contember/engine-common'\nimport { RemoteProject } from '../project/RemoteProject'\nimport { SystemClientProvider } from '../SystemClientProvider'\nimport { TenantClientProvider } from '../TenantClientProvider'\nimport { RemoteProjectProvider } from '../project/RemoteProjectProvider'\n\nexport class MigrationExecutionFacade {\n\tconstructor(\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly tenantClientProvider: TenantClientProvider,\n\t\tprivate readonly projectProvider: RemoteProjectProvider,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t\tprivate readonly migrationExecutor: MigrationExecutor,\n\t\tprivate readonly migrationStatusFacade: MigrationsStatusFacade,\n\t) {\n\t}\n\n\texecute = async ({\n\t\trequireConfirmation,\n\t\tforce,\n\t\tuntil,\n\t\tadditionalMessage,\n\t}: {\n\t\trequireConfirmation: boolean | ((migrations: MigrationToExecuteOkStatus[]) => boolean)\n\t\tforce?: boolean\n\t\tuntil?: string\n\t\tadditionalMessage?: string\n\t}): Promise<boolean> => {\n\t\tconst project = this.projectProvider.get()\n\t\tawait this.tenantClientProvider.get().createProject(project.name, true)\n\n\t\tconst status = await this.migrationStatusFacade.resolveMigrationsStatus({ force })\n\t\tconst migrations = until\n\t\t\t? status.migrationsToExecute.filter(it => it.version <= MigrationVersionHelper.extractVersion(until))\n\t\t\t: status.migrationsToExecute\n\t\tif (migrations.length === 0) {\n\t\t\tconsole.log('No migrations to execute')\n\t\t\treturn true\n\t\t}\n\t\tconsole.log('Will execute following migrations:')\n\t\tmigrations.forEach(it => console.log(it.name))\n\t\tadditionalMessage && console.log(additionalMessage)\n\n\t\tif (typeof requireConfirmation === 'function' ? requireConfirmation(migrations) : requireConfirmation) {\n\t\t\tif (!process.stdin.isTTY) {\n\t\t\t\tthrow 'TTY not available. Pass --yes option to confirm execution.'\n\t\t\t}\n\t\t\tdo {\n\t\t\t\tconst { action } = await prompts({\n\t\t\t\t\ttype: 'select',\n\t\t\t\t\tname: 'action',\n\t\t\t\t\tmessage: 'Do you want to continue?',\n\t\t\t\t\tchoices: [\n\t\t\t\t\t\t{ value: 'yes', title: 'Execute migrations' },\n\t\t\t\t\t\t{ value: 'describe', title: 'Describe migrations' },\n\t\t\t\t\t\t{ value: 'no', title: 'Abort' },\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t\tif (action === 'describe') {\n\t\t\t\t\tconst schema = await this.schemaVersionBuilder.buildSchemaUntil(migrations[0].version)\n\t\t\t\t\tfor (const migration of migrations) {\n\t\t\t\t\t\tconst migrationContent = await migration.localMigration.getContent()\n\t\t\t\t\t\tif (!isSchemaMigration(migrationContent)) {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tawait this.migrationPrinter.printMigrationDescription(schema, migrationContent, {\n\t\t\t\t\t\t\tnoSql: true,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t} else if (action === 'yes') {\n\t\t\t\t\tbreak\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t} while (true)\n\t\t}\n\n\t\tawait this.migrationExecutor.executeMigrations({\n\t\t\tclient: this.systemClientProvider.get(),\n\t\t\tmigrations,\n\t\t\tcontentMigrationFactoryArgs: {\n\t\t\t\tapiToken: project.token,\n\t\t\t\tapiBaseUrl: project.endpoint,\n\t\t\t\tprojectName: project.name,\n\t\t\t\tschemaVersionBuilder: this.schemaVersionBuilder,\n\t\t\t},\n\t\t\tlog: message => console.log(message),\n\t\t\tforce,\n\t\t})\n\t\treturn true\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAUO,MAAM,yBAAyB;AAAA,EACrC,YACkB,sBACA,sBACA,iBACA,sBACA,kBACA,mBACA,uBAChB;AAPgB,SAAA,uBAAA;AACA,SAAA,uBAAA;AACA,SAAA,kBAAA;AACA,SAAA,uBAAA;AACA,SAAA,mBAAA;AACA,SAAA,oBAAA;AACA,SAAA,wBAAA;AAIlB,kBAAA,MAAA,WAAU,OAAO;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,MAMuB;AACvB,YAAM,UAAU,KAAK,gBAAgB,IAAA;AACrC,YAAM,KAAK,qBAAqB,IAAA,EAAM,cAAc,QAAQ,MAAM,IAAI;AAEtE,YAAM,SAAS,MAAM,KAAK,sBAAsB,wBAAwB,EAAE,OAAO;AACjF,YAAM,aAAa,QAChB,OAAO,oBAAoB,OAAO,CAAA,OAAM,GAAG,WAAW,uBAAuB,eAAe,KAAK,CAAC,IAClG,OAAO;AACV,UAAI,WAAW,WAAW,GAAG;AAC5B,gBAAQ,IAAI,0BAA0B;AACtC,eAAO;AAAA,MACR;AACA,cAAQ,IAAI,oCAAoC;AAChD,iBAAW,QAAQ,CAAA,OAAM,QAAQ,IAAI,GAAG,IAAI,CAAC;AAC7C,2BAAqB,QAAQ,IAAI,iBAAiB;AAElD,UAAI,OAAO,wBAAwB,aAAa,oBAAoB,UAAU,IAAI,qBAAqB;AACtG,YAAI,CAAC,QAAQ,MAAM,OAAO;AACzB,gBAAM;AAAA,QACP;AACA,WAAG;AACF,gBAAM,EAAE,WAAW,MAAM,QAAQ;AAAA,YAChC,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,YACT,SAAS;AAAA,cACR,EAAE,OAAO,OAAO,OAAO,qBAAA;AAAA,cACvB,EAAE,OAAO,YAAY,OAAO,sBAAA;AAAA,cAC5B,EAAE,OAAO,MAAM,OAAO,QAAA;AAAA,YAAQ;AAAA,UAC/B,CACA;AACD,cAAI,WAAW,YAAY;AAC1B,kBAAM,SAAS,MAAM,KAAK,qBAAqB,iBAAiB,WAAW,CAAC,EAAE,OAAO;AACrF,uBAAW,aAAa,YAAY;AACnC,oBAAM,mBAAmB,MAAM,UAAU,eAAe,WAAA;AACxD,kBAAI,CAAC,kBAAkB,gBAAgB,GAAG;AACzC;AAAA,cACD;AAEA,oBAAM,KAAK,iBAAiB,0BAA0B,QAAQ,kBAAkB;AAAA,gBAC/E,OAAO;AAAA,cAAA,CACP;AAAA,YACF;AAAA,UACD,WAAW,WAAW,OAAO;AAC5B;AAAA,UACD,OAAO;AACN,mBAAO;AAAA,UACR;AAAA,QACD,SAAS;AAAA,MACV;AAEA,YAAM,KAAK,kBAAkB,kBAAkB;AAAA,QAC9C,QAAQ,KAAK,qBAAqB,IAAA;AAAA,QAClC;AAAA,QACA,6BAA6B;AAAA,UAC5B,UAAU,QAAQ;AAAA,UAClB,YAAY,QAAQ;AAAA,UACpB,aAAa,QAAQ;AAAA,UACrB,sBAAsB,KAAK;AAAA,QAAA;AAAA,QAE5B,KAAK,CAAA,YAAW,QAAQ,IAAI,OAAO;AAAA,QACnC;AAAA,MAAA,CACA;AACD,aAAO;AAAA,IACR,CAAA;AAAA,EA5EA;AA6ED;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationPrinter.cjs","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationPrinter.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"../../../types/chalk-table/index.d.ts\" />\n\nimport { Schema } from '@contember/schema'\nimport chalk from 'chalk'\nimport { AnyMigrationStatus, Migration, MigrationDescriber, MigrationState } from '@contember/migrations-client'\nimport { emptyDatabaseMetadata } from '@contember/database'\nimport chalkTable from 'chalk-table'\nimport { assertNever } from '../assertNever'\n\nexport class MigrationPrinter {\n\tconstructor(\n\t\tprivate readonly migrationsDescriber: MigrationDescriber,\n\t) {\n\t}\n\n\tprintMigrationDescription = (\n\t\tschema: Schema,\n\t\tmigration: Migration,\n\t\toptions: { sqlOnly?: boolean; noSql?: boolean },\n\t) => {\n\t\tconst description = this.migrationsDescriber.describeModifications(schema, migration)\n\t\tdescription.forEach(({ modification, getSql, description }) => {\n\t\t\tconst sql = getSql({\n\t\t\t\tsystemSchema: 'system',\n\t\t\t\tdatabaseMetadata: emptyDatabaseMetadata,\n\t\t\t\tinvalidateDatabaseMetadata: () => null,\n\t\t\t})\n\t\t\tif (options.sqlOnly) {\n\t\t\t\tif (sql.trim()) {\n\t\t\t\t\tconsole.log(sql)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst color = description.isDestructive ? chalk.red : chalk.blue\n\t\t\t\tconsole.group(color(`${description.message} [${modification.modification}]`))\n\t\t\t\tif (description.failureWarning) {\n\t\t\t\t\tconsole.log(chalk.bgWhite(chalk.redBright(description.failureWarning)))\n\t\t\t\t}\n\n\t\t\t\tif (!options.noSql) {\n\t\t\t\t\tif (sql.trim()) {\n\t\t\t\t\t\tconsole.log(sql)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log('No sql to execute')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconsole.groupEnd()\n\t\t\t}\n\t\t})\n\t}\n\n\tprintStatusTable = (migrations: AnyMigrationStatus[]) => {\n\t\treturn chalkTable(\n\t\t\t{\n\t\t\t\tcolumns: ['status', 'migration', 'info'],\n\t\t\t},\n\t\t\tmigrations.map(it => {\n\t\t\t\tswitch (it.state) {\n\t\t\t\t\tcase MigrationState.EXECUTED_ERROR:\n\t\t\t\t\t\treturn { status: chalk.bgRedBright.white('ERROR'), migration: it.name, info: it.errorMessage }\n\t\t\t\t\tcase MigrationState.EXECUTED_OK:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgGreen.blackBright('Executed'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: `Executed at ${it.executedMigration.executedAt.toISOString()}`,\n\t\t\t\t\t\t}\n\t\t\t\t\tcase MigrationState.EXECUTED_MISSING:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgRedBright.white('ERROR'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: it.errorMessage,\n\t\t\t\t\t\t}\n\t\t\t\t\tcase MigrationState.TO_EXECUTE_OK:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgBlueBright.white('Not executed'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: 'Will be executed during next deploy',\n\t\t\t\t\t\t}\n\t\t\t\t\tcase MigrationState.TO_EXECUTE_ERROR:\n\t\t\t\t\t\treturn { status: chalk.bgRedBright.white('ERROR'), migration: it.name, info: it.errorMessage }\n\t\t\t\t\tcase MigrationState.SKIP_EMPTY:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgYellow.white('Skip'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: `Skipped because empty`,\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tassertNever(it)\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n\n}\n"],"names":["description","emptyDatabaseMetadata","MigrationState","assertNever"],"mappings":";;;;;;;;;;AAUO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,qBAChB;AADgB,SAAA,sBAAA;AAIU,kBAAA,MAAA,6BAAA,CAC3B,QACA,WACA,YACI;AACJ,YAAM,cAAc,KAAK,oBAAoB,sBAAsB,QAAQ,SAAS;AACpF,kBAAY,QAAQ,CAAC,EAAE,cAAc,QAAQ,aAAAA,mBAAkB;AAC9D,cAAM,MAAM,OAAO;AAAA,UAClB,cAAc;AAAA,UACd,kBAAkBC,SAAA;AAAA,UAClB,4BAA4B,MAAM;AAAA,QAAA,CAClC;AACD,YAAI,QAAQ,SAAS;AAChB,cAAA,IAAI,QAAQ;AACf,oBAAQ,IAAI,GAAG;AAAA,UAAA;AAAA,QAChB,OACM;AACN,gBAAM,QAAQD,aAAY,gBAAgB,MAAM,MAAM,MAAM;AACpD,kBAAA,MAAM,MAAM,GAAGA,aAAY,OAAO,KAAK,aAAa,YAAY,GAAG,CAAC;AAC5E,cAAIA,aAAY,gBAAgB;AACvB,oBAAA,IAAI,MAAM,QAAQ,MAAM,UAAUA,aAAY,cAAc,CAAC,CAAC;AAAA,UAAA;AAGnE,cAAA,CAAC,QAAQ,OAAO;AACf,gBAAA,IAAI,QAAQ;AACf,sBAAQ,IAAI,GAAG;AAAA,YAAA,OACT;AACN,sBAAQ,IAAI,mBAAmB;AAAA,YAAA;AAAA,UAChC;AAED,kBAAQ,SAAS;AAAA,QAAA;AAAA,MAClB,CACA;AAAA,IAAA,CACF;AAEA,kBAAA,MAAA,oBAAmB,CAAC,eAAqC;AACjD,aAAA;AAAA,QACN;AAAA,UACC,SAAS,CAAC,UAAU,aAAa,MAAM;AAAA,QACxC;AAAA,QACA,WAAW,IAAI,CAAM,OAAA;AACpB,kBAAQ,GAAG,OAAO;AAAA,YACjB,KAAKE,iBAAe,eAAA;AACnB,qBAAO,EAAE,QAAQ,MAAM,YAAY,MAAM,OAAO,GAAG,WAAW,GAAG,MAAM,MAAM,GAAG,aAAa;AAAA,YAC9F,KAAKA,iBAAe,eAAA;AACZ,qBAAA;AAAA,gBACN,QAAQ,MAAM,QAAQ,YAAY,UAAU;AAAA,gBAC5C,WAAW,GAAG;AAAA,gBACd,MAAM,eAAe,GAAG,kBAAkB,WAAW,aAAa;AAAA,cACnE;AAAA,YACD,KAAKA,iBAAe,eAAA;AACZ,qBAAA;AAAA,gBACN,QAAQ,MAAM,YAAY,MAAM,OAAO;AAAA,gBACvC,WAAW,GAAG;AAAA,gBACd,MAAM,GAAG;AAAA,cACV;AAAA,YACD,KAAKA,iBAAe,eAAA;AACZ,qBAAA;AAAA,gBACN,QAAQ,MAAM,aAAa,MAAM,cAAc;AAAA,gBAC/C,WAAW,GAAG;AAAA,gBACd,MAAM;AAAA,cACP;AAAA,YACD,KAAKA,iBAAe,eAAA;AACnB,qBAAO,EAAE,QAAQ,MAAM,YAAY,MAAM,OAAO,GAAG,WAAW,GAAG,MAAM,MAAM,GAAG,aAAa;AAAA,YAC9F,KAAKA,iBAAe,eAAA;AACZ,qBAAA;AAAA,gBACN,QAAQ,MAAM,SAAS,MAAM,MAAM;AAAA,gBACnC,WAAW,GAAG;AAAA,gBACd,MAAM;AAAA,cACP;AAAA,YACD;AACCC,0BAAAA,YAAc;AAAA,UAAA;AAAA,QAEhB,CAAA;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EAAA;AAED;;"}
1
+ {"version":3,"file":"MigrationPrinter.cjs","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationPrinter.ts"],"sourcesContent":["/// <reference path=\"../../../types/chalk-table/index.d.ts\" />\n\nimport { Schema } from '@contember/schema'\nimport chalk from 'chalk'\nimport { AnyMigrationStatus, Migration, MigrationDescriber, MigrationState } from '@contember/migrations-client'\nimport { emptyDatabaseMetadata } from '@contember/database'\nimport chalkTable from 'chalk-table'\nimport { assertNever } from '../assertNever'\n\nexport class MigrationPrinter {\n\tconstructor(\n\t\tprivate readonly migrationsDescriber: MigrationDescriber,\n\t) {\n\t}\n\n\tprintMigrationDescription = (\n\t\tschema: Schema,\n\t\tmigration: Migration,\n\t\toptions: { sqlOnly?: boolean; noSql?: boolean },\n\t) => {\n\t\tconst description = this.migrationsDescriber.describeModifications(schema, migration)\n\t\tdescription.forEach(({ modification, getSql, description }) => {\n\t\t\tconst sql = getSql({\n\t\t\t\tsystemSchema: 'system',\n\t\t\t\tdatabaseMetadata: emptyDatabaseMetadata,\n\t\t\t\tinvalidateDatabaseMetadata: () => null,\n\t\t\t})\n\t\t\tif (options.sqlOnly) {\n\t\t\t\tif (sql.trim()) {\n\t\t\t\t\tconsole.log(sql)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst color = description.isDestructive ? chalk.red : chalk.blue\n\t\t\t\tconsole.group(color(`${description.message} [${modification.modification}]`))\n\t\t\t\tif (description.failureWarning) {\n\t\t\t\t\tconsole.log(chalk.bgWhite(chalk.redBright(description.failureWarning)))\n\t\t\t\t}\n\n\t\t\t\tif (!options.noSql) {\n\t\t\t\t\tif (sql.trim()) {\n\t\t\t\t\t\tconsole.log(sql)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log('No sql to execute')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconsole.groupEnd()\n\t\t\t}\n\t\t})\n\t}\n\n\tprintStatusTable = (migrations: AnyMigrationStatus[]) => {\n\t\treturn chalkTable(\n\t\t\t{\n\t\t\t\tcolumns: ['status', 'migration', 'info'],\n\t\t\t},\n\t\t\tmigrations.map(it => {\n\t\t\t\tswitch (it.state) {\n\t\t\t\t\tcase MigrationState.EXECUTED_ERROR:\n\t\t\t\t\t\treturn { status: chalk.bgRedBright.white('ERROR'), migration: it.name, info: it.errorMessage }\n\t\t\t\t\tcase MigrationState.EXECUTED_OK:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgGreen.blackBright('Executed'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: `Executed at ${it.executedMigration.executedAt.toISOString()}`,\n\t\t\t\t\t\t}\n\t\t\t\t\tcase MigrationState.EXECUTED_MISSING:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgRedBright.white('ERROR'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: it.errorMessage,\n\t\t\t\t\t\t}\n\t\t\t\t\tcase MigrationState.TO_EXECUTE_OK:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgBlueBright.white('Not executed'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: 'Will be executed during next deploy',\n\t\t\t\t\t\t}\n\t\t\t\t\tcase MigrationState.TO_EXECUTE_ERROR:\n\t\t\t\t\t\treturn { status: chalk.bgRedBright.white('ERROR'), migration: it.name, info: it.errorMessage }\n\t\t\t\t\tcase MigrationState.SKIP_EMPTY:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgYellow.white('Skip'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: `Skipped because empty`,\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tassertNever(it)\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n}\n"],"names":["description","emptyDatabaseMetadata","MigrationState","assertNever"],"mappings":";;;;;;;;;;AASO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,qBAChB;AADgB,SAAA,sBAAA;AAIlB,kBAAA,MAAA,6BAA4B,CAC3B,QACA,WACA,YACI;AACJ,YAAM,cAAc,KAAK,oBAAoB,sBAAsB,QAAQ,SAAS;AACpF,kBAAY,QAAQ,CAAC,EAAE,cAAc,QAAQ,aAAAA,mBAAkB;AAC9D,cAAM,MAAM,OAAO;AAAA,UAClB,cAAc;AAAA,UACd,kBAAkBC,SAAAA;AAAAA,UAClB,4BAA4B,MAAM;AAAA,QAAA,CAClC;AACD,YAAI,QAAQ,SAAS;AACpB,cAAI,IAAI,QAAQ;AACf,oBAAQ,IAAI,GAAG;AAAA,UAChB;AAAA,QACD,OAAO;AACN,gBAAM,QAAQD,aAAY,gBAAgB,MAAM,MAAM,MAAM;AAC5D,kBAAQ,MAAM,MAAM,GAAGA,aAAY,OAAO,KAAK,aAAa,YAAY,GAAG,CAAC;AAC5E,cAAIA,aAAY,gBAAgB;AAC/B,oBAAQ,IAAI,MAAM,QAAQ,MAAM,UAAUA,aAAY,cAAc,CAAC,CAAC;AAAA,UACvE;AAEA,cAAI,CAAC,QAAQ,OAAO;AACnB,gBAAI,IAAI,QAAQ;AACf,sBAAQ,IAAI,GAAG;AAAA,YAChB,OAAO;AACN,sBAAQ,IAAI,mBAAmB;AAAA,YAChC;AAAA,UACD;AACA,kBAAQ,SAAA;AAAA,QACT;AAAA,MACD,CAAC;AAAA,IACF,CAAA;AAEA,kBAAA,MAAA,oBAAmB,CAAC,eAAqC;AACxD,aAAO;AAAA,QACN;AAAA,UACC,SAAS,CAAC,UAAU,aAAa,MAAM;AAAA,QAAA;AAAA,QAExC,WAAW,IAAI,CAAA,OAAM;AACpB,kBAAQ,GAAG,OAAA;AAAA,YACV,KAAKE,iBAAAA,eAAe;AACnB,qBAAO,EAAE,QAAQ,MAAM,YAAY,MAAM,OAAO,GAAG,WAAW,GAAG,MAAM,MAAM,GAAG,aAAA;AAAA,YACjF,KAAKA,iBAAAA,eAAe;AACnB,qBAAO;AAAA,gBACN,QAAQ,MAAM,QAAQ,YAAY,UAAU;AAAA,gBAC5C,WAAW,GAAG;AAAA,gBACd,MAAM,eAAe,GAAG,kBAAkB,WAAW,aAAa;AAAA,cAAA;AAAA,YAEpE,KAAKA,iBAAAA,eAAe;AACnB,qBAAO;AAAA,gBACN,QAAQ,MAAM,YAAY,MAAM,OAAO;AAAA,gBACvC,WAAW,GAAG;AAAA,gBACd,MAAM,GAAG;AAAA,cAAA;AAAA,YAEX,KAAKA,iBAAAA,eAAe;AACnB,qBAAO;AAAA,gBACN,QAAQ,MAAM,aAAa,MAAM,cAAc;AAAA,gBAC/C,WAAW,GAAG;AAAA,gBACd,MAAM;AAAA,cAAA;AAAA,YAER,KAAKA,iBAAAA,eAAe;AACnB,qBAAO,EAAE,QAAQ,MAAM,YAAY,MAAM,OAAO,GAAG,WAAW,GAAG,MAAM,MAAM,GAAG,aAAA;AAAA,YACjF,KAAKA,iBAAAA,eAAe;AACnB,qBAAO;AAAA,gBACN,QAAQ,MAAM,SAAS,MAAM,MAAM;AAAA,gBACnC,WAAW,GAAG;AAAA,gBACd,MAAM;AAAA,cAAA;AAAA,YAER;AACCC,0BAAAA,YAAc;AAAA,UAAA;AAAA,QAEjB,CAAC;AAAA,MAAA;AAAA,IAEH,CAAA;AAAA,EA7EA;AA8ED;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationPrinter.js","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationPrinter.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"../../../types/chalk-table/index.d.ts\" />\n\nimport { Schema } from '@contember/schema'\nimport chalk from 'chalk'\nimport { AnyMigrationStatus, Migration, MigrationDescriber, MigrationState } from '@contember/migrations-client'\nimport { emptyDatabaseMetadata } from '@contember/database'\nimport chalkTable from 'chalk-table'\nimport { assertNever } from '../assertNever'\n\nexport class MigrationPrinter {\n\tconstructor(\n\t\tprivate readonly migrationsDescriber: MigrationDescriber,\n\t) {\n\t}\n\n\tprintMigrationDescription = (\n\t\tschema: Schema,\n\t\tmigration: Migration,\n\t\toptions: { sqlOnly?: boolean; noSql?: boolean },\n\t) => {\n\t\tconst description = this.migrationsDescriber.describeModifications(schema, migration)\n\t\tdescription.forEach(({ modification, getSql, description }) => {\n\t\t\tconst sql = getSql({\n\t\t\t\tsystemSchema: 'system',\n\t\t\t\tdatabaseMetadata: emptyDatabaseMetadata,\n\t\t\t\tinvalidateDatabaseMetadata: () => null,\n\t\t\t})\n\t\t\tif (options.sqlOnly) {\n\t\t\t\tif (sql.trim()) {\n\t\t\t\t\tconsole.log(sql)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst color = description.isDestructive ? chalk.red : chalk.blue\n\t\t\t\tconsole.group(color(`${description.message} [${modification.modification}]`))\n\t\t\t\tif (description.failureWarning) {\n\t\t\t\t\tconsole.log(chalk.bgWhite(chalk.redBright(description.failureWarning)))\n\t\t\t\t}\n\n\t\t\t\tif (!options.noSql) {\n\t\t\t\t\tif (sql.trim()) {\n\t\t\t\t\t\tconsole.log(sql)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log('No sql to execute')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconsole.groupEnd()\n\t\t\t}\n\t\t})\n\t}\n\n\tprintStatusTable = (migrations: AnyMigrationStatus[]) => {\n\t\treturn chalkTable(\n\t\t\t{\n\t\t\t\tcolumns: ['status', 'migration', 'info'],\n\t\t\t},\n\t\t\tmigrations.map(it => {\n\t\t\t\tswitch (it.state) {\n\t\t\t\t\tcase MigrationState.EXECUTED_ERROR:\n\t\t\t\t\t\treturn { status: chalk.bgRedBright.white('ERROR'), migration: it.name, info: it.errorMessage }\n\t\t\t\t\tcase MigrationState.EXECUTED_OK:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgGreen.blackBright('Executed'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: `Executed at ${it.executedMigration.executedAt.toISOString()}`,\n\t\t\t\t\t\t}\n\t\t\t\t\tcase MigrationState.EXECUTED_MISSING:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgRedBright.white('ERROR'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: it.errorMessage,\n\t\t\t\t\t\t}\n\t\t\t\t\tcase MigrationState.TO_EXECUTE_OK:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgBlueBright.white('Not executed'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: 'Will be executed during next deploy',\n\t\t\t\t\t\t}\n\t\t\t\t\tcase MigrationState.TO_EXECUTE_ERROR:\n\t\t\t\t\t\treturn { status: chalk.bgRedBright.white('ERROR'), migration: it.name, info: it.errorMessage }\n\t\t\t\t\tcase MigrationState.SKIP_EMPTY:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgYellow.white('Skip'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: `Skipped because empty`,\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tassertNever(it)\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n\n}\n"],"names":["description"],"mappings":";;;;;;;;AAUO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,qBAChB;AADgB,SAAA,sBAAA;AAIU,kBAAA,MAAA,6BAAA,CAC3B,QACA,WACA,YACI;AACJ,YAAM,cAAc,KAAK,oBAAoB,sBAAsB,QAAQ,SAAS;AACpF,kBAAY,QAAQ,CAAC,EAAE,cAAc,QAAQ,aAAAA,mBAAkB;AAC9D,cAAM,MAAM,OAAO;AAAA,UAClB,cAAc;AAAA,UACd,kBAAkB;AAAA,UAClB,4BAA4B,MAAM;AAAA,QAAA,CAClC;AACD,YAAI,QAAQ,SAAS;AAChB,cAAA,IAAI,QAAQ;AACf,oBAAQ,IAAI,GAAG;AAAA,UAAA;AAAA,QAChB,OACM;AACN,gBAAM,QAAQA,aAAY,gBAAgB,MAAM,MAAM,MAAM;AACpD,kBAAA,MAAM,MAAM,GAAGA,aAAY,OAAO,KAAK,aAAa,YAAY,GAAG,CAAC;AAC5E,cAAIA,aAAY,gBAAgB;AACvB,oBAAA,IAAI,MAAM,QAAQ,MAAM,UAAUA,aAAY,cAAc,CAAC,CAAC;AAAA,UAAA;AAGnE,cAAA,CAAC,QAAQ,OAAO;AACf,gBAAA,IAAI,QAAQ;AACf,sBAAQ,IAAI,GAAG;AAAA,YAAA,OACT;AACN,sBAAQ,IAAI,mBAAmB;AAAA,YAAA;AAAA,UAChC;AAED,kBAAQ,SAAS;AAAA,QAAA;AAAA,MAClB,CACA;AAAA,IAAA,CACF;AAEA,kBAAA,MAAA,oBAAmB,CAAC,eAAqC;AACjD,aAAA;AAAA,QACN;AAAA,UACC,SAAS,CAAC,UAAU,aAAa,MAAM;AAAA,QACxC;AAAA,QACA,WAAW,IAAI,CAAM,OAAA;AACpB,kBAAQ,GAAG,OAAO;AAAA,YACjB,KAAK,eAAe;AACnB,qBAAO,EAAE,QAAQ,MAAM,YAAY,MAAM,OAAO,GAAG,WAAW,GAAG,MAAM,MAAM,GAAG,aAAa;AAAA,YAC9F,KAAK,eAAe;AACZ,qBAAA;AAAA,gBACN,QAAQ,MAAM,QAAQ,YAAY,UAAU;AAAA,gBAC5C,WAAW,GAAG;AAAA,gBACd,MAAM,eAAe,GAAG,kBAAkB,WAAW,aAAa;AAAA,cACnE;AAAA,YACD,KAAK,eAAe;AACZ,qBAAA;AAAA,gBACN,QAAQ,MAAM,YAAY,MAAM,OAAO;AAAA,gBACvC,WAAW,GAAG;AAAA,gBACd,MAAM,GAAG;AAAA,cACV;AAAA,YACD,KAAK,eAAe;AACZ,qBAAA;AAAA,gBACN,QAAQ,MAAM,aAAa,MAAM,cAAc;AAAA,gBAC/C,WAAW,GAAG;AAAA,gBACd,MAAM;AAAA,cACP;AAAA,YACD,KAAK,eAAe;AACnB,qBAAO,EAAE,QAAQ,MAAM,YAAY,MAAM,OAAO,GAAG,WAAW,GAAG,MAAM,MAAM,GAAG,aAAa;AAAA,YAC9F,KAAK,eAAe;AACZ,qBAAA;AAAA,gBACN,QAAQ,MAAM,SAAS,MAAM,MAAM;AAAA,gBACnC,WAAW,GAAG;AAAA,gBACd,MAAM;AAAA,cACP;AAAA,YACD;AACC,0BAAc;AAAA,UAAA;AAAA,QAEhB,CAAA;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EAAA;AAED;"}
1
+ {"version":3,"file":"MigrationPrinter.js","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationPrinter.ts"],"sourcesContent":["/// <reference path=\"../../../types/chalk-table/index.d.ts\" />\n\nimport { Schema } from '@contember/schema'\nimport chalk from 'chalk'\nimport { AnyMigrationStatus, Migration, MigrationDescriber, MigrationState } from '@contember/migrations-client'\nimport { emptyDatabaseMetadata } from '@contember/database'\nimport chalkTable from 'chalk-table'\nimport { assertNever } from '../assertNever'\n\nexport class MigrationPrinter {\n\tconstructor(\n\t\tprivate readonly migrationsDescriber: MigrationDescriber,\n\t) {\n\t}\n\n\tprintMigrationDescription = (\n\t\tschema: Schema,\n\t\tmigration: Migration,\n\t\toptions: { sqlOnly?: boolean; noSql?: boolean },\n\t) => {\n\t\tconst description = this.migrationsDescriber.describeModifications(schema, migration)\n\t\tdescription.forEach(({ modification, getSql, description }) => {\n\t\t\tconst sql = getSql({\n\t\t\t\tsystemSchema: 'system',\n\t\t\t\tdatabaseMetadata: emptyDatabaseMetadata,\n\t\t\t\tinvalidateDatabaseMetadata: () => null,\n\t\t\t})\n\t\t\tif (options.sqlOnly) {\n\t\t\t\tif (sql.trim()) {\n\t\t\t\t\tconsole.log(sql)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst color = description.isDestructive ? chalk.red : chalk.blue\n\t\t\t\tconsole.group(color(`${description.message} [${modification.modification}]`))\n\t\t\t\tif (description.failureWarning) {\n\t\t\t\t\tconsole.log(chalk.bgWhite(chalk.redBright(description.failureWarning)))\n\t\t\t\t}\n\n\t\t\t\tif (!options.noSql) {\n\t\t\t\t\tif (sql.trim()) {\n\t\t\t\t\t\tconsole.log(sql)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log('No sql to execute')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconsole.groupEnd()\n\t\t\t}\n\t\t})\n\t}\n\n\tprintStatusTable = (migrations: AnyMigrationStatus[]) => {\n\t\treturn chalkTable(\n\t\t\t{\n\t\t\t\tcolumns: ['status', 'migration', 'info'],\n\t\t\t},\n\t\t\tmigrations.map(it => {\n\t\t\t\tswitch (it.state) {\n\t\t\t\t\tcase MigrationState.EXECUTED_ERROR:\n\t\t\t\t\t\treturn { status: chalk.bgRedBright.white('ERROR'), migration: it.name, info: it.errorMessage }\n\t\t\t\t\tcase MigrationState.EXECUTED_OK:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgGreen.blackBright('Executed'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: `Executed at ${it.executedMigration.executedAt.toISOString()}`,\n\t\t\t\t\t\t}\n\t\t\t\t\tcase MigrationState.EXECUTED_MISSING:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgRedBright.white('ERROR'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: it.errorMessage,\n\t\t\t\t\t\t}\n\t\t\t\t\tcase MigrationState.TO_EXECUTE_OK:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgBlueBright.white('Not executed'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: 'Will be executed during next deploy',\n\t\t\t\t\t\t}\n\t\t\t\t\tcase MigrationState.TO_EXECUTE_ERROR:\n\t\t\t\t\t\treturn { status: chalk.bgRedBright.white('ERROR'), migration: it.name, info: it.errorMessage }\n\t\t\t\t\tcase MigrationState.SKIP_EMPTY:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstatus: chalk.bgYellow.white('Skip'),\n\t\t\t\t\t\t\tmigration: it.name,\n\t\t\t\t\t\t\tinfo: `Skipped because empty`,\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tassertNever(it)\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n}\n"],"names":["description"],"mappings":";;;;;;;;AASO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,qBAChB;AADgB,SAAA,sBAAA;AAIlB,kBAAA,MAAA,6BAA4B,CAC3B,QACA,WACA,YACI;AACJ,YAAM,cAAc,KAAK,oBAAoB,sBAAsB,QAAQ,SAAS;AACpF,kBAAY,QAAQ,CAAC,EAAE,cAAc,QAAQ,aAAAA,mBAAkB;AAC9D,cAAM,MAAM,OAAO;AAAA,UAClB,cAAc;AAAA,UACd,kBAAkB;AAAA,UAClB,4BAA4B,MAAM;AAAA,QAAA,CAClC;AACD,YAAI,QAAQ,SAAS;AACpB,cAAI,IAAI,QAAQ;AACf,oBAAQ,IAAI,GAAG;AAAA,UAChB;AAAA,QACD,OAAO;AACN,gBAAM,QAAQA,aAAY,gBAAgB,MAAM,MAAM,MAAM;AAC5D,kBAAQ,MAAM,MAAM,GAAGA,aAAY,OAAO,KAAK,aAAa,YAAY,GAAG,CAAC;AAC5E,cAAIA,aAAY,gBAAgB;AAC/B,oBAAQ,IAAI,MAAM,QAAQ,MAAM,UAAUA,aAAY,cAAc,CAAC,CAAC;AAAA,UACvE;AAEA,cAAI,CAAC,QAAQ,OAAO;AACnB,gBAAI,IAAI,QAAQ;AACf,sBAAQ,IAAI,GAAG;AAAA,YAChB,OAAO;AACN,sBAAQ,IAAI,mBAAmB;AAAA,YAChC;AAAA,UACD;AACA,kBAAQ,SAAA;AAAA,QACT;AAAA,MACD,CAAC;AAAA,IACF,CAAA;AAEA,kBAAA,MAAA,oBAAmB,CAAC,eAAqC;AACxD,aAAO;AAAA,QACN;AAAA,UACC,SAAS,CAAC,UAAU,aAAa,MAAM;AAAA,QAAA;AAAA,QAExC,WAAW,IAAI,CAAA,OAAM;AACpB,kBAAQ,GAAG,OAAA;AAAA,YACV,KAAK,eAAe;AACnB,qBAAO,EAAE,QAAQ,MAAM,YAAY,MAAM,OAAO,GAAG,WAAW,GAAG,MAAM,MAAM,GAAG,aAAA;AAAA,YACjF,KAAK,eAAe;AACnB,qBAAO;AAAA,gBACN,QAAQ,MAAM,QAAQ,YAAY,UAAU;AAAA,gBAC5C,WAAW,GAAG;AAAA,gBACd,MAAM,eAAe,GAAG,kBAAkB,WAAW,aAAa;AAAA,cAAA;AAAA,YAEpE,KAAK,eAAe;AACnB,qBAAO;AAAA,gBACN,QAAQ,MAAM,YAAY,MAAM,OAAO;AAAA,gBACvC,WAAW,GAAG;AAAA,gBACd,MAAM,GAAG;AAAA,cAAA;AAAA,YAEX,KAAK,eAAe;AACnB,qBAAO;AAAA,gBACN,QAAQ,MAAM,aAAa,MAAM,cAAc;AAAA,gBAC/C,WAAW,GAAG;AAAA,gBACd,MAAM;AAAA,cAAA;AAAA,YAER,KAAK,eAAe;AACnB,qBAAO,EAAE,QAAQ,MAAM,YAAY,MAAM,OAAO,GAAG,WAAW,GAAG,MAAM,MAAM,GAAG,aAAA;AAAA,YACjF,KAAK,eAAe;AACnB,qBAAO;AAAA,gBACN,QAAQ,MAAM,SAAS,MAAM,MAAM;AAAA,gBACnC,WAAW,GAAG;AAAA,gBACd,MAAM;AAAA,cAAA;AAAA,YAER;AACC,0BAAc;AAAA,UAAA;AAAA,QAEjB,CAAC;AAAA,MAAA;AAAA,IAEH,CAAA;AAAA,EA7EA;AA8ED;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationRebaseFacade.cjs","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationRebaseFacade.ts"],"sourcesContent":["import { Migration, MigrationFilesManager, SchemaVersionBuilder, SystemClient } from '@contember/migrations-client'\nimport { MigrationsValidator } from './MigrationsValidator'\nimport { emptySchema } from '@contember/schema-utils'\nimport { MigrationVersionHelper } from '@contember/engine-common'\nimport { SystemClientProvider } from '../SystemClientProvider'\n\nexport class MigrationRebaseFacade {\n\tconstructor(\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationsValidator: MigrationsValidator,\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationFilesManager: MigrationFilesManager,\n\t) {\n\t}\n\n\trebase = async (migrations: Migration[]) => {\n\t\tconst versions = migrations.map(it => it.version)\n\t\tconst schemaWithoutMigrations = await this.schemaVersionBuilder.buildSchemaAdvanced(\n\t\t\temptySchema,\n\t\t\tversion => !versions.includes(version),\n\t\t)\n\t\tconst valid = await this.migrationsValidator.validate(schemaWithoutMigrations, migrations)\n\t\tif (!valid) {\n\t\t\tthrow `Cannot rebase migrations`\n\t\t}\n\n\t\tlet i = 0\n\t\tfor (const migration of migrations) {\n\t\t\tconst name = migration.name.substring(MigrationVersionHelper.prefixLength + 1)\n\t\t\tconst [version, fullName] = MigrationVersionHelper.createVersion(name, i++)\n\t\t\tconst newMigration = {\n\t\t\t\tname: fullName,\n\t\t\t\tversion: version,\n\t\t\t\tformatVersion: migration.formatVersion,\n\t\t\t\tmodifications: migration.modifications,\n\t\t\t}\n\t\t\tawait this.systemClientProvider.get().migrationModify(migration.version, newMigration)\n\t\t\tawait this.migrationFilesManager.moveFile(migration.name, newMigration.name)\n\t\t}\n\t}\n}\n"],"names":["emptySchema","MigrationVersionHelper"],"mappings":";;;;;;;AAMO,MAAM,sBAAsB;AAAA,EAClC,YACkB,sBACA,qBACA,sBACA,uBAChB;AAJgB,SAAA,uBAAA;AACA,SAAA,sBAAA;AACA,SAAA,uBAAA;AACA,SAAA,wBAAA;AAIlB,kBAAA,MAAA,UAAS,OAAO,eAA4B;AAC3C,YAAM,WAAW,WAAW,IAAI,CAAA,OAAM,GAAG,OAAO;AAC1C,YAAA,0BAA0B,MAAM,KAAK,qBAAqB;AAAA,QAC/DA,YAAA;AAAA,QACA,CAAW,YAAA,CAAC,SAAS,SAAS,OAAO;AAAA,MACtC;AACA,YAAM,QAAQ,MAAM,KAAK,oBAAoB,SAAS,yBAAyB,UAAU;AACzF,UAAI,CAAC,OAAO;AACL,cAAA;AAAA,MAAA;AAGP,UAAI,IAAI;AACR,iBAAW,aAAa,YAAY;AACnC,cAAM,OAAO,UAAU,KAAK,UAAUC,aAAA,uBAAuB,eAAe,CAAC;AAC7E,cAAM,CAAC,SAAS,QAAQ,IAAIA,aAAuB,uBAAA,cAAc,MAAM,GAAG;AAC1E,cAAM,eAAe;AAAA,UACpB,MAAM;AAAA,UACN;AAAA,UACA,eAAe,UAAU;AAAA,UACzB,eAAe,UAAU;AAAA,QAC1B;AACA,cAAM,KAAK,qBAAqB,IAAA,EAAM,gBAAgB,UAAU,SAAS,YAAY;AACrF,cAAM,KAAK,sBAAsB,SAAS,UAAU,MAAM,aAAa,IAAI;AAAA,MAAA;AAAA,IAC5E,CACD;AAAA,EAAA;AACD;;"}
1
+ {"version":3,"file":"MigrationRebaseFacade.cjs","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationRebaseFacade.ts"],"sourcesContent":["import { Migration, MigrationFilesManager, SchemaVersionBuilder, SystemClient } from '@contember/migrations-client'\nimport { MigrationsValidator } from './MigrationsValidator'\nimport { emptySchema } from '@contember/schema-utils'\nimport { MigrationVersionHelper } from '@contember/engine-common'\nimport { SystemClientProvider } from '../SystemClientProvider'\n\nexport class MigrationRebaseFacade {\n\tconstructor(\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationsValidator: MigrationsValidator,\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationFilesManager: MigrationFilesManager,\n\t) {\n\t}\n\n\trebase = async (migrations: Migration[]) => {\n\t\tconst versions = migrations.map(it => it.version)\n\t\tconst schemaWithoutMigrations = await this.schemaVersionBuilder.buildSchemaAdvanced(\n\t\t\temptySchema,\n\t\t\tversion => !versions.includes(version),\n\t\t)\n\t\tconst valid = await this.migrationsValidator.validate(schemaWithoutMigrations, migrations)\n\t\tif (!valid) {\n\t\t\tthrow `Cannot rebase migrations`\n\t\t}\n\n\t\tlet i = 0\n\t\tfor (const migration of migrations) {\n\t\t\tconst name = migration.name.substring(MigrationVersionHelper.prefixLength + 1)\n\t\t\tconst [version, fullName] = MigrationVersionHelper.createVersion(name, i++)\n\t\t\tconst newMigration = {\n\t\t\t\tname: fullName,\n\t\t\t\tversion: version,\n\t\t\t\tformatVersion: migration.formatVersion,\n\t\t\t\tmodifications: migration.modifications,\n\t\t\t}\n\t\t\tawait this.systemClientProvider.get().migrationModify(migration.version, newMigration)\n\t\t\tawait this.migrationFilesManager.moveFile(migration.name, newMigration.name)\n\t\t}\n\t}\n}\n"],"names":["emptySchema","MigrationVersionHelper"],"mappings":";;;;;;;AAMO,MAAM,sBAAsB;AAAA,EAClC,YACkB,sBACA,qBACA,sBACA,uBAChB;AAJgB,SAAA,uBAAA;AACA,SAAA,sBAAA;AACA,SAAA,uBAAA;AACA,SAAA,wBAAA;AAIlB,kBAAA,MAAA,UAAS,OAAO,eAA4B;AAC3C,YAAM,WAAW,WAAW,IAAI,CAAA,OAAM,GAAG,OAAO;AAChD,YAAM,0BAA0B,MAAM,KAAK,qBAAqB;AAAA,QAC/DA,YAAAA;AAAAA,QACA,CAAA,YAAW,CAAC,SAAS,SAAS,OAAO;AAAA,MAAA;AAEtC,YAAM,QAAQ,MAAM,KAAK,oBAAoB,SAAS,yBAAyB,UAAU;AACzF,UAAI,CAAC,OAAO;AACX,cAAM;AAAA,MACP;AAEA,UAAI,IAAI;AACR,iBAAW,aAAa,YAAY;AACnC,cAAM,OAAO,UAAU,KAAK,UAAUC,aAAAA,uBAAuB,eAAe,CAAC;AAC7E,cAAM,CAAC,SAAS,QAAQ,IAAIA,aAAAA,uBAAuB,cAAc,MAAM,GAAG;AAC1E,cAAM,eAAe;AAAA,UACpB,MAAM;AAAA,UACN;AAAA,UACA,eAAe,UAAU;AAAA,UACzB,eAAe,UAAU;AAAA,QAAA;AAE1B,cAAM,KAAK,qBAAqB,IAAA,EAAM,gBAAgB,UAAU,SAAS,YAAY;AACrF,cAAM,KAAK,sBAAsB,SAAS,UAAU,MAAM,aAAa,IAAI;AAAA,MAC5E;AAAA,IACD,CAAA;AAAA,EA1BA;AA2BD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationRebaseFacade.js","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationRebaseFacade.ts"],"sourcesContent":["import { Migration, MigrationFilesManager, SchemaVersionBuilder, SystemClient } from '@contember/migrations-client'\nimport { MigrationsValidator } from './MigrationsValidator'\nimport { emptySchema } from '@contember/schema-utils'\nimport { MigrationVersionHelper } from '@contember/engine-common'\nimport { SystemClientProvider } from '../SystemClientProvider'\n\nexport class MigrationRebaseFacade {\n\tconstructor(\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationsValidator: MigrationsValidator,\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationFilesManager: MigrationFilesManager,\n\t) {\n\t}\n\n\trebase = async (migrations: Migration[]) => {\n\t\tconst versions = migrations.map(it => it.version)\n\t\tconst schemaWithoutMigrations = await this.schemaVersionBuilder.buildSchemaAdvanced(\n\t\t\temptySchema,\n\t\t\tversion => !versions.includes(version),\n\t\t)\n\t\tconst valid = await this.migrationsValidator.validate(schemaWithoutMigrations, migrations)\n\t\tif (!valid) {\n\t\t\tthrow `Cannot rebase migrations`\n\t\t}\n\n\t\tlet i = 0\n\t\tfor (const migration of migrations) {\n\t\t\tconst name = migration.name.substring(MigrationVersionHelper.prefixLength + 1)\n\t\t\tconst [version, fullName] = MigrationVersionHelper.createVersion(name, i++)\n\t\t\tconst newMigration = {\n\t\t\t\tname: fullName,\n\t\t\t\tversion: version,\n\t\t\t\tformatVersion: migration.formatVersion,\n\t\t\t\tmodifications: migration.modifications,\n\t\t\t}\n\t\t\tawait this.systemClientProvider.get().migrationModify(migration.version, newMigration)\n\t\t\tawait this.migrationFilesManager.moveFile(migration.name, newMigration.name)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,sBAAsB;AAAA,EAClC,YACkB,sBACA,qBACA,sBACA,uBAChB;AAJgB,SAAA,uBAAA;AACA,SAAA,sBAAA;AACA,SAAA,uBAAA;AACA,SAAA,wBAAA;AAIlB,kBAAA,MAAA,UAAS,OAAO,eAA4B;AAC3C,YAAM,WAAW,WAAW,IAAI,CAAA,OAAM,GAAG,OAAO;AAC1C,YAAA,0BAA0B,MAAM,KAAK,qBAAqB;AAAA,QAC/D;AAAA,QACA,CAAW,YAAA,CAAC,SAAS,SAAS,OAAO;AAAA,MACtC;AACA,YAAM,QAAQ,MAAM,KAAK,oBAAoB,SAAS,yBAAyB,UAAU;AACzF,UAAI,CAAC,OAAO;AACL,cAAA;AAAA,MAAA;AAGP,UAAI,IAAI;AACR,iBAAW,aAAa,YAAY;AACnC,cAAM,OAAO,UAAU,KAAK,UAAU,uBAAuB,eAAe,CAAC;AAC7E,cAAM,CAAC,SAAS,QAAQ,IAAI,uBAAuB,cAAc,MAAM,GAAG;AAC1E,cAAM,eAAe;AAAA,UACpB,MAAM;AAAA,UACN;AAAA,UACA,eAAe,UAAU;AAAA,UACzB,eAAe,UAAU;AAAA,QAC1B;AACA,cAAM,KAAK,qBAAqB,IAAA,EAAM,gBAAgB,UAAU,SAAS,YAAY;AACrF,cAAM,KAAK,sBAAsB,SAAS,UAAU,MAAM,aAAa,IAAI;AAAA,MAAA;AAAA,IAC5E,CACD;AAAA,EAAA;AACD;"}
1
+ {"version":3,"file":"MigrationRebaseFacade.js","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationRebaseFacade.ts"],"sourcesContent":["import { Migration, MigrationFilesManager, SchemaVersionBuilder, SystemClient } from '@contember/migrations-client'\nimport { MigrationsValidator } from './MigrationsValidator'\nimport { emptySchema } from '@contember/schema-utils'\nimport { MigrationVersionHelper } from '@contember/engine-common'\nimport { SystemClientProvider } from '../SystemClientProvider'\n\nexport class MigrationRebaseFacade {\n\tconstructor(\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationsValidator: MigrationsValidator,\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationFilesManager: MigrationFilesManager,\n\t) {\n\t}\n\n\trebase = async (migrations: Migration[]) => {\n\t\tconst versions = migrations.map(it => it.version)\n\t\tconst schemaWithoutMigrations = await this.schemaVersionBuilder.buildSchemaAdvanced(\n\t\t\temptySchema,\n\t\t\tversion => !versions.includes(version),\n\t\t)\n\t\tconst valid = await this.migrationsValidator.validate(schemaWithoutMigrations, migrations)\n\t\tif (!valid) {\n\t\t\tthrow `Cannot rebase migrations`\n\t\t}\n\n\t\tlet i = 0\n\t\tfor (const migration of migrations) {\n\t\t\tconst name = migration.name.substring(MigrationVersionHelper.prefixLength + 1)\n\t\t\tconst [version, fullName] = MigrationVersionHelper.createVersion(name, i++)\n\t\t\tconst newMigration = {\n\t\t\t\tname: fullName,\n\t\t\t\tversion: version,\n\t\t\t\tformatVersion: migration.formatVersion,\n\t\t\t\tmodifications: migration.modifications,\n\t\t\t}\n\t\t\tawait this.systemClientProvider.get().migrationModify(migration.version, newMigration)\n\t\t\tawait this.migrationFilesManager.moveFile(migration.name, newMigration.name)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,sBAAsB;AAAA,EAClC,YACkB,sBACA,qBACA,sBACA,uBAChB;AAJgB,SAAA,uBAAA;AACA,SAAA,sBAAA;AACA,SAAA,uBAAA;AACA,SAAA,wBAAA;AAIlB,kBAAA,MAAA,UAAS,OAAO,eAA4B;AAC3C,YAAM,WAAW,WAAW,IAAI,CAAA,OAAM,GAAG,OAAO;AAChD,YAAM,0BAA0B,MAAM,KAAK,qBAAqB;AAAA,QAC/D;AAAA,QACA,CAAA,YAAW,CAAC,SAAS,SAAS,OAAO;AAAA,MAAA;AAEtC,YAAM,QAAQ,MAAM,KAAK,oBAAoB,SAAS,yBAAyB,UAAU;AACzF,UAAI,CAAC,OAAO;AACX,cAAM;AAAA,MACP;AAEA,UAAI,IAAI;AACR,iBAAW,aAAa,YAAY;AACnC,cAAM,OAAO,UAAU,KAAK,UAAU,uBAAuB,eAAe,CAAC;AAC7E,cAAM,CAAC,SAAS,QAAQ,IAAI,uBAAuB,cAAc,MAAM,GAAG;AAC1E,cAAM,eAAe;AAAA,UACpB,MAAM;AAAA,UACN;AAAA,UACA,eAAe,UAAU;AAAA,UACzB,eAAe,UAAU;AAAA,QAAA;AAE1B,cAAM,KAAK,qBAAqB,IAAA,EAAM,gBAAgB,UAAU,SAAS,YAAY;AACrF,cAAM,KAAK,sBAAsB,SAAS,UAAU,MAAM,aAAa,IAAI;AAAA,MAC5E;AAAA,IACD,CAAA;AAAA,EA1BA;AA2BD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationsStatusFacade.cjs","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationsStatusFacade.ts"],"sourcesContent":["import { MigrationsResolver, MigrationsStatusResolver } from '@contember/migrations-client'\nimport { SystemClientProvider } from '../SystemClientProvider'\nimport { MigrationPrinter } from './MigrationPrinter'\n\nexport class MigrationsStatusFacade {\n\tconstructor(\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly migrationsStatusResolver: MigrationsStatusResolver,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t) {\n\t}\n\n\n\tpublic resolveMigrationsStatus = async ({ force, allowError }: { force?: boolean; allowError?: boolean }) => {\n\t\tconst executedMigrations = await this.systemClientProvider.get().listExecutedMigrations()\n\t\tconst localMigrations = await this.migrationsResolver.getMigrationFiles()\n\t\tconst status = await this.migrationsStatusResolver.getMigrationsStatus(executedMigrations, localMigrations, force)\n\t\tif (status.errorMigrations.length > 0 && !allowError) {\n\t\t\tconsole.error(this.migrationPrinter.printStatusTable(status.errorMigrations))\n\t\t\tif (!force) {\n\t\t\t\tthrow `Cannot execute migrations`\n\t\t\t}\n\t\t}\n\n\t\treturn status\n\t}\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,uBAAuB;AAAA,EACnC,YACkB,sBACA,oBACA,0BACA,kBAChB;AAJgB,SAAA,uBAAA;AACA,SAAA,qBAAA;AACA,SAAA,2BAAA;AACA,SAAA,mBAAA;AAKlB,kBAAA,MAAO,2BAA0B,OAAO,EAAE,OAAO,iBAA4D;AAC5G,YAAM,qBAAqB,MAAM,KAAK,qBAAqB,IAAA,EAAM,uBAAuB;AACxF,YAAM,kBAAkB,MAAM,KAAK,mBAAmB,kBAAkB;AACxE,YAAM,SAAS,MAAM,KAAK,yBAAyB,oBAAoB,oBAAoB,iBAAiB,KAAK;AACjH,UAAI,OAAO,gBAAgB,SAAS,KAAK,CAAC,YAAY;AACrD,gBAAQ,MAAM,KAAK,iBAAiB,iBAAiB,OAAO,eAAe,CAAC;AAC5E,YAAI,CAAC,OAAO;AACL,gBAAA;AAAA,QAAA;AAAA,MACP;AAGM,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AACD;;"}
1
+ {"version":3,"file":"MigrationsStatusFacade.cjs","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationsStatusFacade.ts"],"sourcesContent":["import { MigrationsResolver, MigrationsStatusResolver } from '@contember/migrations-client'\nimport { SystemClientProvider } from '../SystemClientProvider'\nimport { MigrationPrinter } from './MigrationPrinter'\n\nexport class MigrationsStatusFacade {\n\tconstructor(\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly migrationsStatusResolver: MigrationsStatusResolver,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t) {\n\t}\n\n\tpublic resolveMigrationsStatus = async ({ force, allowError }: { force?: boolean; allowError?: boolean }) => {\n\t\tconst executedMigrations = await this.systemClientProvider.get().listExecutedMigrations()\n\t\tconst localMigrations = await this.migrationsResolver.getMigrationFiles()\n\t\tconst status = await this.migrationsStatusResolver.getMigrationsStatus(executedMigrations, localMigrations, force)\n\t\tif (status.errorMigrations.length > 0 && !allowError) {\n\t\t\tconsole.error(this.migrationPrinter.printStatusTable(status.errorMigrations))\n\t\t\tif (!force) {\n\t\t\t\tthrow `Cannot execute migrations`\n\t\t\t}\n\t\t}\n\n\t\treturn status\n\t}\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,uBAAuB;AAAA,EACnC,YACkB,sBACA,oBACA,0BACA,kBAChB;AAJgB,SAAA,uBAAA;AACA,SAAA,qBAAA;AACA,SAAA,2BAAA;AACA,SAAA,mBAAA;AAIlB,kBAAA,MAAO,2BAA0B,OAAO,EAAE,OAAO,iBAA4D;AAC5G,YAAM,qBAAqB,MAAM,KAAK,qBAAqB,IAAA,EAAM,uBAAA;AACjE,YAAM,kBAAkB,MAAM,KAAK,mBAAmB,kBAAA;AACtD,YAAM,SAAS,MAAM,KAAK,yBAAyB,oBAAoB,oBAAoB,iBAAiB,KAAK;AACjH,UAAI,OAAO,gBAAgB,SAAS,KAAK,CAAC,YAAY;AACrD,gBAAQ,MAAM,KAAK,iBAAiB,iBAAiB,OAAO,eAAe,CAAC;AAC5E,YAAI,CAAC,OAAO;AACX,gBAAM;AAAA,QACP;AAAA,MACD;AAEA,aAAO;AAAA,IACR,CAAA;AAAA,EAdA;AAeD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationsStatusFacade.js","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationsStatusFacade.ts"],"sourcesContent":["import { MigrationsResolver, MigrationsStatusResolver } from '@contember/migrations-client'\nimport { SystemClientProvider } from '../SystemClientProvider'\nimport { MigrationPrinter } from './MigrationPrinter'\n\nexport class MigrationsStatusFacade {\n\tconstructor(\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly migrationsStatusResolver: MigrationsStatusResolver,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t) {\n\t}\n\n\n\tpublic resolveMigrationsStatus = async ({ force, allowError }: { force?: boolean; allowError?: boolean }) => {\n\t\tconst executedMigrations = await this.systemClientProvider.get().listExecutedMigrations()\n\t\tconst localMigrations = await this.migrationsResolver.getMigrationFiles()\n\t\tconst status = await this.migrationsStatusResolver.getMigrationsStatus(executedMigrations, localMigrations, force)\n\t\tif (status.errorMigrations.length > 0 && !allowError) {\n\t\t\tconsole.error(this.migrationPrinter.printStatusTable(status.errorMigrations))\n\t\t\tif (!force) {\n\t\t\t\tthrow `Cannot execute migrations`\n\t\t\t}\n\t\t}\n\n\t\treturn status\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,uBAAuB;AAAA,EACnC,YACkB,sBACA,oBACA,0BACA,kBAChB;AAJgB,SAAA,uBAAA;AACA,SAAA,qBAAA;AACA,SAAA,2BAAA;AACA,SAAA,mBAAA;AAKlB,kBAAA,MAAO,2BAA0B,OAAO,EAAE,OAAO,iBAA4D;AAC5G,YAAM,qBAAqB,MAAM,KAAK,qBAAqB,IAAA,EAAM,uBAAuB;AACxF,YAAM,kBAAkB,MAAM,KAAK,mBAAmB,kBAAkB;AACxE,YAAM,SAAS,MAAM,KAAK,yBAAyB,oBAAoB,oBAAoB,iBAAiB,KAAK;AACjH,UAAI,OAAO,gBAAgB,SAAS,KAAK,CAAC,YAAY;AACrD,gBAAQ,MAAM,KAAK,iBAAiB,iBAAiB,OAAO,eAAe,CAAC;AAC5E,YAAI,CAAC,OAAO;AACL,gBAAA;AAAA,QAAA;AAAA,MACP;AAGM,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AACD;"}
1
+ {"version":3,"file":"MigrationsStatusFacade.js","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationsStatusFacade.ts"],"sourcesContent":["import { MigrationsResolver, MigrationsStatusResolver } from '@contember/migrations-client'\nimport { SystemClientProvider } from '../SystemClientProvider'\nimport { MigrationPrinter } from './MigrationPrinter'\n\nexport class MigrationsStatusFacade {\n\tconstructor(\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly migrationsStatusResolver: MigrationsStatusResolver,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t) {\n\t}\n\n\tpublic resolveMigrationsStatus = async ({ force, allowError }: { force?: boolean; allowError?: boolean }) => {\n\t\tconst executedMigrations = await this.systemClientProvider.get().listExecutedMigrations()\n\t\tconst localMigrations = await this.migrationsResolver.getMigrationFiles()\n\t\tconst status = await this.migrationsStatusResolver.getMigrationsStatus(executedMigrations, localMigrations, force)\n\t\tif (status.errorMigrations.length > 0 && !allowError) {\n\t\t\tconsole.error(this.migrationPrinter.printStatusTable(status.errorMigrations))\n\t\t\tif (!force) {\n\t\t\t\tthrow `Cannot execute migrations`\n\t\t\t}\n\t\t}\n\n\t\treturn status\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,uBAAuB;AAAA,EACnC,YACkB,sBACA,oBACA,0BACA,kBAChB;AAJgB,SAAA,uBAAA;AACA,SAAA,qBAAA;AACA,SAAA,2BAAA;AACA,SAAA,mBAAA;AAIlB,kBAAA,MAAO,2BAA0B,OAAO,EAAE,OAAO,iBAA4D;AAC5G,YAAM,qBAAqB,MAAM,KAAK,qBAAqB,IAAA,EAAM,uBAAA;AACjE,YAAM,kBAAkB,MAAM,KAAK,mBAAmB,kBAAA;AACtD,YAAM,SAAS,MAAM,KAAK,yBAAyB,oBAAoB,oBAAoB,iBAAiB,KAAK;AACjH,UAAI,OAAO,gBAAgB,SAAS,KAAK,CAAC,YAAY;AACrD,gBAAQ,MAAM,KAAK,iBAAiB,iBAAiB,OAAO,eAAe,CAAC;AAC5E,YAAI,CAAC,OAAO;AACX,gBAAM;AAAA,QACP;AAAA,MACD;AAEA,aAAO;AAAA,IACR,CAAA;AAAA,EAdA;AAeD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationsValidator.cjs","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationsValidator.ts"],"sourcesContent":["import { Migration } from '@contember/migrations-client'\nimport { Schema } from '@contember/schema'\nimport { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { MigrationDescriber, MigrationVersionHelper, SchemaMigrator, SchemaUpdateError } from '@contember/schema-migrations'\nimport { validateSchemaAndPrintErrors } from '../schema/SchemaValidationHelper'\n\nexport class MigrationsValidator {\n\tconstructor(\n\t\tprivate readonly describer: MigrationDescriber,\n\t\tprivate readonly migrator: SchemaMigrator,\n\t) {\n\t}\n\n\tvalidate = (initialSchema: Schema, migrations: Migration[]): boolean => {\n\t\tlet migratedSchema = initialSchema\n\t\tlet projectValid = true\n\t\tlet skippedErrors: SchemaValidatorSkippedErrors[] = []\n\t\tfor (const migration of migrations) {\n\t\t\ttry {\n\t\t\t\t// just a check that it does not fail\n\t\t\t\tthis.describer.describeModifications(migratedSchema, migration)\n\n\t\t\t\tmigratedSchema = this.migrator.applyModifications(migratedSchema, migration.modifications, migration.formatVersion)\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof SchemaUpdateError) {\n\t\t\t\t\tconsole.error(`Migration ${migration.name} has failed`)\n\t\t\t\t}\n\t\t\t\tthrow e\n\t\t\t}\n\t\t\tconst errorMessage = `Migration ${migration.name} produces invalid schema:`\n\t\t\tskippedErrors = [\n\t\t\t\t...skippedErrors.filter(it => it.skipUntil && MigrationVersionHelper.extractVersion(it.skipUntil) >= migration.version),\n\t\t\t\t...migration.skippedErrors ?? [],\n\t\t\t]\n\t\t\tprojectValid = validateSchemaAndPrintErrors(migratedSchema, errorMessage, skippedErrors)\n\t\t\t\t&& projectValid\n\t\t}\n\t\treturn projectValid\n\t}\n}\n"],"names":["SchemaUpdateError","MigrationVersionHelper","validateSchemaAndPrintErrors"],"mappings":";;;;;;;AAMO,MAAM,oBAAoB;AAAA,EAChC,YACkB,WACA,UAChB;AAFgB,SAAA,YAAA;AACA,SAAA,WAAA;AAIP,kBAAA,MAAA,YAAA,CAAC,eAAuB,eAAqC;AACvE,UAAI,iBAAiB;AACrB,UAAI,eAAe;AACnB,UAAI,gBAAgD,CAAC;AACrD,iBAAW,aAAa,YAAY;AAC/B,YAAA;AAEE,eAAA,UAAU,sBAAsB,gBAAgB,SAAS;AAE9D,2BAAiB,KAAK,SAAS,mBAAmB,gBAAgB,UAAU,eAAe,UAAU,aAAa;AAAA,iBAC1G,GAAG;AACX,cAAI,aAAaA,iBAAAA,mBAAmB;AACnC,oBAAQ,MAAM,aAAa,UAAU,IAAI,aAAa;AAAA,UAAA;AAEjD,gBAAA;AAAA,QAAA;AAED,cAAA,eAAe,aAAa,UAAU,IAAI;AAChC,wBAAA;AAAA,UACf,GAAG,cAAc,OAAO,CAAA,OAAM,GAAG,aAAaC,wCAAuB,eAAe,GAAG,SAAS,KAAK,UAAU,OAAO;AAAA,UACtH,GAAG,UAAU,iBAAiB,CAAA;AAAA,QAC/B;AACA,uBAAeC,uBAAAA,6BAA6B,gBAAgB,cAAc,aAAa,KACnF;AAAA,MAAA;AAEE,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AACD;;"}
1
+ {"version":3,"file":"MigrationsValidator.cjs","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationsValidator.ts"],"sourcesContent":["import { Migration } from '@contember/migrations-client'\nimport { Schema } from '@contember/schema'\nimport { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { MigrationDescriber, MigrationVersionHelper, SchemaMigrator, SchemaUpdateError } from '@contember/schema-migrations'\nimport { validateSchemaAndPrintErrors } from '../schema/SchemaValidationHelper'\n\nexport class MigrationsValidator {\n\tconstructor(\n\t\tprivate readonly describer: MigrationDescriber,\n\t\tprivate readonly migrator: SchemaMigrator,\n\t) {\n\t}\n\n\tvalidate = (initialSchema: Schema, migrations: Migration[]): boolean => {\n\t\tlet migratedSchema = initialSchema\n\t\tlet projectValid = true\n\t\tlet skippedErrors: SchemaValidatorSkippedErrors[] = []\n\t\tfor (const migration of migrations) {\n\t\t\ttry {\n\t\t\t\t// just a check that it does not fail\n\t\t\t\tthis.describer.describeModifications(migratedSchema, migration)\n\n\t\t\t\tmigratedSchema = this.migrator.applyModifications(migratedSchema, migration.modifications, migration.formatVersion)\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof SchemaUpdateError) {\n\t\t\t\t\tconsole.error(`Migration ${migration.name} has failed`)\n\t\t\t\t}\n\t\t\t\tthrow e\n\t\t\t}\n\t\t\tconst errorMessage = `Migration ${migration.name} produces invalid schema:`\n\t\t\tskippedErrors = [\n\t\t\t\t...skippedErrors.filter(it => it.skipUntil && MigrationVersionHelper.extractVersion(it.skipUntil) >= migration.version),\n\t\t\t\t...migration.skippedErrors ?? [],\n\t\t\t]\n\t\t\tprojectValid = validateSchemaAndPrintErrors(migratedSchema, errorMessage, skippedErrors)\n\t\t\t\t&& projectValid\n\t\t}\n\t\treturn projectValid\n\t}\n}\n"],"names":["SchemaUpdateError","MigrationVersionHelper","validateSchemaAndPrintErrors"],"mappings":";;;;;;;AAMO,MAAM,oBAAoB;AAAA,EAChC,YACkB,WACA,UAChB;AAFgB,SAAA,YAAA;AACA,SAAA,WAAA;AAIlB,kBAAA,MAAA,YAAW,CAAC,eAAuB,eAAqC;AACvE,UAAI,iBAAiB;AACrB,UAAI,eAAe;AACnB,UAAI,gBAAgD,CAAA;AACpD,iBAAW,aAAa,YAAY;AACnC,YAAI;AAEH,eAAK,UAAU,sBAAsB,gBAAgB,SAAS;AAE9D,2BAAiB,KAAK,SAAS,mBAAmB,gBAAgB,UAAU,eAAe,UAAU,aAAa;AAAA,QACnH,SAAS,GAAG;AACX,cAAI,aAAaA,iBAAAA,mBAAmB;AACnC,oBAAQ,MAAM,aAAa,UAAU,IAAI,aAAa;AAAA,UACvD;AACA,gBAAM;AAAA,QACP;AACA,cAAM,eAAe,aAAa,UAAU,IAAI;AAChD,wBAAgB;AAAA,UACf,GAAG,cAAc,OAAO,CAAA,OAAM,GAAG,aAAaC,wCAAuB,eAAe,GAAG,SAAS,KAAK,UAAU,OAAO;AAAA,UACtH,GAAG,UAAU,iBAAiB,CAAA;AAAA,QAAC;AAEhC,uBAAeC,uBAAAA,6BAA6B,gBAAgB,cAAc,aAAa,KACnF;AAAA,MACL;AACA,aAAO;AAAA,IACR,CAAA;AAAA,EA3BA;AA4BD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationsValidator.js","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationsValidator.ts"],"sourcesContent":["import { Migration } from '@contember/migrations-client'\nimport { Schema } from '@contember/schema'\nimport { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { MigrationDescriber, MigrationVersionHelper, SchemaMigrator, SchemaUpdateError } from '@contember/schema-migrations'\nimport { validateSchemaAndPrintErrors } from '../schema/SchemaValidationHelper'\n\nexport class MigrationsValidator {\n\tconstructor(\n\t\tprivate readonly describer: MigrationDescriber,\n\t\tprivate readonly migrator: SchemaMigrator,\n\t) {\n\t}\n\n\tvalidate = (initialSchema: Schema, migrations: Migration[]): boolean => {\n\t\tlet migratedSchema = initialSchema\n\t\tlet projectValid = true\n\t\tlet skippedErrors: SchemaValidatorSkippedErrors[] = []\n\t\tfor (const migration of migrations) {\n\t\t\ttry {\n\t\t\t\t// just a check that it does not fail\n\t\t\t\tthis.describer.describeModifications(migratedSchema, migration)\n\n\t\t\t\tmigratedSchema = this.migrator.applyModifications(migratedSchema, migration.modifications, migration.formatVersion)\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof SchemaUpdateError) {\n\t\t\t\t\tconsole.error(`Migration ${migration.name} has failed`)\n\t\t\t\t}\n\t\t\t\tthrow e\n\t\t\t}\n\t\t\tconst errorMessage = `Migration ${migration.name} produces invalid schema:`\n\t\t\tskippedErrors = [\n\t\t\t\t...skippedErrors.filter(it => it.skipUntil && MigrationVersionHelper.extractVersion(it.skipUntil) >= migration.version),\n\t\t\t\t...migration.skippedErrors ?? [],\n\t\t\t]\n\t\t\tprojectValid = validateSchemaAndPrintErrors(migratedSchema, errorMessage, skippedErrors)\n\t\t\t\t&& projectValid\n\t\t}\n\t\treturn projectValid\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,oBAAoB;AAAA,EAChC,YACkB,WACA,UAChB;AAFgB,SAAA,YAAA;AACA,SAAA,WAAA;AAIP,kBAAA,MAAA,YAAA,CAAC,eAAuB,eAAqC;AACvE,UAAI,iBAAiB;AACrB,UAAI,eAAe;AACnB,UAAI,gBAAgD,CAAC;AACrD,iBAAW,aAAa,YAAY;AAC/B,YAAA;AAEE,eAAA,UAAU,sBAAsB,gBAAgB,SAAS;AAE9D,2BAAiB,KAAK,SAAS,mBAAmB,gBAAgB,UAAU,eAAe,UAAU,aAAa;AAAA,iBAC1G,GAAG;AACX,cAAI,aAAa,mBAAmB;AACnC,oBAAQ,MAAM,aAAa,UAAU,IAAI,aAAa;AAAA,UAAA;AAEjD,gBAAA;AAAA,QAAA;AAED,cAAA,eAAe,aAAa,UAAU,IAAI;AAChC,wBAAA;AAAA,UACf,GAAG,cAAc,OAAO,CAAA,OAAM,GAAG,aAAa,uBAAuB,eAAe,GAAG,SAAS,KAAK,UAAU,OAAO;AAAA,UACtH,GAAG,UAAU,iBAAiB,CAAA;AAAA,QAC/B;AACA,uBAAe,6BAA6B,gBAAgB,cAAc,aAAa,KACnF;AAAA,MAAA;AAEE,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AACD;"}
1
+ {"version":3,"file":"MigrationsValidator.js","sources":["../../../../../../packages/cli/src/lib/migrations/MigrationsValidator.ts"],"sourcesContent":["import { Migration } from '@contember/migrations-client'\nimport { Schema } from '@contember/schema'\nimport { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { MigrationDescriber, MigrationVersionHelper, SchemaMigrator, SchemaUpdateError } from '@contember/schema-migrations'\nimport { validateSchemaAndPrintErrors } from '../schema/SchemaValidationHelper'\n\nexport class MigrationsValidator {\n\tconstructor(\n\t\tprivate readonly describer: MigrationDescriber,\n\t\tprivate readonly migrator: SchemaMigrator,\n\t) {\n\t}\n\n\tvalidate = (initialSchema: Schema, migrations: Migration[]): boolean => {\n\t\tlet migratedSchema = initialSchema\n\t\tlet projectValid = true\n\t\tlet skippedErrors: SchemaValidatorSkippedErrors[] = []\n\t\tfor (const migration of migrations) {\n\t\t\ttry {\n\t\t\t\t// just a check that it does not fail\n\t\t\t\tthis.describer.describeModifications(migratedSchema, migration)\n\n\t\t\t\tmigratedSchema = this.migrator.applyModifications(migratedSchema, migration.modifications, migration.formatVersion)\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof SchemaUpdateError) {\n\t\t\t\t\tconsole.error(`Migration ${migration.name} has failed`)\n\t\t\t\t}\n\t\t\t\tthrow e\n\t\t\t}\n\t\t\tconst errorMessage = `Migration ${migration.name} produces invalid schema:`\n\t\t\tskippedErrors = [\n\t\t\t\t...skippedErrors.filter(it => it.skipUntil && MigrationVersionHelper.extractVersion(it.skipUntil) >= migration.version),\n\t\t\t\t...migration.skippedErrors ?? [],\n\t\t\t]\n\t\t\tprojectValid = validateSchemaAndPrintErrors(migratedSchema, errorMessage, skippedErrors)\n\t\t\t\t&& projectValid\n\t\t}\n\t\treturn projectValid\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,oBAAoB;AAAA,EAChC,YACkB,WACA,UAChB;AAFgB,SAAA,YAAA;AACA,SAAA,WAAA;AAIlB,kBAAA,MAAA,YAAW,CAAC,eAAuB,eAAqC;AACvE,UAAI,iBAAiB;AACrB,UAAI,eAAe;AACnB,UAAI,gBAAgD,CAAA;AACpD,iBAAW,aAAa,YAAY;AACnC,YAAI;AAEH,eAAK,UAAU,sBAAsB,gBAAgB,SAAS;AAE9D,2BAAiB,KAAK,SAAS,mBAAmB,gBAAgB,UAAU,eAAe,UAAU,aAAa;AAAA,QACnH,SAAS,GAAG;AACX,cAAI,aAAa,mBAAmB;AACnC,oBAAQ,MAAM,aAAa,UAAU,IAAI,aAAa;AAAA,UACvD;AACA,gBAAM;AAAA,QACP;AACA,cAAM,eAAe,aAAa,UAAU,IAAI;AAChD,wBAAgB;AAAA,UACf,GAAG,cAAc,OAAO,CAAA,OAAM,GAAG,aAAa,uBAAuB,eAAe,GAAG,SAAS,KAAK,UAAU,OAAO;AAAA,UACtH,GAAG,UAAU,iBAAiB,CAAA;AAAA,QAAC;AAEhC,uBAAe,6BAA6B,gBAAgB,cAAc,aAAa,KACnF;AAAA,MACL;AACA,aAAO;AAAA,IACR,CAAA;AAAA,EA3BA;AA4BD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteProject.cjs","sources":["../../../../../../packages/cli/src/lib/project/RemoteProject.ts"],"sourcesContent":["export class RemoteProject {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t\tpublic readonly endpoint: string,\n\t\tpublic readonly token: string,\n\t\tpublic readonly adminEndpoint?: string,\n\t) {\n\t}\n}\n"],"names":[],"mappings":";;AAAO,MAAM,cAAc;AAAA,EAC1B,YACiB,MACA,UACA,OACA,eACf;AAJe,SAAA,OAAA;AACA,SAAA,WAAA;AACA,SAAA,QAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAGlB;;"}
1
+ {"version":3,"file":"RemoteProject.cjs","sources":["../../../../../../packages/cli/src/lib/project/RemoteProject.ts"],"sourcesContent":["export class RemoteProject {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t\tpublic readonly endpoint: string,\n\t\tpublic readonly token: string,\n\t\tpublic readonly adminEndpoint?: string,\n\t) {\n\t}\n}\n"],"names":[],"mappings":";;AAAO,MAAM,cAAc;AAAA,EAC1B,YACiB,MACA,UACA,OACA,eACf;AAJe,SAAA,OAAA;AACA,SAAA,WAAA;AACA,SAAA,QAAA;AACA,SAAA,gBAAA;AAAA,EAEjB;AACD;;"}