@prisma/orm-toolchain 8.0.0-rc.1-dev.45 → 8.0.0-rc.1-dev.46

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 (303) hide show
  1. package/README.md +3 -3
  2. package/dist/{aggregate-BBsCbXgJ.mjs → aggregate-CPZB020V.mjs} +9 -9
  3. package/dist/{aggregate-BBsCbXgJ.mjs.map → aggregate-CPZB020V.mjs.map} +1 -1
  4. package/dist/{aggregate-CA6bJ8UO.d.mts → aggregate-DLUJLq5Y.d.mts} +3 -3
  5. package/dist/{aggregate-CA6bJ8UO.d.mts.map → aggregate-DLUJLq5Y.d.mts.map} +1 -1
  6. package/dist/cli-telemetry.d.mts +19 -5
  7. package/dist/cli-telemetry.d.mts.map +1 -1
  8. package/dist/cli-telemetry.mjs +287 -8
  9. package/dist/cli-telemetry.mjs.map +1 -1
  10. package/dist/cli.d.mts +11 -13
  11. package/dist/cli.d.mts.map +1 -1
  12. package/dist/cli.mjs +5382 -1095
  13. package/dist/cli.mjs.map +1 -1
  14. package/dist/cli__control-api.d.mts +298 -27
  15. package/dist/cli__control-api.d.mts.map +1 -1
  16. package/dist/cli__control-api.mjs +2 -19
  17. package/dist/cli__control-api__testing.d.mts +1 -1
  18. package/dist/cli__control-api__testing.mjs.map +1 -1
  19. package/dist/cli__init-output.d.mts +0 -1
  20. package/dist/cli__init-output.d.mts.map +1 -1
  21. package/dist/cli__init-output.mjs +1 -1
  22. package/dist/cli__migration-cli.mjs +9 -9
  23. package/dist/cli__migration-cli.mjs.map +1 -1
  24. package/dist/config-loader.d.mts +1 -1
  25. package/dist/config-loader.mjs +1 -1
  26. package/dist/{contract-snapshot-store-B0G1Fw_F-C4JjmWEA.mjs → contract-snapshot-store-B0G1Fw_F-CHc4QfKb.mjs} +4 -4
  27. package/dist/{contract-snapshot-store-B0G1Fw_F-C4JjmWEA.mjs.map → contract-snapshot-store-B0G1Fw_F-CHc4QfKb.mjs.map} +1 -1
  28. package/dist/{cli-errors-iquUoY6O-BFboxglv.d.mts → db-verify-BwgNK50T-DGvKgFCK.d.mts} +81 -81
  29. package/dist/db-verify-BwgNK50T-DGvKgFCK.d.mts.map +1 -0
  30. package/dist/emitter.d.mts +1 -1
  31. package/dist/{errors-CXbGUWGu-BQi6YS-H.mjs → errors-CXbGUWGu-CstQHPh6.mjs} +2 -2
  32. package/dist/{errors-CXbGUWGu-BQi6YS-H.mjs.map → errors-CXbGUWGu-CstQHPh6.mjs.map} +1 -1
  33. package/dist/{errors-KWM8yBAL.d.mts → errors-D59OCpoI.d.mts} +2 -2
  34. package/dist/{errors-KWM8yBAL.d.mts.map → errors-D59OCpoI.d.mts.map} +1 -1
  35. package/dist/{exports-B3xY_FHp.mjs → exports-8ZUN43ve.mjs} +6 -6
  36. package/dist/exports-8ZUN43ve.mjs.map +1 -0
  37. package/dist/{exports-BZLNbtkY.mjs → exports-BZaG8_w_.mjs} +64 -36
  38. package/dist/exports-BZaG8_w_.mjs.map +1 -0
  39. package/dist/{graph-membership-BViWUMpP-Cgu4Z2ox.mjs → graph-membership-BViWUMpP-C4lYYJdU.mjs} +2 -2
  40. package/dist/{graph-membership-BViWUMpP-Cgu4Z2ox.mjs.map → graph-membership-BViWUMpP-C4lYYJdU.mjs.map} +1 -1
  41. package/dist/{import-roots-NDOIEDVj.mjs → import-roots-CNFBPAT1.mjs} +10 -3
  42. package/dist/{import-roots-NDOIEDVj.mjs.map → import-roots-CNFBPAT1.mjs.map} +1 -1
  43. package/dist/{import-roots-B6CtsWXb.d.mts → import-roots-CfoYgejL.d.mts} +2 -2
  44. package/dist/{import-roots-B6CtsWXb.d.mts.map → import-roots-CfoYgejL.d.mts.map} +1 -1
  45. package/dist/{index-mCsi_ND5.d.mts → index-DRs7L6N0.d.mts} +11 -3
  46. package/dist/index-DRs7L6N0.d.mts.map +1 -0
  47. package/dist/{index-CnOyYxmv.d.mts → index-Dgwl8Tzs.d.mts} +2 -2
  48. package/dist/{index-CnOyYxmv.d.mts.map → index-Dgwl8Tzs.d.mts.map} +1 -1
  49. package/dist/{invariants-CTHy88OP-DJ-i5yTz.mjs → invariants-CTHy88OP-CYI2a8IO.mjs} +2 -2
  50. package/dist/{invariants-CTHy88OP-DJ-i5yTz.mjs.map → invariants-CTHy88OP-CYI2a8IO.mjs.map} +1 -1
  51. package/dist/{io-635GlNx1-D94PxRc-.mjs → io-635GlNx1-D3zrw2qu.mjs} +4 -4
  52. package/dist/{io-635GlNx1-D94PxRc-.mjs.map → io-635GlNx1-D3zrw2qu.mjs.map} +1 -1
  53. package/dist/{migration-graph-_SJImD5V-D5RCc651.mjs → migration-graph-_SJImD5V-BURyY1KM.mjs} +2 -2
  54. package/dist/{migration-graph-_SJImD5V-D5RCc651.mjs.map → migration-graph-_SJImD5V-BURyY1KM.mjs.map} +1 -1
  55. package/dist/{migration-gubSSeMk.mjs → migration-hspPIEeV.mjs} +4 -4
  56. package/dist/{migration-gubSSeMk.mjs.map → migration-hspPIEeV.mjs.map} +1 -1
  57. package/dist/migration-tools.d.mts +4 -4
  58. package/dist/migration-tools.mjs +13 -13
  59. package/dist/migration-tools__aggregate.d.mts +1 -1
  60. package/dist/migration-tools__aggregate.mjs +1 -1
  61. package/dist/migration-tools__contract-snapshot-store.mjs +1 -1
  62. package/dist/migration-tools__errors.d.mts +1 -1
  63. package/dist/migration-tools__errors.mjs +1 -1
  64. package/dist/migration-tools__invariants.mjs +1 -1
  65. package/dist/migration-tools__io.mjs +1 -1
  66. package/dist/migration-tools__migration-graph.mjs +2 -2
  67. package/dist/migration-tools__migration-ts.mjs +1 -1
  68. package/dist/migration-tools__migration.mjs +1 -1
  69. package/dist/migration-tools__ref-resolution.mjs +1 -1
  70. package/dist/migration-tools__refs.mjs +1 -1
  71. package/dist/migration-tools__spaces.d.mts +2 -2
  72. package/dist/migration-tools__spaces.mjs +2 -2
  73. package/dist/{migration-ts-BoHxxGvi.mjs → migration-ts-DdVm0rws.mjs} +2 -2
  74. package/dist/{migration-ts-BoHxxGvi.mjs.map → migration-ts-DdVm0rws.mjs.map} +1 -1
  75. package/dist/{output-DP3woAjV-BxCr9nHA.mjs → output-CovTDY14-CUoAqLML.mjs} +3 -45
  76. package/dist/output-CovTDY14-CUoAqLML.mjs.map +1 -0
  77. package/dist/publish-surface.d.mts +2 -2
  78. package/dist/publish-surface.mjs +2 -2
  79. package/dist/publish-surface__import-roots.d.mts +1 -1
  80. package/dist/publish-surface__import-roots.mjs +1 -1
  81. package/dist/publish-surface__shells.d.mts +1 -1
  82. package/dist/publish-surface__shells.mjs +1 -1
  83. package/dist/quick-reference-mongo.md +12 -9
  84. package/dist/quick-reference-postgres.md +12 -9
  85. package/dist/readme-mongo.md +2 -2
  86. package/dist/readme-postgres.md +2 -2
  87. package/dist/ref-h6InR6dO-rGfl18Jv.mjs +4686 -0
  88. package/dist/ref-h6InR6dO-rGfl18Jv.mjs.map +1 -0
  89. package/dist/{ref-resolution-sGcINe7o.mjs → ref-resolution-HeNBXW53.mjs} +2 -2
  90. package/dist/{ref-resolution-sGcINe7o.mjs.map → ref-resolution-HeNBXW53.mjs.map} +1 -1
  91. package/dist/{refs-WK86uYYp-B6EZkmmT.mjs → refs-WK86uYYp-gM8tvWQP.mjs} +2 -2
  92. package/dist/{refs-WK86uYYp-B6EZkmmT.mjs.map → refs-WK86uYYp-gM8tvWQP.mjs.map} +1 -1
  93. package/dist/{shells-BenrJHp2.mjs → shells-C4HbRAr5.mjs} +13 -14
  94. package/dist/shells-C4HbRAr5.mjs.map +1 -0
  95. package/dist/{shells-COHV_Ozf.d.mts → shells-CIUmT4u4.d.mts} +14 -20
  96. package/dist/shells-CIUmT4u4.d.mts.map +1 -0
  97. package/dist/{spaces-BG2w0P8d.mjs → spaces-4qMOAYE9.mjs} +7 -7
  98. package/dist/{spaces-BG2w0P8d.mjs.map → spaces-4qMOAYE9.mjs.map} +1 -1
  99. package/dist/{spaces-tWQi7CUv.d.mts → spaces-Dj65JrwZ.d.mts} +2 -2
  100. package/dist/{spaces-tWQi7CUv.d.mts.map → spaces-Dj65JrwZ.d.mts.map} +1 -1
  101. package/dist/{verify-contract-spaces-Cc1u_wJo-BilPJS2S.d.mts → verify-contract-spaces-C3PiFBk3-DfomYyOE.d.mts} +3 -3
  102. package/dist/{verify-contract-spaces-Cc1u_wJo-BilPJS2S.d.mts.map → verify-contract-spaces-C3PiFBk3-DfomYyOE.d.mts.map} +1 -1
  103. package/dist/{verify-contract-spaces-DhJTb0zM-_oh6W6lp.mjs → verify-contract-spaces-DhJTb0zM-B62maCfE.mjs} +4 -4
  104. package/dist/{verify-contract-spaces-DhJTb0zM-_oh6W6lp.mjs.map → verify-contract-spaces-DhJTb0zM-B62maCfE.mjs.map} +1 -1
  105. package/dist/vite-plugin-contract-emit.d.mts +2 -2
  106. package/dist/vite-plugin-contract-emit.mjs +5 -5
  107. package/dist/vite-plugin-contract-emit.mjs.map +1 -1
  108. package/package.json +14 -38
  109. package/dist/bin__prisma-next.mjs +0 -512
  110. package/dist/bin__prisma-next.mjs.map +0 -1
  111. package/dist/caught-errors-BZo7zcRc-C-pIEasG.mjs +0 -14
  112. package/dist/caught-errors-BZo7zcRc-C-pIEasG.mjs.map +0 -1
  113. package/dist/cli-errors-B4zTLaqQ-CXgjO9t4.mjs +0 -347
  114. package/dist/cli-errors-B4zTLaqQ-CXgjO9t4.mjs.map +0 -1
  115. package/dist/cli-errors-iquUoY6O-BFboxglv.d.mts.map +0 -1
  116. package/dist/cli__commands__contract-emit.d.mts +0 -2
  117. package/dist/cli__commands__contract-emit.mjs +0 -2
  118. package/dist/cli__commands__contract-infer.d.mts +0 -7
  119. package/dist/cli__commands__contract-infer.d.mts.map +0 -1
  120. package/dist/cli__commands__contract-infer.mjs +0 -2
  121. package/dist/cli__commands__db-init.d.mts +0 -7
  122. package/dist/cli__commands__db-init.d.mts.map +0 -1
  123. package/dist/cli__commands__db-init.mjs +0 -2
  124. package/dist/cli__commands__db-schema.d.mts +0 -7
  125. package/dist/cli__commands__db-schema.d.mts.map +0 -1
  126. package/dist/cli__commands__db-schema.mjs +0 -2
  127. package/dist/cli__commands__db-sign.d.mts +0 -7
  128. package/dist/cli__commands__db-sign.d.mts.map +0 -1
  129. package/dist/cli__commands__db-sign.mjs +0 -2
  130. package/dist/cli__commands__db-update.d.mts +0 -7
  131. package/dist/cli__commands__db-update.d.mts.map +0 -1
  132. package/dist/cli__commands__db-update.mjs +0 -2
  133. package/dist/cli__commands__db-verify.d.mts +0 -7
  134. package/dist/cli__commands__db-verify.d.mts.map +0 -1
  135. package/dist/cli__commands__db-verify.mjs +0 -2
  136. package/dist/cli__commands__migrate.d.mts +0 -57
  137. package/dist/cli__commands__migrate.d.mts.map +0 -1
  138. package/dist/cli__commands__migrate.mjs +0 -2
  139. package/dist/cli__commands__migration-check.d.mts +0 -8
  140. package/dist/cli__commands__migration-check.d.mts.map +0 -1
  141. package/dist/cli__commands__migration-check.mjs +0 -3
  142. package/dist/cli__commands__migration-graph.d.mts +0 -38
  143. package/dist/cli__commands__migration-graph.d.mts.map +0 -1
  144. package/dist/cli__commands__migration-graph.mjs +0 -2
  145. package/dist/cli__commands__migration-list.d.mts +0 -39
  146. package/dist/cli__commands__migration-list.d.mts.map +0 -1
  147. package/dist/cli__commands__migration-list.mjs +0 -2
  148. package/dist/cli__commands__migration-log.d.mts +0 -20
  149. package/dist/cli__commands__migration-log.d.mts.map +0 -1
  150. package/dist/cli__commands__migration-log.mjs +0 -2
  151. package/dist/cli__commands__migration-new.d.mts +0 -7
  152. package/dist/cli__commands__migration-new.d.mts.map +0 -1
  153. package/dist/cli__commands__migration-new.mjs +0 -2
  154. package/dist/cli__commands__migration-plan.d.mts +0 -34
  155. package/dist/cli__commands__migration-plan.d.mts.map +0 -1
  156. package/dist/cli__commands__migration-plan.mjs +0 -2
  157. package/dist/cli__commands__migration-show.d.mts +0 -27
  158. package/dist/cli__commands__migration-show.d.mts.map +0 -1
  159. package/dist/cli__commands__migration-show.mjs +0 -2
  160. package/dist/cli__commands__migration-status.d.mts +0 -55
  161. package/dist/cli__commands__migration-status.d.mts.map +0 -1
  162. package/dist/cli__commands__migration-status.mjs +0 -3
  163. package/dist/cli__commands__ref.d.mts +0 -7
  164. package/dist/cli__commands__ref.d.mts.map +0 -1
  165. package/dist/cli__commands__ref.mjs +0 -2
  166. package/dist/cli__commands__telemetry.d.mts +0 -7
  167. package/dist/cli__commands__telemetry.d.mts.map +0 -1
  168. package/dist/cli__commands__telemetry.mjs +0 -2
  169. package/dist/client-C6Qp5ujC-Dxb7r79B.mjs +0 -1653
  170. package/dist/client-C6Qp5ujC-Dxb7r79B.mjs.map +0 -1
  171. package/dist/code-templates-C-jirr19-DDQB0WGo.mjs +0 -295
  172. package/dist/code-templates-C-jirr19-DDQB0WGo.mjs.map +0 -1
  173. package/dist/combine-verify-results-B87B_pMc-D4l22OqY.mjs +0 -65
  174. package/dist/combine-verify-results-B87B_pMc-D4l22OqY.mjs.map +0 -1
  175. package/dist/command-helpers-BCgwcqTe-lNCtppzM.mjs +0 -776
  176. package/dist/command-helpers-BCgwcqTe-lNCtppzM.mjs.map +0 -1
  177. package/dist/contract-at-errors-BSoDI0Hw-BXeUNE3s.mjs +0 -44
  178. package/dist/contract-at-errors-BSoDI0Hw-BXeUNE3s.mjs.map +0 -1
  179. package/dist/contract-emit-BG7KL4zk-_a0J310Z.mjs +0 -331
  180. package/dist/contract-emit-BG7KL4zk-_a0J310Z.mjs.map +0 -1
  181. package/dist/contract-emit-BkEj3siG-C8M-IyvS.mjs +0 -2
  182. package/dist/contract-emit-CvwNE4R1-DEn1V1Zo.d.mts +0 -7
  183. package/dist/contract-emit-CvwNE4R1-DEn1V1Zo.d.mts.map +0 -1
  184. package/dist/contract-emit-GknCmgn_-BSWdFprC.mjs +0 -154
  185. package/dist/contract-emit-GknCmgn_-BSWdFprC.mjs.map +0 -1
  186. package/dist/contract-enrichment-DrMvvY2A-DxNGeF4d.mjs +0 -56
  187. package/dist/contract-enrichment-DrMvvY2A-DxNGeF4d.mjs.map +0 -1
  188. package/dist/contract-infer-BwIDGl7v-CZrdWXAr.mjs +0 -74
  189. package/dist/contract-infer-BwIDGl7v-CZrdWXAr.mjs.map +0 -1
  190. package/dist/contract-snapshot-resolution-De2VvOJn-DqIAV9cr.mjs +0 -82
  191. package/dist/contract-snapshot-resolution-De2VvOJn-DqIAV9cr.mjs.map +0 -1
  192. package/dist/contract-space-aggregate-loader-fa04OIaL-B7LXHle3.mjs +0 -303
  193. package/dist/contract-space-aggregate-loader-fa04OIaL-B7LXHle3.mjs.map +0 -1
  194. package/dist/db-init-BolXrKAI-CwG-zEDW.mjs +0 -109
  195. package/dist/db-init-BolXrKAI-CwG-zEDW.mjs.map +0 -1
  196. package/dist/db-init-failure-B5cQML4A-5zr-99Ek.mjs +0 -44
  197. package/dist/db-init-failure-B5cQML4A-5zr-99Ek.mjs.map +0 -1
  198. package/dist/db-schema-DvdLBdEY-Dl6e1d_Y.mjs +0 -48
  199. package/dist/db-schema-DvdLBdEY-Dl6e1d_Y.mjs.map +0 -1
  200. package/dist/db-sign-DCp4c8CA-B3tun-kh.mjs +0 -172
  201. package/dist/db-sign-DCp4c8CA-B3tun-kh.mjs.map +0 -1
  202. package/dist/db-update-CfayE8WE-CPhQyDaZ.mjs +0 -171
  203. package/dist/db-update-CfayE8WE-CPhQyDaZ.mjs.map +0 -1
  204. package/dist/db-verify-BN7IrOAL-kEzRNJUl.mjs +0 -358
  205. package/dist/db-verify-BN7IrOAL-kEzRNJUl.mjs.map +0 -1
  206. package/dist/exports-B3xY_FHp.mjs.map +0 -1
  207. package/dist/exports-BZLNbtkY.mjs.map +0 -1
  208. package/dist/exports-CqNUihkI.mjs +0 -276
  209. package/dist/exports-CqNUihkI.mjs.map +0 -1
  210. package/dist/format-Ca7dUE6B-BMFqrc6D.mjs +0 -110
  211. package/dist/format-Ca7dUE6B-BMFqrc6D.mjs.map +0 -1
  212. package/dist/framework-components-Bau7o1-J-DTp6AUoq.mjs +0 -60
  213. package/dist/framework-components-Bau7o1-J-DTp6AUoq.mjs.map +0 -1
  214. package/dist/global-flags-BpoOYtNZ-CHZD3fud.d.mts +0 -35
  215. package/dist/global-flags-BpoOYtNZ-CHZD3fud.d.mts.map +0 -1
  216. package/dist/index-mCsi_ND5.d.mts.map +0 -1
  217. package/dist/init-DC7zPKka-BSiUrPw3.mjs +0 -800
  218. package/dist/init-DC7zPKka-BSiUrPw3.mjs.map +0 -1
  219. package/dist/inspect-live-schema-BPHXdvqW-DrzL2ZkQ.mjs +0 -95
  220. package/dist/inspect-live-schema-BPHXdvqW-DrzL2ZkQ.mjs.map +0 -1
  221. package/dist/integrity-violation-to-check-failure-BmWMLAae-DqiC4_3p.mjs +0 -115
  222. package/dist/integrity-violation-to-check-failure-BmWMLAae-DqiC4_3p.mjs.map +0 -1
  223. package/dist/invariants-Bltd8DyA-Cg_1Lu0q.mjs +0 -53
  224. package/dist/invariants-Bltd8DyA-Cg_1Lu0q.mjs.map +0 -1
  225. package/dist/legend-DGv9e2_0-BtetgRz4.mjs +0 -22
  226. package/dist/legend-DGv9e2_0-BtetgRz4.mjs.map +0 -1
  227. package/dist/migrate-BXATUjYE-Do79Imf-.mjs +0 -343
  228. package/dist/migrate-BXATUjYE-Do79Imf-.mjs.map +0 -1
  229. package/dist/migrate-failure-D4NvkoCk-0bttmQs2.mjs +0 -96
  230. package/dist/migrate-failure-D4NvkoCk-0bttmQs2.mjs.map +0 -1
  231. package/dist/migrate-show-B8UJ9dmb-C4RTPbDk.d.mts +0 -63
  232. package/dist/migrate-show-B8UJ9dmb-C4RTPbDk.d.mts.map +0 -1
  233. package/dist/migrate-show-C_9xR4Qt-B-Y0PGKw.mjs +0 -199
  234. package/dist/migrate-show-C_9xR4Qt-B-Y0PGKw.mjs.map +0 -1
  235. package/dist/migration-check-Bbdw7t-r-C2VTMK61.mjs +0 -358
  236. package/dist/migration-check-Bbdw7t-r-C2VTMK61.mjs.map +0 -1
  237. package/dist/migration-check-DbHgYK7F-7mtYNVFu.mjs +0 -163
  238. package/dist/migration-check-DbHgYK7F-7mtYNVFu.mjs.map +0 -1
  239. package/dist/migration-command-scaffold-SzjR2naH-Yi3-rNfX.mjs +0 -121
  240. package/dist/migration-command-scaffold-SzjR2naH-Yi3-rNfX.mjs.map +0 -1
  241. package/dist/migration-graph-B8WxW_tm-qGNf7jQh.mjs +0 -35
  242. package/dist/migration-graph-B8WxW_tm-qGNf7jQh.mjs.map +0 -1
  243. package/dist/migration-graph-BOwu76mF-kOTWFvfV.mjs +0 -144
  244. package/dist/migration-graph-BOwu76mF-kOTWFvfV.mjs.map +0 -1
  245. package/dist/migration-graph-command-render-h0VdTkSM-C3rPZEw1.mjs +0 -2127
  246. package/dist/migration-graph-command-render-h0VdTkSM-C3rPZEw1.mjs.map +0 -1
  247. package/dist/migration-graph-sections-BBHPOFN--COKyUKQ4.mjs +0 -69
  248. package/dist/migration-graph-sections-BBHPOFN--COKyUKQ4.mjs.map +0 -1
  249. package/dist/migration-list-CKuYcMQq-CubZzE9i.mjs +0 -130
  250. package/dist/migration-list-CKuYcMQq-CubZzE9i.mjs.map +0 -1
  251. package/dist/migration-list-CY08bD8I-PoXuv94c.mjs +0 -102
  252. package/dist/migration-list-CY08bD8I-PoXuv94c.mjs.map +0 -1
  253. package/dist/migration-log-CUbGla-9-BLIrWjwN.mjs +0 -123
  254. package/dist/migration-log-CUbGla-9-BLIrWjwN.mjs.map +0 -1
  255. package/dist/migration-log-table-eES9lPjv-BCFm8qJr.mjs +0 -116
  256. package/dist/migration-log-table-eES9lPjv-BCFm8qJr.mjs.map +0 -1
  257. package/dist/migration-new-ChvZjf5X-BFhEM0BF.mjs +0 -70
  258. package/dist/migration-new-ChvZjf5X-BFhEM0BF.mjs.map +0 -1
  259. package/dist/migration-new-DXMvJdbB-BkrpDfcr.mjs +0 -130
  260. package/dist/migration-new-DXMvJdbB-BkrpDfcr.mjs.map +0 -1
  261. package/dist/migration-path-target-JDWqF9kj-B7zoMq6X.mjs +0 -38
  262. package/dist/migration-path-target-JDWqF9kj-B7zoMq6X.mjs.map +0 -1
  263. package/dist/migration-plan-BV9f5Xjq-DiyscOMc.d.mts +0 -164
  264. package/dist/migration-plan-BV9f5Xjq-DiyscOMc.d.mts.map +0 -1
  265. package/dist/migration-plan-Bz1hOTHF-CFCtPuOv.mjs +0 -192
  266. package/dist/migration-plan-Bz1hOTHF-CFCtPuOv.mjs.map +0 -1
  267. package/dist/migration-plan-Cfz0efEL-DMNFq5b2.mjs +0 -621
  268. package/dist/migration-plan-Cfz0efEL-DMNFq5b2.mjs.map +0 -1
  269. package/dist/migration-show-BGdR1xnT-Cg3M0FPh.mjs +0 -178
  270. package/dist/migration-show-BGdR1xnT-Cg3M0FPh.mjs.map +0 -1
  271. package/dist/migration-status-BIrAJ5af-D-_mMBUA.mjs +0 -427
  272. package/dist/migration-status-BIrAJ5af-D-_mMBUA.mjs.map +0 -1
  273. package/dist/output-DP3woAjV-BxCr9nHA.mjs.map +0 -1
  274. package/dist/progress-adapter-CjAeTxY_-BXYSd1eY.mjs +0 -43
  275. package/dist/progress-adapter-CjAeTxY_-BXYSd1eY.mjs.map +0 -1
  276. package/dist/project-import-root-B4nM-VWX-D__g0hTb.mjs +0 -101
  277. package/dist/project-import-root-B4nM-VWX-D__g0hTb.mjs.map +0 -1
  278. package/dist/redact-secrets-DuKoiMax-Cfe2XVhc.mjs +0 -1476
  279. package/dist/redact-secrets-DuKoiMax-Cfe2XVhc.mjs.map +0 -1
  280. package/dist/ref-4x6BGSsd-ClaoZIQh.mjs +0 -95
  281. package/dist/ref-4x6BGSsd-ClaoZIQh.mjs.map +0 -1
  282. package/dist/ref-WXLIR9Xm-12IUtoBU.mjs +0 -104
  283. package/dist/ref-WXLIR9Xm-12IUtoBU.mjs.map +0 -1
  284. package/dist/ref-advancement-DaZBzm7m-WoqnFAyr.mjs +0 -96
  285. package/dist/ref-advancement-DaZBzm7m-WoqnFAyr.mjs.map +0 -1
  286. package/dist/ref-resolution-BSN1amKm-C6-TTM2N.mjs +0 -16
  287. package/dist/ref-resolution-BSN1amKm-C6-TTM2N.mjs.map +0 -1
  288. package/dist/refs-fQLFcMoq-aTBeUU9H.mjs +0 -47
  289. package/dist/refs-fQLFcMoq-aTBeUU9H.mjs.map +0 -1
  290. package/dist/schemas-BGgjiKV0-Rh8RlMCl.d.mts +0 -206
  291. package/dist/schemas-BGgjiKV0-Rh8RlMCl.d.mts.map +0 -1
  292. package/dist/schemas-CYSD83Cu-Bff4PPoi.mjs +0 -119
  293. package/dist/schemas-CYSD83Cu-Bff4PPoi.mjs.map +0 -1
  294. package/dist/shells-BenrJHp2.mjs.map +0 -1
  295. package/dist/shells-COHV_Ozf.d.mts.map +0 -1
  296. package/dist/telemetry-BD52LETE-Cqeb7ebh.mjs +0 -121
  297. package/dist/telemetry-BD52LETE-Cqeb7ebh.mjs.map +0 -1
  298. package/dist/terminal-ui-BN4QOsm5-Bf3pim46.d.mts +0 -133
  299. package/dist/terminal-ui-BN4QOsm5-Bf3pim46.d.mts.map +0 -1
  300. package/dist/terminal-ui-Cqz4LVL7-B0mcVdLy.mjs +0 -676
  301. package/dist/terminal-ui-Cqz4LVL7-B0mcVdLy.mjs.map +0 -1
  302. package/dist/verify-Cogr_Fj9-D3lCWA6t.mjs +0 -283
  303. package/dist/verify-Cogr_Fj9-D3lCWA6t.mjs.map +0 -1
@@ -1,38 +0,0 @@
1
- import { A as errorRuntime$1 } from "./cli-errors-B4zTLaqQ-CXgjO9t4.mjs";
2
- import { isAbsolute, relative, resolve } from "pathe";
3
- import { notOk, ok } from "@prisma/orm-framework/utils/result";
4
- //#region ../../../1-framework/3-tooling/cli/dist/migration-path-target-JDWqF9kj.mjs
5
- function looksLikePath(target) {
6
- return target.includes("/") || target.includes("\\");
7
- }
8
- function resolveAppTargetPath(cwd, target, appMigrationsDir, appMigrationsRelative) {
9
- const targetPath = resolve(cwd, target);
10
- const relativeToApp = relative(appMigrationsDir, targetPath);
11
- if (relativeToApp === "" || relativeToApp === "." || relativeToApp.startsWith("..") || isAbsolute(relativeToApp)) return notOk(errorRuntime$1("MIGRATION.TARGET_NOT_APP_SPACE", "Target must point to an app-space migration", {
12
- why: `Expected a path under ${appMigrationsRelative}, got ${target}`,
13
- fix: "Pass an app-space migration directory or use a hash prefix."
14
- }));
15
- return ok(targetPath);
16
- }
17
- /**
18
- * Resolve a filesystem-path target to the migration dir that contains it,
19
- * searching each in-scope space's `migrationsDir`. A path is explicit, so
20
- * it can belong to at most one space — returns the first match, or `null`
21
- * when the path falls outside every space dir.
22
- */
23
- function resolveTargetPathAcrossSpaces(cwd, target, spaces) {
24
- const targetPath = resolve(cwd, target);
25
- for (const space of spaces) {
26
- const rel = relative(space.migrationsDir, targetPath);
27
- if (!(rel === "" || rel === "." || rel.startsWith("..") || isAbsolute(rel))) return targetPath;
28
- }
29
- return null;
30
- }
31
- function findPackageByDirPath(packages, resolvedDirPath) {
32
- const normalized = resolve(resolvedDirPath);
33
- return packages.find((p) => resolve(p.dirPath) === normalized);
34
- }
35
- //#endregion
36
- export { resolveTargetPathAcrossSpaces as i, looksLikePath as n, resolveAppTargetPath as r, findPackageByDirPath as t };
37
-
38
- //# sourceMappingURL=migration-path-target-JDWqF9kj-B7zoMq6X.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migration-path-target-JDWqF9kj-B7zoMq6X.mjs","names":["errorRuntime"],"sources":["../../../../1-framework/3-tooling/cli/dist/migration-path-target-JDWqF9kj.mjs"],"sourcesContent":["import { k as errorRuntime } from \"./cli-errors-B4zTLaqQ.mjs\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { isAbsolute, relative, resolve } from \"pathe\";\n//#region src/utils/migration-path-target.ts\nfunction looksLikePath(target) {\n\treturn target.includes(\"/\") || target.includes(\"\\\\\");\n}\nfunction resolveAppTargetPath(cwd, target, appMigrationsDir, appMigrationsRelative) {\n\tconst targetPath = resolve(cwd, target);\n\tconst relativeToApp = relative(appMigrationsDir, targetPath);\n\tif (relativeToApp === \"\" || relativeToApp === \".\" || relativeToApp.startsWith(\"..\") || isAbsolute(relativeToApp)) return notOk(errorRuntime(\"MIGRATION.TARGET_NOT_APP_SPACE\", \"Target must point to an app-space migration\", {\n\t\twhy: `Expected a path under ${appMigrationsRelative}, got ${target}`,\n\t\tfix: \"Pass an app-space migration directory or use a hash prefix.\"\n\t}));\n\treturn ok(targetPath);\n}\n/**\n* Resolve a filesystem-path target to the migration dir that contains it,\n* searching each in-scope space's `migrationsDir`. A path is explicit, so\n* it can belong to at most one space — returns the first match, or `null`\n* when the path falls outside every space dir.\n*/\nfunction resolveTargetPathAcrossSpaces(cwd, target, spaces) {\n\tconst targetPath = resolve(cwd, target);\n\tfor (const space of spaces) {\n\t\tconst rel = relative(space.migrationsDir, targetPath);\n\t\tif (!(rel === \"\" || rel === \".\" || rel.startsWith(\"..\") || isAbsolute(rel))) return targetPath;\n\t}\n\treturn null;\n}\nfunction findPackageByDirPath(packages, resolvedDirPath) {\n\tconst normalized = resolve(resolvedDirPath);\n\treturn packages.find((p) => resolve(p.dirPath) === normalized);\n}\n//#endregion\nexport { resolveTargetPathAcrossSpaces as i, looksLikePath as n, resolveAppTargetPath as r, findPackageByDirPath as t };\n\n//# sourceMappingURL=migration-path-target-JDWqF9kj.mjs.map"],"mappings":";;;;AAIA,SAAS,cAAc,QAAQ;CAC9B,OAAO,OAAO,SAAS,GAAG,KAAK,OAAO,SAAS,IAAI;AACpD;AACA,SAAS,qBAAqB,KAAK,QAAQ,kBAAkB,uBAAuB;CACnF,MAAM,aAAa,QAAQ,KAAK,MAAM;CACtC,MAAM,gBAAgB,SAAS,kBAAkB,UAAU;CAC3D,IAAI,kBAAkB,MAAM,kBAAkB,OAAO,cAAc,WAAW,IAAI,KAAK,WAAW,aAAa,GAAG,OAAO,MAAMA,eAAa,kCAAkC,+CAA+C;EAC5N,KAAK,yBAAyB,sBAAsB,QAAQ;EAC5D,KAAK;CACN,CAAC,CAAC;CACF,OAAO,GAAG,UAAU;AACrB;;;;;;;AAOA,SAAS,8BAA8B,KAAK,QAAQ,QAAQ;CAC3D,MAAM,aAAa,QAAQ,KAAK,MAAM;CACtC,KAAK,MAAM,SAAS,QAAQ;EAC3B,MAAM,MAAM,SAAS,MAAM,eAAe,UAAU;EACpD,IAAI,EAAE,QAAQ,MAAM,QAAQ,OAAO,IAAI,WAAW,IAAI,KAAK,WAAW,GAAG,IAAI,OAAO;CACrF;CACA,OAAO;AACR;AACA,SAAS,qBAAqB,UAAU,iBAAiB;CACxD,MAAM,aAAa,QAAQ,eAAe;CAC1C,OAAO,SAAS,MAAM,MAAM,QAAQ,EAAE,OAAO,MAAM,UAAU;AAC9D"}
@@ -1,164 +0,0 @@
1
- import { t as CliStructuredError$2 } from "./cli-errors-iquUoY6O-BFboxglv.mjs";
2
- import { t as MigrationOps } from "./package-CfWiDNrr-ZR4HM_Iz.mjs";
3
- import { t as CommonCommandOptions } from "./global-flags-BpoOYtNZ-CHZD3fud.mjs";
4
- import { t as MigrationMetadata$1 } from "./metadata-2nbOAGsV-uYNeq2Cp.mjs";
5
- import "./metadata-BtscDay2.mjs";
6
- import "./package-N9PPdFV_.mjs";
7
- import { OperationPreview } from "@prisma/orm-framework/components/control";
8
- import { Result } from "@prisma/orm-framework/utils/result";
9
- import { PrismaNextConfig } from "@prisma/orm-framework/config/config-types";
10
- //#region ../../../1-framework/3-tooling/cli/dist/migration-plan-BV9f5Xjq.d.mts
11
- //#region src/control-api/operations/contract-space-seed-phase.d.ts
12
- /**
13
- * In-memory authored migration package shipped by an extension descriptor.
14
- * Mirrors `MigrationPackage` from `@internal/migration-tools/io` (the
15
- * on-disk shape minus `dirPath`); redeclared structurally here so the
16
- * CLI helper does not couple to any family's `ExtensionMigrationPackage`
17
- * type — any family that ships pre-built migration packages can pass
18
- * them through unchanged.
19
- */
20
- interface DescriptorMigrationPackage {
21
- readonly dirName: string;
22
- readonly metadata: MigrationMetadata$1;
23
- readonly ops: MigrationOps;
24
- }
25
- /**
26
- * Minimal descriptor view consumed by the seed phase. Mirrors the shape
27
- * the SQL family ships on each declared extension entry; only the fields
28
- * the seed phase needs are surfaced.
29
- */
30
- interface SeedPhaseExtensionInput {
31
- readonly id: string;
32
- readonly contractSpace?: {
33
- readonly contractJson: unknown;
34
- readonly headRef: {
35
- readonly hash: string;
36
- readonly invariants: readonly string[];
37
- };
38
- readonly migrations: readonly DescriptorMigrationPackage[];
39
- };
40
- }
41
- interface ContractSpaceSeedPhaseInputs {
42
- readonly migrationsDir: string;
43
- readonly extensions: ReadonlyArray<SeedPhaseExtensionInput>;
44
- }
45
- /**
46
- * One per-space record describing what the seed phase did for an
47
- * extension contract space. Surfaced verbatim by the caller (typically
48
- * `migration plan`) so users see a single line per touched extension.
49
- *
50
- * - `action: 'updated'` — either the on-disk head pointer changed, or
51
- * one or more new descriptor-shipped migration packages were
52
- * materialised into `migrations/<spaceId>/<dirName>/`.
53
- * - `action: 'unchanged'` — the on-disk head already matched the
54
- * descriptor and no new migration packages needed to be written.
55
- *
56
- * Either way, the artifacts (`contract.json`, `contract.d.ts`,
57
- * `refs/head.json`) are re-emitted: the framework owns those files and
58
- * makes the re-emit observably idempotent at the byte level.
59
- */
60
- interface ContractSpaceSeedPhaseRecord {
61
- readonly spaceId: string;
62
- readonly action: 'updated' | 'unchanged';
63
- readonly priorHash: string | null;
64
- readonly newHash: string;
65
- readonly newMigrationDirs: readonly string[];
66
- }
67
- interface ContractSpaceSeedPhaseResult {
68
- readonly seeded: readonly ContractSpaceSeedPhaseRecord[];
69
- }
70
- /**
71
- * Phase-1 of the two-phase `migration plan` pipeline (sub-spec § 4).
72
- *
73
- * For every extension that exposes a `contractSpace`:
74
- *
75
- * 1. Read the on-disk head ref (returns `null` on first emit).
76
- * 2. Write the head contract into the migrations-root snapshot store
77
- * (write-if-absent, keyed by hash) and unconditionally re-emit
78
- * `refs/head.json`, via {@link emitContractSpaceArtifacts}. The
79
- * framework owns `refs/head.json`; re-emit is the contract for that
80
- * file. The snapshot itself is only written once per distinct hash.
81
- * 3. Materialise any descriptor-shipped migration packages not yet on
82
- * disk via {@link materialiseExtensionMigrationPackageIfMissing}.
83
- * Existing packages are left untouched (by-existence skip).
84
- *
85
- * The return value lets the caller render a per-space status line and
86
- * lets the phase-2 aggregate loader run on a now-consistent disk state
87
- * (every loaded extension is guaranteed to have its head ref pinned
88
- * to the descriptor's hash and to ship every package the descriptor
89
- * declares).
90
- *
91
- * Output ordering is deterministic and alphabetical by spaceId (via
92
- * {@link planAllSpaces}, which also detects duplicate spaceIds). This
93
- * matches the canonical sort order used by every other aggregate
94
- * surface (`migrate`, `migration status`, the runner).
95
- */
96
- declare function runContractSpaceSeedPhase(inputs: ContractSpaceSeedPhaseInputs): Promise<ContractSpaceSeedPhaseResult>;
97
- //#endregion
98
- //#region src/control-api/operations/migration-plan.d.ts
99
- interface MigrationPlanOptions extends CommonCommandOptions {
100
- readonly config: PrismaNextConfig;
101
- /** Directory the command was invoked from. */
102
- readonly cwd: string;
103
- /** `--config` as the user wrote it, used only to locate project paths and for display. */
104
- readonly configPath?: string;
105
- readonly name?: string;
106
- readonly from?: string;
107
- readonly to?: string;
108
- }
109
- interface MigrationPlanResult {
110
- readonly ok: boolean;
111
- readonly noOp: boolean;
112
- readonly from: string | null;
113
- readonly to: string;
114
- readonly dir?: string;
115
- readonly baselineDir?: string;
116
- /**
117
- * Extension-space migration packages materialised onto disk during this
118
- * `plan` run. Each entry names a `migrations/<spaceId>/<dirName>/`
119
- * tree the framework wrote alongside the app-space migration directory.
120
- * Empty when the project has no extension packs declaring a contract
121
- * space, or when every extension-space package is already on disk.
122
- *
123
- * Surfacing these in the result (rather than only via `ui.step` log
124
- * lines) makes the cross-space side effect explicit to JSON consumers
125
- * and the success-summary renderer — the same cross-space side effect
126
- * that `migrate` will replay.
127
- */
128
- readonly emittedExtensionDirs: readonly {
129
- readonly spaceId: string;
130
- readonly dirName: string;
131
- }[];
132
- readonly operations: readonly {
133
- readonly id: string;
134
- readonly label: string;
135
- readonly operationClass: string;
136
- }[];
137
- /**
138
- * Family-agnostic textual preview of the migration plan operations.
139
- * Replaces the previous `sql?: readonly string[]` field; consumers should
140
- * read `result.preview?.statements`.
141
- */
142
- readonly preview?: OperationPreview;
143
- readonly summary: string;
144
- /**
145
- * When true, `migration.ts` was written but contains unfilled
146
- * `placeholder(...)` calls. The user must edit the file and then run
147
- * `node migration.ts` to self-emit `ops.json` / `migration.json`.
148
- */
149
- readonly pendingPlaceholders?: boolean;
150
- readonly timings: {
151
- readonly total: number;
152
- };
153
- }
154
- declare function executeMigrationPlanCommand(options: MigrationPlanOptions, startTime: number, callbacks?: {
155
- readonly onContextResolved?: (ctx: {
156
- readonly configPath: string;
157
- readonly contractPath: string;
158
- readonly appMigrationsRelative: string;
159
- }) => void;
160
- readonly onSeeded?: (record: ContractSpaceSeedPhaseRecord) => void;
161
- }): Promise<Result<MigrationPlanResult, CliStructuredError$2>>;
162
- //#endregion
163
- export { executeMigrationPlanCommand as a, MigrationPlanResult as i, ContractSpaceSeedPhaseRecord as n, runContractSpaceSeedPhase as o, ContractSpaceSeedPhaseResult as r, ContractSpaceSeedPhaseInputs as t };
164
- //# sourceMappingURL=migration-plan-BV9f5Xjq-DiyscOMc.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migration-plan-BV9f5Xjq-DiyscOMc.d.mts","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/migration-plan-BV9f5Xjq.d.mts"],"mappings":";;;;;;;;;;;;;;;;;;;UAgBU;WACC;WACA,UAAU;WACV,KAAK;;;;;;;UAON;WACC;WACA;aACE;aACA;eACE;eACA;;aAEF,qBAAqB;;;UAGxB;WACC;WACA,YAAY,cAAc;;;;;;;;;;;;;;;;;UAiB3B;WACC;WACA;WACA;WACA;WACA;;UAED;WACC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4BX,0BAA0B,QAAQ,+BAA+B,QAAQ;;;UAGhF,6BAA6B;WAC5B,QAAQ;;WAER;;WAEA;WACA;WACA;WACA;;UAED;WACC;WACA;WACA;WACA;WACA;WACA;;;;;;;;;;;;;WAaA;aACE;aACA;;WAEF;aACE;aACA;aACA;;;;;;;WAOF,UAAU;WACV;;;;;;WAMA;WACA;aACE;;;iBAGI,4BAA4B,SAAS,sBAAsB,mBAAmB;WACpF,qBAAqB;aACnB;aACA;aACA;;WAEF,YAAY,QAAQ;IAC3B,QAAQ,OAAO,qBAAqB"}
@@ -1,192 +0,0 @@
1
- import { o as loadConfigForSections } from "./exports-BZLNbtkY.mjs";
2
- import { r as createTerminalUI } from "./terminal-ui-Cqz4LVL7-B0mcVdLy.mjs";
3
- import { b as setCommandExamples, m as parseGlobalFlagsOrExit, s as formatStyledHeader, t as addGlobalOptions, u as handleResult, y as setCommandDescriptions } from "./command-helpers-BCgwcqTe-lNCtppzM.mjs";
4
- import { t as executeMigrationPlanCommand } from "./migration-plan-Cfz0efEL-DMNFq5b2.mjs";
5
- import { ifDefined } from "@prisma/orm-framework/utils/defined";
6
- import { notOk, ok } from "@prisma/orm-framework/utils/result";
7
- import { Command } from "commander";
8
- //#region ../../../1-framework/3-tooling/cli/dist/migration-plan-Bz1hOTHF.mjs
9
- async function runMigrationPlan(options, startTime, callbacks) {
10
- const configResult = await loadConfigForSections(options.config, [
11
- "family",
12
- "target",
13
- "adapter",
14
- "extensions",
15
- "migrations",
16
- "contract"
17
- ]);
18
- if (!configResult.ok) return configResult;
19
- return executeMigrationPlanCommand({
20
- ...options,
21
- config: configResult.value,
22
- cwd: process.cwd(),
23
- ...ifDefined("configPath", options.config)
24
- }, startTime, callbacks);
25
- }
26
- function createMigrationPlanCommand() {
27
- const command = new Command("plan");
28
- setCommandDescriptions(command, "Plan a migration from contract changes", "Compares the emitted contract against the latest on-disk migration state and\nproduces a new migration package with the required operations. No database\nconnection is needed — this is a fully offline operation.");
29
- setCommandExamples(command, [
30
- "prisma-next migration plan",
31
- "prisma-next migration plan --name add-users-table",
32
- "prisma-next migration plan --to <migration-dir>^ --name rollback"
33
- ]);
34
- addGlobalOptions(command).option("--config <path>", "Path to prisma-next.config.ts").option("--name <slug>", "Name slug for the migration directory", "migration").option("--from <contract>", "Starting contract reference (hash, prefix, ref name, migration dir name, <dir>^, or ./path)").option("--to <contract>", "Destination contract reference (hash, prefix, ref name, migration dir name, <dir>^, or ./path); defaults to the emitted contract").action(async (options) => {
35
- const flags = parseGlobalFlagsOrExit(options);
36
- const startTime = Date.now();
37
- const ui = createTerminalUI(flags);
38
- const exitCode = handleResult(await runMigrationPlan(options, startTime, {
39
- onContextResolved: ({ configPath, contractPath, appMigrationsRelative }) => {
40
- if (!flags.json && !flags.quiet) {
41
- const details = [
42
- {
43
- label: "config",
44
- value: configPath
45
- },
46
- {
47
- label: "contract",
48
- value: contractPath
49
- },
50
- {
51
- label: "migrations",
52
- value: appMigrationsRelative
53
- }
54
- ];
55
- if (options.from) details.push({
56
- label: "from",
57
- value: options.from
58
- });
59
- if (options.to) details.push({
60
- label: "to",
61
- value: options.to
62
- });
63
- if (options.name) details.push({
64
- label: "name",
65
- value: options.name
66
- });
67
- const header = formatStyledHeader({
68
- command: "migration plan",
69
- description: "Plan a migration from contract changes",
70
- url: "https://pris.ly/migration-plan",
71
- details,
72
- flags
73
- });
74
- ui.stderr(header);
75
- }
76
- },
77
- onSeeded: (record) => {
78
- if (!flags.json && !flags.quiet && record.action === "updated") {
79
- const pkgSuffix = record.newMigrationDirs.length > 0 ? `; ${record.newMigrationDirs.length} new migration package(s) materialised` : "";
80
- ui.step(`Updated ${record.spaceId} to ${record.newHash}${pkgSuffix}`);
81
- }
82
- }
83
- }), flags, ui, (planResult) => {
84
- if (flags.json) ui.output(JSON.stringify(planResult, null, 2));
85
- else if (!flags.quiet) ui.log(formatMigrationPlanOutput(planResult, flags));
86
- });
87
- process.exit(exitCode);
88
- });
89
- return command;
90
- }
91
- function formatMigrationPlanOutput(result, flags) {
92
- const lines = [];
93
- const useColor = flags.color !== false;
94
- const green_ = useColor ? (s) => `\x1b[32m${s}\x1b[0m` : (s) => s;
95
- const yellow_ = useColor ? (s) => `\x1b[33m${s}\x1b[0m` : (s) => s;
96
- const dim_ = useColor ? (s) => `\x1b[2m${s}\x1b[0m` : (s) => s;
97
- function appendEmittedExtensions() {
98
- if (result.emittedExtensionDirs.length === 0) return;
99
- lines.push("");
100
- lines.push(dim_("Emitted extension migrations:"));
101
- for (const entry of result.emittedExtensionDirs) lines.push(dim_(` ${entry.spaceId} → migrations/${entry.spaceId}/${entry.dirName}`));
102
- lines.push("");
103
- lines.push(`Next: review the extension migrations above, then run ${green_("prisma-next migrate")}.`);
104
- }
105
- if (result.noOp) {
106
- lines.push(`${green_("✔")} No changes detected`);
107
- lines.push(dim_(` from: ${result.from}`));
108
- lines.push(dim_(` to: ${result.to}`));
109
- appendEmittedExtensions();
110
- return lines.join("\n");
111
- }
112
- if (result.pendingPlaceholders) {
113
- lines.push(`${yellow_("⚠")} ${result.summary}`);
114
- lines.push("");
115
- lines.push(dim_(`from: ${result.from}`));
116
- lines.push(dim_(`to: ${result.to}`));
117
- if (result.dir) lines.push(dim_(`dir: ${result.dir}`));
118
- lines.push("");
119
- lines.push("Open migration.ts and replace each `placeholder(...)` call with your actual query.");
120
- lines.push(`Then run: ${green_(`node ${result.dir ?? "<dir>"}/migration.ts`)}`);
121
- appendEmittedExtensions();
122
- return lines.join("\n");
123
- }
124
- lines.push(`${green_("✔")} ${result.summary}`);
125
- lines.push("");
126
- if (result.operations.length > 0) {
127
- lines.push(dim_("│"));
128
- for (let i = 0; i < result.operations.length; i++) {
129
- const op = result.operations[i];
130
- const treeChar = i === result.operations.length - 1 ? "└" : "├";
131
- const destructiveMarker = op.operationClass === "destructive" ? ` ${yellow_("(destructive)")}` : "";
132
- lines.push(`${dim_(treeChar)}─ ${op.label}${destructiveMarker}`);
133
- }
134
- if (result.operations.some((op) => op.operationClass === "destructive")) {
135
- lines.push("");
136
- lines.push(`${yellow_("⚠")} This migration contains destructive operations that may cause data loss.`);
137
- }
138
- lines.push("");
139
- }
140
- lines.push(dim_(`from: ${result.from}`));
141
- lines.push(dim_(`to: ${result.to}`));
142
- if (result.baselineDir) lines.push(dim_(`Baseline → ${result.baselineDir}`));
143
- if (result.dir) lines.push(dim_(`App space → ${result.dir}`));
144
- for (const entry of result.emittedExtensionDirs) lines.push(dim_(`Extension space ${entry.spaceId} → migrations/${entry.spaceId}/${entry.dirName}`));
145
- lines.push("");
146
- const reviewTarget = result.baselineDir !== void 0 && result.dir !== void 0 ? `${result.baselineDir} and ${result.dir}` : result.baselineDir ?? result.dir ?? "<dir>";
147
- lines.push(`Next: review ${green_(reviewTarget)} if needed, then run ${green_("prisma-next migrate")}.`);
148
- if (result.preview && result.preview.statements.length > 0) {
149
- const allSql = result.preview.statements.every((s) => s.language === "sql");
150
- lines.push("");
151
- lines.push(dim_(allSql ? "DDL preview" : "Operation preview"));
152
- lines.push("");
153
- for (const statement of result.preview.statements) {
154
- const trimmed = statement.text.trim();
155
- if (!trimmed) continue;
156
- const line = statement.language === "sql" && !trimmed.endsWith(";") ? `${trimmed};` : trimmed;
157
- lines.push(line);
158
- }
159
- }
160
- if (flags.verbose && result.timings) {
161
- lines.push("");
162
- lines.push(dim_(`Total time: ${result.timings.total}ms`));
163
- }
164
- return lines.join("\n");
165
- }
166
- /**
167
- * Resolve a migration package by **target contract hash** (`metadata.to`)
168
- * using exact match or prefix match.
169
- *
170
- * Note: matches `metadata.to` (the contract hash this migration produces),
171
- * not `metadata.migrationHash` (the package's content-addressed identity).
172
- * Tries exact match first, then prefix match. Returns the matched package on
173
- * success, or a discriminated failure indicating whether the prefix was
174
- * ambiguous or simply not found.
175
- *
176
- * @internal Exported for testing only.
177
- */
178
- function resolveBundleByPrefix(bundles, needle) {
179
- const exact = bundles.find((p) => p.metadata.to === needle);
180
- if (exact) return ok(exact);
181
- const candidates = bundles.filter((p) => p.metadata.to.startsWith(needle));
182
- if (candidates.length === 1) return ok(candidates[0]);
183
- if (candidates.length > 1) return notOk({
184
- reason: "ambiguous",
185
- count: candidates.length
186
- });
187
- return notOk({ reason: "not-found" });
188
- }
189
- //#endregion
190
- export { formatMigrationPlanOutput as n, resolveBundleByPrefix as r, createMigrationPlanCommand as t };
191
-
192
- //# sourceMappingURL=migration-plan-Bz1hOTHF-CFCtPuOv.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migration-plan-Bz1hOTHF-CFCtPuOv.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/migration-plan-Bz1hOTHF.mjs"],"sourcesContent":["import { t as createTerminalUI } from \"./terminal-ui-Cqz4LVL7.mjs\";\nimport { S as formatStyledHeader, _ as parseGlobalFlagsOrExit, d as setCommandExamples, t as addGlobalOptions, u as setCommandDescriptions, v as handleResult } from \"./command-helpers-BCgwcqTe.mjs\";\nimport { t as executeMigrationPlanCommand } from \"./migration-plan-Cfz0efEL.mjs\";\nimport { Command } from \"commander\";\nimport { loadConfigForSections } from \"@internal/config-loader\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { notOk, ok } from \"@internal/utils/result\";\n//#region src/commands/migration-plan.ts\nasync function runMigrationPlan(options, startTime, callbacks) {\n\tconst configResult = await loadConfigForSections(options.config, [\n\t\t\"family\",\n\t\t\"target\",\n\t\t\"adapter\",\n\t\t\"extensions\",\n\t\t\"migrations\",\n\t\t\"contract\"\n\t]);\n\tif (!configResult.ok) return configResult;\n\treturn executeMigrationPlanCommand({\n\t\t...options,\n\t\tconfig: configResult.value,\n\t\tcwd: process.cwd(),\n\t\t...ifDefined(\"configPath\", options.config)\n\t}, startTime, callbacks);\n}\nfunction createMigrationPlanCommand() {\n\tconst command = new Command(\"plan\");\n\tsetCommandDescriptions(command, \"Plan a migration from contract changes\", \"Compares the emitted contract against the latest on-disk migration state and\\nproduces a new migration package with the required operations. No database\\nconnection is needed — this is a fully offline operation.\");\n\tsetCommandExamples(command, [\n\t\t\"prisma-next migration plan\",\n\t\t\"prisma-next migration plan --name add-users-table\",\n\t\t\"prisma-next migration plan --to <migration-dir>^ --name rollback\"\n\t]);\n\taddGlobalOptions(command).option(\"--config <path>\", \"Path to prisma-next.config.ts\").option(\"--name <slug>\", \"Name slug for the migration directory\", \"migration\").option(\"--from <contract>\", \"Starting contract reference (hash, prefix, ref name, migration dir name, <dir>^, or ./path)\").option(\"--to <contract>\", \"Destination contract reference (hash, prefix, ref name, migration dir name, <dir>^, or ./path); defaults to the emitted contract\").action(async (options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst startTime = Date.now();\n\t\tconst ui = createTerminalUI(flags);\n\t\tconst exitCode = handleResult(await runMigrationPlan(options, startTime, {\n\t\t\tonContextResolved: ({ configPath, contractPath, appMigrationsRelative }) => {\n\t\t\t\tif (!flags.json && !flags.quiet) {\n\t\t\t\t\tconst details = [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: \"config\",\n\t\t\t\t\t\t\tvalue: configPath\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: \"contract\",\n\t\t\t\t\t\t\tvalue: contractPath\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: \"migrations\",\n\t\t\t\t\t\t\tvalue: appMigrationsRelative\n\t\t\t\t\t\t}\n\t\t\t\t\t];\n\t\t\t\t\tif (options.from) details.push({\n\t\t\t\t\t\tlabel: \"from\",\n\t\t\t\t\t\tvalue: options.from\n\t\t\t\t\t});\n\t\t\t\t\tif (options.to) details.push({\n\t\t\t\t\t\tlabel: \"to\",\n\t\t\t\t\t\tvalue: options.to\n\t\t\t\t\t});\n\t\t\t\t\tif (options.name) details.push({\n\t\t\t\t\t\tlabel: \"name\",\n\t\t\t\t\t\tvalue: options.name\n\t\t\t\t\t});\n\t\t\t\t\tconst header = formatStyledHeader({\n\t\t\t\t\t\tcommand: \"migration plan\",\n\t\t\t\t\t\tdescription: \"Plan a migration from contract changes\",\n\t\t\t\t\t\turl: \"https://pris.ly/migration-plan\",\n\t\t\t\t\t\tdetails,\n\t\t\t\t\t\tflags\n\t\t\t\t\t});\n\t\t\t\t\tui.stderr(header);\n\t\t\t\t}\n\t\t\t},\n\t\t\tonSeeded: (record) => {\n\t\t\t\tif (!flags.json && !flags.quiet && record.action === \"updated\") {\n\t\t\t\t\tconst pkgSuffix = record.newMigrationDirs.length > 0 ? `; ${record.newMigrationDirs.length} new migration package(s) materialised` : \"\";\n\t\t\t\t\tui.step(`Updated ${record.spaceId} to ${record.newHash}${pkgSuffix}`);\n\t\t\t\t}\n\t\t\t}\n\t\t}), flags, ui, (planResult) => {\n\t\t\tif (flags.json) ui.output(JSON.stringify(planResult, null, 2));\n\t\t\telse if (!flags.quiet) ui.log(formatMigrationPlanOutput(planResult, flags));\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n\treturn command;\n}\nfunction formatMigrationPlanOutput(result, flags) {\n\tconst lines = [];\n\tconst useColor = flags.color !== false;\n\tconst green_ = useColor ? (s) => `\\x1b[32m${s}\\x1b[0m` : (s) => s;\n\tconst yellow_ = useColor ? (s) => `\\x1b[33m${s}\\x1b[0m` : (s) => s;\n\tconst dim_ = useColor ? (s) => `\\x1b[2m${s}\\x1b[0m` : (s) => s;\n\tfunction appendEmittedExtensions() {\n\t\tif (result.emittedExtensionDirs.length === 0) return;\n\t\tlines.push(\"\");\n\t\tlines.push(dim_(\"Emitted extension migrations:\"));\n\t\tfor (const entry of result.emittedExtensionDirs) lines.push(dim_(` ${entry.spaceId} → migrations/${entry.spaceId}/${entry.dirName}`));\n\t\tlines.push(\"\");\n\t\tlines.push(`Next: review the extension migrations above, then run ${green_(\"prisma-next migrate\")}.`);\n\t}\n\tif (result.noOp) {\n\t\tlines.push(`${green_(\"✔\")} No changes detected`);\n\t\tlines.push(dim_(` from: ${result.from}`));\n\t\tlines.push(dim_(` to: ${result.to}`));\n\t\tappendEmittedExtensions();\n\t\treturn lines.join(\"\\n\");\n\t}\n\tif (result.pendingPlaceholders) {\n\t\tlines.push(`${yellow_(\"⚠\")} ${result.summary}`);\n\t\tlines.push(\"\");\n\t\tlines.push(dim_(`from: ${result.from}`));\n\t\tlines.push(dim_(`to: ${result.to}`));\n\t\tif (result.dir) lines.push(dim_(`dir: ${result.dir}`));\n\t\tlines.push(\"\");\n\t\tlines.push(\"Open migration.ts and replace each `placeholder(...)` call with your actual query.\");\n\t\tlines.push(`Then run: ${green_(`node ${result.dir ?? \"<dir>\"}/migration.ts`)}`);\n\t\tappendEmittedExtensions();\n\t\treturn lines.join(\"\\n\");\n\t}\n\tlines.push(`${green_(\"✔\")} ${result.summary}`);\n\tlines.push(\"\");\n\tif (result.operations.length > 0) {\n\t\tlines.push(dim_(\"│\"));\n\t\tfor (let i = 0; i < result.operations.length; i++) {\n\t\t\tconst op = result.operations[i];\n\t\t\tconst treeChar = i === result.operations.length - 1 ? \"└\" : \"├\";\n\t\t\tconst destructiveMarker = op.operationClass === \"destructive\" ? ` ${yellow_(\"(destructive)\")}` : \"\";\n\t\t\tlines.push(`${dim_(treeChar)}─ ${op.label}${destructiveMarker}`);\n\t\t}\n\t\tif (result.operations.some((op) => op.operationClass === \"destructive\")) {\n\t\t\tlines.push(\"\");\n\t\t\tlines.push(`${yellow_(\"⚠\")} This migration contains destructive operations that may cause data loss.`);\n\t\t}\n\t\tlines.push(\"\");\n\t}\n\tlines.push(dim_(`from: ${result.from}`));\n\tlines.push(dim_(`to: ${result.to}`));\n\tif (result.baselineDir) lines.push(dim_(`Baseline → ${result.baselineDir}`));\n\tif (result.dir) lines.push(dim_(`App space → ${result.dir}`));\n\tfor (const entry of result.emittedExtensionDirs) lines.push(dim_(`Extension space ${entry.spaceId} → migrations/${entry.spaceId}/${entry.dirName}`));\n\tlines.push(\"\");\n\tconst reviewTarget = result.baselineDir !== void 0 && result.dir !== void 0 ? `${result.baselineDir} and ${result.dir}` : result.baselineDir ?? result.dir ?? \"<dir>\";\n\tlines.push(`Next: review ${green_(reviewTarget)} if needed, then run ${green_(\"prisma-next migrate\")}.`);\n\tif (result.preview && result.preview.statements.length > 0) {\n\t\tconst allSql = result.preview.statements.every((s) => s.language === \"sql\");\n\t\tlines.push(\"\");\n\t\tlines.push(dim_(allSql ? \"DDL preview\" : \"Operation preview\"));\n\t\tlines.push(\"\");\n\t\tfor (const statement of result.preview.statements) {\n\t\t\tconst trimmed = statement.text.trim();\n\t\t\tif (!trimmed) continue;\n\t\t\tconst line = statement.language === \"sql\" && !trimmed.endsWith(\";\") ? `${trimmed};` : trimmed;\n\t\t\tlines.push(line);\n\t\t}\n\t}\n\tif (flags.verbose && result.timings) {\n\t\tlines.push(\"\");\n\t\tlines.push(dim_(`Total time: ${result.timings.total}ms`));\n\t}\n\treturn lines.join(\"\\n\");\n}\n/**\n* Resolve a migration package by **target contract hash** (`metadata.to`)\n* using exact match or prefix match.\n*\n* Note: matches `metadata.to` (the contract hash this migration produces),\n* not `metadata.migrationHash` (the package's content-addressed identity).\n* Tries exact match first, then prefix match. Returns the matched package on\n* success, or a discriminated failure indicating whether the prefix was\n* ambiguous or simply not found.\n*\n* @internal Exported for testing only.\n*/\nfunction resolveBundleByPrefix(bundles, needle) {\n\tconst exact = bundles.find((p) => p.metadata.to === needle);\n\tif (exact) return ok(exact);\n\tconst candidates = bundles.filter((p) => p.metadata.to.startsWith(needle));\n\tif (candidates.length === 1) return ok(candidates[0]);\n\tif (candidates.length > 1) return notOk({\n\t\treason: \"ambiguous\",\n\t\tcount: candidates.length\n\t});\n\treturn notOk({ reason: \"not-found\" });\n}\n//#endregion\nexport { formatMigrationPlanOutput as n, resolveBundleByPrefix as r, createMigrationPlanCommand as t };\n\n//# sourceMappingURL=migration-plan-Bz1hOTHF.mjs.map"],"mappings":"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"}