@pasosdejesus/m 0.27.2 → 0.29.0

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 (323) hide show
  1. package/README.md +2 -2
  2. package/dist/CHANGELOG.md +147 -0
  3. package/dist/compose/data.d.ts +30 -0
  4. package/dist/compose/data.d.ts.map +1 -0
  5. package/dist/compose/data.js +46 -0
  6. package/dist/compose/data.js.map +1 -0
  7. package/dist/compose/derive.d.ts +59 -0
  8. package/dist/compose/derive.d.ts.map +1 -0
  9. package/dist/compose/derive.js +143 -0
  10. package/dist/compose/derive.js.map +1 -0
  11. package/dist/compose/discover.d.ts +32 -0
  12. package/dist/compose/discover.d.ts.map +1 -0
  13. package/dist/compose/discover.js +96 -0
  14. package/dist/compose/discover.js.map +1 -0
  15. package/dist/compose/git.d.ts +31 -0
  16. package/dist/compose/git.d.ts.map +1 -0
  17. package/dist/compose/git.js +71 -0
  18. package/dist/compose/git.js.map +1 -0
  19. package/dist/compose/index.d.ts +19 -0
  20. package/dist/compose/index.d.ts.map +1 -0
  21. package/dist/compose/index.js +18 -0
  22. package/dist/compose/index.js.map +1 -0
  23. package/dist/compose/manifest.d.ts +89 -0
  24. package/dist/compose/manifest.d.ts.map +1 -0
  25. package/dist/compose/manifest.js +16 -0
  26. package/dist/compose/manifest.js.map +1 -0
  27. package/dist/compose/sync.d.ts +12 -0
  28. package/dist/compose/sync.d.ts.map +1 -0
  29. package/dist/compose/sync.js +27 -0
  30. package/dist/compose/sync.js.map +1 -0
  31. package/dist/compose/usage.d.ts +54 -0
  32. package/dist/compose/usage.d.ts.map +1 -0
  33. package/dist/compose/usage.js +167 -0
  34. package/dist/compose/usage.js.map +1 -0
  35. package/dist/compose/vendor.d.ts +68 -0
  36. package/dist/compose/vendor.d.ts.map +1 -0
  37. package/dist/compose/vendor.js +166 -0
  38. package/dist/compose/vendor.js.map +1 -0
  39. package/dist/compose/verify.d.ts +11 -0
  40. package/dist/compose/verify.d.ts.map +1 -0
  41. package/dist/compose/verify.js +74 -0
  42. package/dist/compose/verify.js.map +1 -0
  43. package/dist/e2e/env.d.ts +1 -1
  44. package/dist/e2e/env.js +3 -3
  45. package/dist/e2e/env.js.map +1 -1
  46. package/dist/e2e/local-node.js +1 -1
  47. package/dist/e2e/local-node.js.map +1 -1
  48. package/dist/e2e/wallet-mock.js +1 -1
  49. package/dist/e2e/wallet-mock.js.map +1 -1
  50. package/dist/e2e/warmup.js +1 -1
  51. package/dist/e2e/warmup.js.map +1 -1
  52. package/dist/engine.d.ts +3 -16
  53. package/dist/engine.d.ts.map +1 -1
  54. package/dist/i18n/locales/cli.d.ts.map +1 -1
  55. package/dist/i18n/locales/cli.js +20 -10
  56. package/dist/i18n/locales/cli.js.map +1 -1
  57. package/dist/m.js +15 -10
  58. package/dist/m.js.map +1 -1
  59. package/dist/shadcn_components/ui/button.d.ts +1 -1
  60. package/dist/tasks/create.d.ts +1 -1
  61. package/dist/tasks/create.d.ts.map +1 -1
  62. package/dist/tasks/create.js +5 -13
  63. package/dist/tasks/create.js.map +1 -1
  64. package/dist/tasks/db.d.ts +2 -1
  65. package/dist/tasks/db.d.ts.map +1 -1
  66. package/dist/tasks/db.js +14 -11
  67. package/dist/tasks/db.js.map +1 -1
  68. package/dist/tasks/e2e-summary.js +1 -1
  69. package/dist/tasks/e2e-summary.js.map +1 -1
  70. package/dist/tasks/e2e.js +1 -1
  71. package/dist/tasks/e2e.js.map +1 -1
  72. package/dist/tasks/engine.d.ts.map +1 -1
  73. package/dist/tasks/engine.js +436 -17
  74. package/dist/tasks/engine.js.map +1 -1
  75. package/dist/tasks/msip.d.ts +11 -0
  76. package/dist/tasks/msip.d.ts.map +1 -0
  77. package/dist/tasks/{base-model.js → msip.js} +161 -25
  78. package/dist/tasks/msip.js.map +1 -0
  79. package/dist/tasks/warmup.js +1 -1
  80. package/dist/tasks/warmup.js.map +1 -1
  81. package/dist/templates/apps/hardhat/README.md +0 -8
  82. package/dist/templates/apps/nextjs/bin/m +3 -0
  83. package/dist/templates/apps/nextjs/tests/global-setup.ts +28 -0
  84. package/dist/templates/apps/nextjs/vitest.config.ts +3 -0
  85. package/dist/test-utils/console.d.ts +1 -1
  86. package/dist/test-utils/console.js +1 -1
  87. package/dist/test-utils/kysely-mocks.d.ts +1 -1
  88. package/dist/test-utils/kysely-mocks.js +1 -1
  89. package/dist/test-utils/wallet-mocks.js +1 -1
  90. package/dist/test-utils/wallet-setup.js +1 -1
  91. package/dist/util/engines.d.ts +4 -6
  92. package/dist/util/engines.d.ts.map +1 -1
  93. package/dist/util/engines.js +5 -38
  94. package/dist/util/engines.js.map +1 -1
  95. package/dist/util/msip.d.ts +17 -0
  96. package/dist/util/msip.d.ts.map +1 -0
  97. package/dist/util/msip.js +86 -0
  98. package/dist/util/msip.js.map +1 -0
  99. package/dist/wallet/index.js +1 -1
  100. package/dist/wallet/index.js.map +1 -1
  101. package/dist/wallet/next/i18n.d.ts +1 -1
  102. package/dist/wallet/next/i18n.js +1 -1
  103. package/dist/wallet/next/index.js +1 -1
  104. package/dist/wallet/next/index.js.map +1 -1
  105. package/dist/wallet/next/namespaces.d.ts +1 -1
  106. package/dist/wallet/next/namespaces.js +1 -1
  107. package/dist/wallet/storage/idb.d.ts +1 -1
  108. package/dist/wallet/storage/idb.js +1 -1
  109. package/package.json +4 -6
  110. package/src/e2e/README.md +6 -6
  111. package/src/tasks/README.md +3 -3
  112. package/src/test-utils/README.md +2 -2
  113. package/src/wallet/README.md +4 -4
  114. package/dist/base-model/baseline.generated.d.ts +0 -48
  115. package/dist/base-model/baseline.generated.d.ts.map +0 -1
  116. package/dist/base-model/baseline.generated.js +0 -930
  117. package/dist/base-model/baseline.generated.js.map +0 -1
  118. package/dist/base-model/check.d.ts +0 -6
  119. package/dist/base-model/check.d.ts.map +0 -1
  120. package/dist/base-model/check.js +0 -195
  121. package/dist/base-model/check.js.map +0 -1
  122. package/dist/base-model/forward/baseline_1_0_0.d.ts +0 -3
  123. package/dist/base-model/forward/baseline_1_0_0.d.ts.map +0 -1
  124. package/dist/base-model/forward/baseline_1_0_0.js +0 -23
  125. package/dist/base-model/forward/baseline_1_0_0.js.map +0 -1
  126. package/dist/base-model/forward/index.d.ts +0 -28
  127. package/dist/base-model/forward/index.d.ts.map +0 -1
  128. package/dist/base-model/forward/index.js +0 -126
  129. package/dist/base-model/forward/index.js.map +0 -1
  130. package/dist/base-model/forward/index.test.d.ts +0 -2
  131. package/dist/base-model/forward/index.test.d.ts.map +0 -1
  132. package/dist/base-model/forward/index.test.js +0 -65
  133. package/dist/base-model/forward/index.test.js.map +0 -1
  134. package/dist/base-model/forward/policy.d.ts +0 -16
  135. package/dist/base-model/forward/policy.d.ts.map +0 -1
  136. package/dist/base-model/forward/policy.js +0 -37
  137. package/dist/base-model/forward/policy.js.map +0 -1
  138. package/dist/base-model/forward/policy.test.d.ts +0 -2
  139. package/dist/base-model/forward/policy.test.d.ts.map +0 -1
  140. package/dist/base-model/forward/policy.test.js +0 -40
  141. package/dist/base-model/forward/policy.test.js.map +0 -1
  142. package/dist/base-model/forward/types.d.ts +0 -21
  143. package/dist/base-model/forward/types.d.ts.map +0 -1
  144. package/dist/base-model/forward/types.js +0 -2
  145. package/dist/base-model/forward/types.js.map +0 -1
  146. package/dist/base-model/generate.d.ts +0 -42
  147. package/dist/base-model/generate.d.ts.map +0 -1
  148. package/dist/base-model/generate.js +0 -241
  149. package/dist/base-model/generate.js.map +0 -1
  150. package/dist/base-model/guidelines.d.ts +0 -13
  151. package/dist/base-model/guidelines.d.ts.map +0 -1
  152. package/dist/base-model/guidelines.js +0 -61
  153. package/dist/base-model/guidelines.js.map +0 -1
  154. package/dist/base-model/index.d.ts +0 -24
  155. package/dist/base-model/index.d.ts.map +0 -1
  156. package/dist/base-model/index.js +0 -29
  157. package/dist/base-model/index.js.map +0 -1
  158. package/dist/base-model/parse-structure.d.ts +0 -4
  159. package/dist/base-model/parse-structure.d.ts.map +0 -1
  160. package/dist/base-model/parse-structure.js +0 -170
  161. package/dist/base-model/parse-structure.js.map +0 -1
  162. package/dist/base-model/queries.d.ts +0 -34
  163. package/dist/base-model/queries.d.ts.map +0 -1
  164. package/dist/base-model/queries.js +0 -118
  165. package/dist/base-model/queries.js.map +0 -1
  166. package/dist/base-model/references/learn-tg.d.ts +0 -21
  167. package/dist/base-model/references/learn-tg.d.ts.map +0 -1
  168. package/dist/base-model/references/learn-tg.js +0 -65
  169. package/dist/base-model/references/learn-tg.js.map +0 -1
  170. package/dist/base-model/references/msip.d.ts +0 -29
  171. package/dist/base-model/references/msip.d.ts.map +0 -1
  172. package/dist/base-model/references/msip.js +0 -33
  173. package/dist/base-model/references/msip.js.map +0 -1
  174. package/dist/base-model/types.d.ts +0 -207
  175. package/dist/base-model/types.d.ts.map +0 -1
  176. package/dist/base-model/types.js +0 -10
  177. package/dist/base-model/types.js.map +0 -1
  178. package/dist/base-model/version.d.ts +0 -19
  179. package/dist/base-model/version.d.ts.map +0 -1
  180. package/dist/base-model/version.js +0 -26
  181. package/dist/base-model/version.js.map +0 -1
  182. package/dist/base-model/wallet-link.d.ts +0 -69
  183. package/dist/base-model/wallet-link.d.ts.map +0 -1
  184. package/dist/base-model/wallet-link.js +0 -220
  185. package/dist/base-model/wallet-link.js.map +0 -1
  186. package/dist/base-model/wallet-link.test.d.ts +0 -2
  187. package/dist/base-model/wallet-link.test.d.ts.map +0 -1
  188. package/dist/base-model/wallet-link.test.js +0 -147
  189. package/dist/base-model/wallet-link.test.js.map +0 -1
  190. package/dist/e2e/env.test.d.ts +0 -2
  191. package/dist/e2e/env.test.d.ts.map +0 -1
  192. package/dist/e2e/env.test.js +0 -72
  193. package/dist/e2e/env.test.js.map +0 -1
  194. package/dist/e2e/full-wallet.test.d.ts +0 -2
  195. package/dist/e2e/full-wallet.test.d.ts.map +0 -1
  196. package/dist/e2e/full-wallet.test.js +0 -63
  197. package/dist/e2e/full-wallet.test.js.map +0 -1
  198. package/dist/e2e/in-app-wallet.test.d.ts +0 -2
  199. package/dist/e2e/in-app-wallet.test.d.ts.map +0 -1
  200. package/dist/e2e/in-app-wallet.test.js +0 -52
  201. package/dist/e2e/in-app-wallet.test.js.map +0 -1
  202. package/dist/e2e/local-node.test.d.ts +0 -2
  203. package/dist/e2e/local-node.test.d.ts.map +0 -1
  204. package/dist/e2e/local-node.test.js +0 -43
  205. package/dist/e2e/local-node.test.js.map +0 -1
  206. package/dist/e2e/retry.test.d.ts +0 -2
  207. package/dist/e2e/retry.test.d.ts.map +0 -1
  208. package/dist/e2e/retry.test.js +0 -43
  209. package/dist/e2e/retry.test.js.map +0 -1
  210. package/dist/e2e/signer.test.d.ts +0 -2
  211. package/dist/e2e/signer.test.d.ts.map +0 -1
  212. package/dist/e2e/signer.test.js +0 -57
  213. package/dist/e2e/signer.test.js.map +0 -1
  214. package/dist/e2e/siwe-optional.test.d.ts +0 -2
  215. package/dist/e2e/siwe-optional.test.d.ts.map +0 -1
  216. package/dist/e2e/siwe-optional.test.js +0 -13
  217. package/dist/e2e/siwe-optional.test.js.map +0 -1
  218. package/dist/e2e/wallet-mock.test.d.ts +0 -2
  219. package/dist/e2e/wallet-mock.test.d.ts.map +0 -1
  220. package/dist/e2e/wallet-mock.test.js +0 -28
  221. package/dist/e2e/wallet-mock.test.js.map +0 -1
  222. package/dist/e2e/warmup.test.d.ts +0 -2
  223. package/dist/e2e/warmup.test.d.ts.map +0 -1
  224. package/dist/e2e/warmup.test.js +0 -67
  225. package/dist/e2e/warmup.test.js.map +0 -1
  226. package/dist/engine.test.d.ts +0 -2
  227. package/dist/engine.test.d.ts.map +0 -1
  228. package/dist/engine.test.js +0 -35
  229. package/dist/engine.test.js.map +0 -1
  230. package/dist/index.test.d.ts +0 -2
  231. package/dist/index.test.d.ts.map +0 -1
  232. package/dist/index.test.js +0 -11
  233. package/dist/index.test.js.map +0 -1
  234. package/dist/tasks/base-model.d.ts +0 -5
  235. package/dist/tasks/base-model.d.ts.map +0 -1
  236. package/dist/tasks/base-model.js.map +0 -1
  237. package/dist/tasks/create.test.d.ts +0 -2
  238. package/dist/tasks/create.test.d.ts.map +0 -1
  239. package/dist/tasks/create.test.js +0 -41
  240. package/dist/tasks/create.test.js.map +0 -1
  241. package/dist/tasks/e2e.test.d.ts +0 -2
  242. package/dist/tasks/e2e.test.d.ts.map +0 -1
  243. package/dist/tasks/e2e.test.js +0 -108
  244. package/dist/tasks/e2e.test.js.map +0 -1
  245. package/dist/tasks/update.test.d.ts +0 -2
  246. package/dist/tasks/update.test.d.ts.map +0 -1
  247. package/dist/tasks/update.test.js +0 -79
  248. package/dist/tasks/update.test.js.map +0 -1
  249. package/dist/tasks/warmup.test.d.ts +0 -2
  250. package/dist/tasks/warmup.test.d.ts.map +0 -1
  251. package/dist/tasks/warmup.test.js +0 -40
  252. package/dist/tasks/warmup.test.js.map +0 -1
  253. package/dist/templates/apps/nextjs/tests/index.test.ts +0 -7
  254. package/dist/templates/apps/nextjs/tests/test-utils.example.test.ts +0 -169
  255. package/dist/templates/apps/nextjs/tsconfig.test.json +0 -38
  256. package/dist/test-utils/console.test.d.ts +0 -2
  257. package/dist/test-utils/console.test.d.ts.map +0 -1
  258. package/dist/test-utils/console.test.js +0 -70
  259. package/dist/test-utils/console.test.js.map +0 -1
  260. package/dist/test-utils/kysely-mocks.test.d.ts +0 -2
  261. package/dist/test-utils/kysely-mocks.test.d.ts.map +0 -1
  262. package/dist/test-utils/kysely-mocks.test.js +0 -126
  263. package/dist/test-utils/kysely-mocks.test.js.map +0 -1
  264. package/dist/test-utils/wallet-mocks.test.d.ts +0 -2
  265. package/dist/test-utils/wallet-mocks.test.d.ts.map +0 -1
  266. package/dist/test-utils/wallet-mocks.test.js +0 -55
  267. package/dist/test-utils/wallet-mocks.test.js.map +0 -1
  268. package/dist/test-utils/wallet-setup.test.d.ts +0 -2
  269. package/dist/test-utils/wallet-setup.test.d.ts.map +0 -1
  270. package/dist/test-utils/wallet-setup.test.js +0 -18
  271. package/dist/test-utils/wallet-setup.test.js.map +0 -1
  272. package/dist/util/engines.test.d.ts +0 -2
  273. package/dist/util/engines.test.d.ts.map +0 -1
  274. package/dist/util/engines.test.js +0 -79
  275. package/dist/util/engines.test.js.map +0 -1
  276. package/dist/wallet/biometric.test.d.ts +0 -2
  277. package/dist/wallet/biometric.test.d.ts.map +0 -1
  278. package/dist/wallet/biometric.test.js +0 -44
  279. package/dist/wallet/biometric.test.js.map +0 -1
  280. package/dist/wallet/crypto.test.d.ts +0 -2
  281. package/dist/wallet/crypto.test.d.ts.map +0 -1
  282. package/dist/wallet/crypto.test.js +0 -34
  283. package/dist/wallet/crypto.test.js.map +0 -1
  284. package/dist/wallet/destinations.test.d.ts +0 -2
  285. package/dist/wallet/destinations.test.d.ts.map +0 -1
  286. package/dist/wallet/destinations.test.js +0 -34
  287. package/dist/wallet/destinations.test.js.map +0 -1
  288. package/dist/wallet/external-provider.test.d.ts +0 -2
  289. package/dist/wallet/external-provider.test.d.ts.map +0 -1
  290. package/dist/wallet/external-provider.test.js +0 -44
  291. package/dist/wallet/external-provider.test.js.map +0 -1
  292. package/dist/wallet/indexeddb.test.d.ts +0 -2
  293. package/dist/wallet/indexeddb.test.d.ts.map +0 -1
  294. package/dist/wallet/indexeddb.test.js +0 -28
  295. package/dist/wallet/indexeddb.test.js.map +0 -1
  296. package/dist/wallet/kdf.test.d.ts +0 -2
  297. package/dist/wallet/kdf.test.d.ts.map +0 -1
  298. package/dist/wallet/kdf.test.js +0 -54
  299. package/dist/wallet/kdf.test.js.map +0 -1
  300. package/dist/wallet/next/components.test.d.ts +0 -2
  301. package/dist/wallet/next/components.test.d.ts.map +0 -1
  302. package/dist/wallet/next/components.test.js +0 -122
  303. package/dist/wallet/next/components.test.js.map +0 -1
  304. package/dist/wallet/next/useInAppWallet.test.d.ts +0 -2
  305. package/dist/wallet/next/useInAppWallet.test.d.ts.map +0 -1
  306. package/dist/wallet/next/useInAppWallet.test.js +0 -261
  307. package/dist/wallet/next/useInAppWallet.test.js.map +0 -1
  308. package/dist/wallet/provider.test.d.ts +0 -2
  309. package/dist/wallet/provider.test.d.ts.map +0 -1
  310. package/dist/wallet/provider.test.js +0 -170
  311. package/dist/wallet/provider.test.js.map +0 -1
  312. package/dist/wallet/signer.test.d.ts +0 -2
  313. package/dist/wallet/signer.test.d.ts.map +0 -1
  314. package/dist/wallet/signer.test.js +0 -62
  315. package/dist/wallet/signer.test.js.map +0 -1
  316. package/dist/wallet/storage.test.d.ts +0 -2
  317. package/dist/wallet/storage.test.d.ts.map +0 -1
  318. package/dist/wallet/storage.test.js +0 -103
  319. package/dist/wallet/storage.test.js.map +0 -1
  320. package/dist/wallet/wallet.test.d.ts +0 -2
  321. package/dist/wallet/wallet.test.d.ts.map +0 -1
  322. package/dist/wallet/wallet.test.js +0 -150
  323. package/dist/wallet/wallet.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseline.generated.js","sourceRoot":"","sources":["../../src/base-model/baseline.generated.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { BaselineInventory, CheckReport, ParsedStructure, SqlExecutor } from './types.js';
2
- export declare function inventoryFromParsed(parsed: ParsedStructure, tables?: readonly string[], version?: string): BaselineInventory;
3
- export declare function compareInventories(expected: BaselineInventory, actual: BaselineInventory): CheckReport;
4
- export declare function inventoryFromDb(db: SqlExecutor, tables?: readonly string[], version?: string): Promise<BaselineInventory>;
5
- export declare function formatCheckReport(report: CheckReport): string;
6
- //# sourceMappingURL=check.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/base-model/check.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EAAgB,WAAW,EAA8B,eAAe,EACzF,WAAW,EACZ,MAAM,YAAY,CAAC;AAUpB,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,GAAE,SAAS,MAAM,EAAsB,EAAE,OAAO,SAAK,GAAG,iBAAiB,CAa3I;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,GAAG,WAAW,CA6FtG;AAyBD,wBAAsB,eAAe,CACnC,EAAE,EAAE,WAAW,EACf,MAAM,GAAE,SAAS,MAAM,EAAsB,EAC7C,OAAO,SAAK,GACX,OAAO,CAAC,iBAAiB,CAAC,CA2D5B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAW7D"}
@@ -1,195 +0,0 @@
1
- import { normalizeType } from './parse-structure.js';
2
- import { BASE_MODEL_TABLES } from './version.js';
3
- function canonicalConstraint(constraint) {
4
- const columns = [...constraint.columns].sort().join(',');
5
- const reference = constraint.references
6
- ? `${constraint.references.table}(${[...constraint.references.columns].sort().join(',')})`
7
- : '';
8
- return `${constraint.kind}:${columns}:${reference}`;
9
- }
10
- export function inventoryFromParsed(parsed, tables = BASE_MODEL_TABLES, version = '') {
11
- const inventory = { version, tables: {}, counts: {} };
12
- for (const table of tables) {
13
- const source = parsed.tables[table];
14
- if (!source)
15
- continue;
16
- const columns = {};
17
- for (const column of source.columns) {
18
- columns[column.name] = { ...column, type: normalizeType(column.type) };
19
- }
20
- inventory.tables[table] = { columns, constraints: source.constraints };
21
- inventory.counts[table] = source.columns.length;
22
- }
23
- return inventory;
24
- }
25
- export function compareInventories(expected, actual) {
26
- const findings = [];
27
- const tablesAbsent = [];
28
- let tablesChecked = 0;
29
- for (const [table, baseTable] of Object.entries(expected.tables)) {
30
- const liveTable = actual.tables[table];
31
- if (!liveTable) {
32
- tablesAbsent.push(table);
33
- findings.push({
34
- table,
35
- grade: 'absent',
36
- detail: `base table "${table}" is missing (apply base model ${expected.version || ''}`.trim() + ')',
37
- });
38
- continue;
39
- }
40
- tablesChecked++;
41
- for (const [columnName, baseColumn] of Object.entries(baseTable.columns)) {
42
- const liveColumn = liveTable.columns[columnName];
43
- if (!liveColumn) {
44
- findings.push({ table, column: columnName, grade: 'drift', detail: `base column "${table}.${columnName}" is missing` });
45
- continue;
46
- }
47
- const baseType = normalizeType(baseColumn.type);
48
- const liveType = normalizeType(liveColumn.type);
49
- if (baseType !== liveType) {
50
- findings.push({
51
- table,
52
- column: columnName,
53
- grade: 'drift',
54
- detail: `"${table}.${columnName}" has type "${liveType}", base declares "${baseType}"`,
55
- });
56
- }
57
- if (baseColumn.notNull && !liveColumn.notNull) {
58
- findings.push({
59
- table,
60
- column: columnName,
61
- grade: 'drift',
62
- detail: `"${table}.${columnName}" is nullable, base declares NOT NULL`,
63
- });
64
- }
65
- }
66
- const liveByCanonical = new Set(liveTable.constraints.map(canonicalConstraint));
67
- for (const constraint of baseTable.constraints) {
68
- if (constraint.kind === 'check') {
69
- if (!liveTable.constraints.some((live) => live.name === constraint.name)) {
70
- findings.push({
71
- table,
72
- constraint: constraint.name,
73
- grade: 'drift',
74
- detail: `base check "${constraint.name}" is missing`,
75
- });
76
- }
77
- continue;
78
- }
79
- if (!liveByCanonical.has(canonicalConstraint(constraint))) {
80
- findings.push({
81
- table,
82
- constraint: constraint.name,
83
- grade: 'drift',
84
- detail: `base constraint "${constraint.name}" (${constraint.kind}) is missing on "${table}"`,
85
- });
86
- }
87
- }
88
- for (const live of liveTable.constraints) {
89
- const known = baseTable.constraints.some((base) => base.name === live.name || canonicalConstraint(base) === canonicalConstraint(live));
90
- if (!known) {
91
- findings.push({ table, constraint: live.name, grade: 'extra', detail: `consumer constraint "${live.name}" (${live.kind})` });
92
- }
93
- }
94
- for (const liveColumn of Object.keys(liveTable.columns)) {
95
- if (!baseTable.columns[liveColumn]) {
96
- findings.push({ table, column: liveColumn, grade: 'extra', detail: `consumer column "${table}.${liveColumn}"` });
97
- }
98
- }
99
- }
100
- const summary = {
101
- drift: findings.filter((finding) => finding.grade === 'drift').length,
102
- absent: findings.filter((finding) => finding.grade === 'absent').length,
103
- extra: findings.filter((finding) => finding.grade === 'extra').length,
104
- };
105
- return {
106
- ok: summary.drift === 0 && summary.absent === 0,
107
- baseModelVersion: expected.version,
108
- findings,
109
- tablesChecked,
110
- tablesAbsent,
111
- summary,
112
- };
113
- }
114
- function dbType(row) {
115
- const dataType = row.data_type;
116
- if (dataType === 'character varying' || dataType === 'character') {
117
- return row.character_maximum_length === null ? dataType : `${dataType}(${row.character_maximum_length})`;
118
- }
119
- if (dataType === 'numeric') {
120
- return row.numeric_precision === null ? 'numeric' : `numeric(${row.numeric_precision},${row.numeric_scale ?? 0})`;
121
- }
122
- if (dataType.startsWith('timestamp')) {
123
- return row.datetime_precision === null || row.datetime_precision === 6
124
- ? dataType
125
- : `timestamp(${row.datetime_precision})${dataType.replace('timestamp', '')}`;
126
- }
127
- return dataType;
128
- }
129
- function sqlTableList(tables) {
130
- return tables.map((table) => `'${table.replace(/'/g, "''")}'`).join(', ');
131
- }
132
- export async function inventoryFromDb(db, tables = BASE_MODEL_TABLES, version = '') {
133
- const inventory = { version, tables: {}, counts: {} };
134
- const tableList = sqlTableList(tables);
135
- const columnsResult = await db.query(`SELECT table_name, column_name, data_type, is_nullable, column_default,
136
- character_maximum_length, datetime_precision, numeric_precision, numeric_scale, udt_name
137
- FROM information_schema.columns
138
- WHERE table_schema = 'public' AND table_name IN (${tableList})
139
- ORDER BY table_name, ordinal_position`);
140
- const constraintsResult = await db.query(`SELECT t.relname AS table_name, c.conname, c.contype::text AS contype, pg_get_constraintdef(c.oid) AS definition
141
- FROM pg_constraint c
142
- JOIN pg_class t ON t.oid = c.conrelid
143
- JOIN pg_namespace n ON n.oid = t.relnamespace
144
- WHERE n.nspname = 'public' AND t.relname IN (${tableList}) AND c.contype IN ('p','u','f','c')
145
- ORDER BY t.relname, c.conname`);
146
- const kinds = {
147
- p: 'primary-key', u: 'unique', f: 'foreign-key', c: 'check',
148
- };
149
- for (const row of columnsResult.rows) {
150
- const table = inventory.tables[row.table_name] ?? (inventory.tables[row.table_name] = {
151
- columns: {}, constraints: [],
152
- });
153
- table.columns[row.column_name] = {
154
- name: row.column_name,
155
- type: dbType(row),
156
- notNull: row.is_nullable === 'NO',
157
- default: row.column_default ?? undefined,
158
- };
159
- }
160
- for (const row of constraintsResult.rows) {
161
- const table = inventory.tables[row.table_name];
162
- if (!table)
163
- continue;
164
- const columnsMatch = row.definition.match(/\((?:[^()]|\([^()]*\))*\)/);
165
- const referencesMatch = row.definition.match(/REFERENCES\s+(?:\w+\.)?(\w+)\s*\(([^)]*)\)/);
166
- table.constraints.push({
167
- name: row.conname,
168
- kind: kinds[row.contype] ?? 'check',
169
- definition: row.definition,
170
- columns: columnsMatch ? columnsMatch[0].slice(1, -1).split(',').map((column) => column.trim()) : [],
171
- references: referencesMatch
172
- ? { table: referencesMatch[1], columns: referencesMatch[2].split(',').map((column) => column.trim()) }
173
- : undefined,
174
- });
175
- }
176
- for (const table of Object.keys(inventory.tables)) {
177
- inventory.counts[table] = Object.keys(inventory.tables[table].columns).length;
178
- }
179
- return inventory;
180
- }
181
- export function formatCheckReport(report) {
182
- const lines = [];
183
- lines.push(`Base model ${report.baseModelVersion}: ${report.ok ? 'compliant' : 'DRIFT'}`);
184
- lines.push(` tables checked: ${report.tablesChecked}`);
185
- if (report.tablesAbsent.length > 0)
186
- lines.push(` absent tables: ${report.tablesAbsent.join(', ')}`);
187
- for (const finding of report.findings.filter((entry) => entry.grade !== 'extra')) {
188
- lines.push(` [${finding.grade}] ${finding.detail}`);
189
- }
190
- const extras = report.findings.filter((entry) => entry.grade === 'extra');
191
- if (extras.length > 0)
192
- lines.push(` [extra] ${extras.length} consumer additions (not a failure)`);
193
- return lines.join('\n');
194
- }
195
- //# sourceMappingURL=check.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/base-model/check.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { BaseModelMigration } from './types.js';
2
- export declare const BASELINE_1_0_0: BaseModelMigration;
3
- //# sourceMappingURL=baseline_1_0_0.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseline_1_0_0.d.ts","sourceRoot":"","sources":["../../../src/base-model/forward/baseline_1_0_0.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAOrD,eAAO,MAAM,cAAc,EAAE,kBAO5B,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Paso 0.0.0 → 1.0.0: el baseline del modelo base.
3
- *
4
- * Es el primer paso que recibe un proyecto nuevo: en vez de que el consumidor
5
- * escriba a mano la migración del baseline (lo que los tutoriales tenían que
6
- * explicar), `base-model:setup` la genera. `down` revierte el esquema base a
7
- * vacío (drop de las tablas y la secuencia).
8
- */
9
- import { BASELINE_SQL } from '../baseline.generated.js';
10
- import { BASE_MODEL_TABLES } from '../version.js';
11
- const DOWN_SQL = [
12
- ...[...BASE_MODEL_TABLES].reverse().map((table) => `DROP TABLE IF EXISTS public.${table} CASCADE;`),
13
- 'DROP SEQUENCE IF EXISTS public.usuario_id_seq;',
14
- ].join('\n');
15
- export const BASELINE_1_0_0 = {
16
- from: '0.0.0',
17
- to: '1.0.0',
18
- slug: 'baseline',
19
- description: `Base model 1.0.0 baseline: ${BASE_MODEL_TABLES.join(', ')}`,
20
- upSql: BASELINE_SQL,
21
- downSql: DOWN_SQL,
22
- };
23
- //# sourceMappingURL=baseline_1_0_0.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseline_1_0_0.js","sourceRoot":"","sources":["../../../src/base-model/forward/baseline_1_0_0.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,MAAM,QAAQ,GAAG;IACf,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,+BAA+B,KAAK,WAAW,CAAC;IACnG,gDAAgD;CACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,IAAI,EAAE,OAAO;IACb,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,8BAA8B,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IACzE,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,QAAQ;CAClB,CAAC"}
@@ -1,28 +0,0 @@
1
- import type { BaseModelMigration } from './types.js';
2
- export type { BaseModelMigration } from './types.js';
3
- export { BASELINE_1_0_0 } from './baseline_1_0_0.js';
4
- export { checkMigrationPolicy } from './policy.js';
5
- export type { MigrationPolicyViolation } from './policy.js';
6
- /** Pasos del modelo base, en orden. */
7
- export declare const BASE_MODEL_MIGRATIONS: readonly BaseModelMigration[];
8
- /** Marcador que identifica el paso en el nombre del archivo generado. */
9
- export declare function migrationMarker(migration: BaseModelMigration): string;
10
- export interface SetupPlan {
11
- missing: BaseModelMigration[];
12
- present: BaseModelMigration[];
13
- }
14
- /**
15
- * Decide qué pasos faltan a partir de los nombres de archivo ya presentes en
16
- * `db/migrations/` (un paso está tomado si hay un archivo que lleva su marcador).
17
- */
18
- export declare function planSetup(migrations: readonly BaseModelMigration[], existingFiles: readonly string[]): SetupPlan;
19
- /**
20
- * Trocea un guion SQL en sentencias (sin `;` final), respetando cadenas con
21
- * comillas simples, cadenas con *dollar-quoting* (`$$`/`$tag$`) y comentarios
22
- * de línea (`--`) y de bloque. Postgres por el protocolo extendido no acepta
23
- * varias sentencias juntas, así que el paso las ejecuta una por una.
24
- */
25
- export declare function splitSqlStatements(sql: string): string[];
26
- /** Contenido de la migración Kysely que el consumidor aplica con `db:migrate`. */
27
- export declare function renderMigrationFile(migration: BaseModelMigration): string;
28
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base-model/forward/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,uCAAuC;AACvC,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EAAqB,CAAC;AAErF,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAErE;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,UAAU,EAAE,SAAS,kBAAkB,EAAE,EACzC,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,SAAS,CAQX;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAwDxD;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAuBzE"}
@@ -1,126 +0,0 @@
1
- /**
2
- * Pasos de migración del modelo base (m/REQ/46 D11).
3
- *
4
- * `BASE_MODEL_MIGRATIONS` está en orden (el más antiguo primero). Los helpers
5
- * `migrationMarker`/`planSetup`/`renderMigrationFile`/`splitSqlStatements` son
6
- * puros y los usa `base-model:setup`.
7
- */
8
- import { BASELINE_1_0_0 } from './baseline_1_0_0.js';
9
- export { BASELINE_1_0_0 } from './baseline_1_0_0.js';
10
- export { checkMigrationPolicy } from './policy.js';
11
- /** Pasos del modelo base, en orden. */
12
- export const BASE_MODEL_MIGRATIONS = [BASELINE_1_0_0];
13
- /** Marcador que identifica el paso en el nombre del archivo generado. */
14
- export function migrationMarker(migration) {
15
- return `base_model_${migration.from}_${migration.to}_${migration.slug}`;
16
- }
17
- /**
18
- * Decide qué pasos faltan a partir de los nombres de archivo ya presentes en
19
- * `db/migrations/` (un paso está tomado si hay un archivo que lleva su marcador).
20
- */
21
- export function planSetup(migrations, existingFiles) {
22
- const missing = [];
23
- const present = [];
24
- for (const migration of migrations) {
25
- const marker = migrationMarker(migration);
26
- (existingFiles.some((file) => file.includes(marker)) ? present : missing).push(migration);
27
- }
28
- return { missing, present };
29
- }
30
- /**
31
- * Trocea un guion SQL en sentencias (sin `;` final), respetando cadenas con
32
- * comillas simples, cadenas con *dollar-quoting* (`$$`/`$tag$`) y comentarios
33
- * de línea (`--`) y de bloque. Postgres por el protocolo extendido no acepta
34
- * varias sentencias juntas, así que el paso las ejecuta una por una.
35
- */
36
- export function splitSqlStatements(sql) {
37
- const statements = [];
38
- let current = '';
39
- let i = 0;
40
- const n = sql.length;
41
- while (i < n) {
42
- const ch = sql[i];
43
- if (ch === '-' && sql[i + 1] === '-') {
44
- const end = sql.indexOf('\n', i);
45
- const stop = end === -1 ? n : end;
46
- current += sql.slice(i, stop);
47
- i = stop;
48
- continue;
49
- }
50
- if (ch === '/' && sql[i + 1] === '*') {
51
- const end = sql.indexOf('*/', i + 2);
52
- const stop = end === -1 ? n : end + 2;
53
- current += sql.slice(i, stop);
54
- i = stop;
55
- continue;
56
- }
57
- if (ch === "'") {
58
- let j = i + 1;
59
- while (j < n) {
60
- if (sql[j] === "'" && sql[j + 1] === "'") {
61
- j += 2;
62
- continue;
63
- }
64
- if (sql[j] === "'") {
65
- j += 1;
66
- break;
67
- }
68
- j += 1;
69
- }
70
- current += sql.slice(i, j);
71
- i = j;
72
- continue;
73
- }
74
- if (ch === '$') {
75
- const match = /^\$[A-Za-z_]*\$/.exec(sql.slice(i));
76
- if (match) {
77
- const tag = match[0];
78
- const end = sql.indexOf(tag, i + tag.length);
79
- const stop = end === -1 ? n : end + tag.length;
80
- current += sql.slice(i, stop);
81
- i = stop;
82
- continue;
83
- }
84
- }
85
- if (ch === ';') {
86
- const statement = current.trim();
87
- if (statement)
88
- statements.push(statement);
89
- current = '';
90
- i += 1;
91
- continue;
92
- }
93
- current += ch;
94
- i += 1;
95
- }
96
- const last = current.trim();
97
- if (last)
98
- statements.push(last);
99
- return statements;
100
- }
101
- /** Contenido de la migración Kysely que el consumidor aplica con `db:migrate`. */
102
- export function renderMigrationFile(migration) {
103
- const up = splitSqlStatements(migration.upSql);
104
- const down = splitSqlStatements(migration.downSql);
105
- return `// Migración del modelo base ${migration.from} → ${migration.to} (${migration.slug}).
106
- // Generada por \`m base-model:setup\` (m/REQ/46 D11). No editar a mano.
107
- import { Kysely, sql } from 'kysely';
108
-
109
- const UP = ${JSON.stringify(up, null, 2)};
110
-
111
- const DOWN = ${JSON.stringify(down, null, 2)};
112
-
113
- export async function up(db: Kysely<any>): Promise<void> {
114
- for (const statement of UP) {
115
- await sql.raw(statement).execute(db);
116
- }
117
- }
118
-
119
- export async function down(db: Kysely<any>): Promise<void> {
120
- for (const statement of DOWN) {
121
- await sql.raw(statement).execute(db);
122
- }
123
- }
124
- `;
125
- }
126
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base-model/forward/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/base-model/forward/index.test.ts"],"names":[],"mappings":""}
@@ -1,65 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { BASE_MODEL_MIGRATIONS, migrationMarker, planSetup, renderMigrationFile, splitSqlStatements, } from './index.js';
3
- // m/REQ/46 D11: pasos de migración del modelo base.
4
- describe('splitSqlStatements (D11)', () => {
5
- it('splits at top-level semicolons and drops empties', () => {
6
- expect(splitSqlStatements('SELECT 1;\nSELECT 2;')).toEqual(['SELECT 1', 'SELECT 2']);
7
- expect(splitSqlStatements('SELECT 1;\n\n')).toEqual(['SELECT 1']);
8
- expect(splitSqlStatements('')).toEqual([]);
9
- });
10
- it('keeps semicolons inside single-quoted strings', () => {
11
- expect(splitSqlStatements("INSERT INTO t VALUES ('a;b'); SELECT 1;")).toEqual([
12
- "INSERT INTO t VALUES ('a;b')", 'SELECT 1',
13
- ]);
14
- });
15
- it('handles the doubled single-quote escape', () => {
16
- expect(splitSqlStatements("SELECT 'it''s; fine';")).toEqual(["SELECT 'it''s; fine'"]);
17
- });
18
- it('keeps a dollar-quoted block as one statement', () => {
19
- const sql = "DO $$ BEGIN RAISE EXCEPTION 'x; y'; END $$;\nSELECT 1;";
20
- expect(splitSqlStatements(sql)).toEqual(["DO $$ BEGIN RAISE EXCEPTION 'x; y'; END $$", 'SELECT 1']);
21
- });
22
- it('ignores semicolons in line comments', () => {
23
- expect(splitSqlStatements('SELECT 1 -- no; here\n; SELECT 2;')).toEqual(['SELECT 1 -- no; here', 'SELECT 2']);
24
- });
25
- });
26
- describe('migrationMarker / planSetup (D11)', () => {
27
- it('builds the file marker', () => {
28
- expect(migrationMarker(BASE_MODEL_MIGRATIONS[0])).toBe('base_model_0.0.0_1.0.0_baseline');
29
- });
30
- it('detects a step already present by its file name', () => {
31
- const plan = planSetup(BASE_MODEL_MIGRATIONS, ['20260101000000_base_model_0.0.0_1.0.0_baseline.ts']);
32
- expect(plan.present).toHaveLength(1);
33
- expect(plan.missing).toHaveLength(0);
34
- });
35
- it('reports the step as missing when there is no file', () => {
36
- expect(planSetup(BASE_MODEL_MIGRATIONS, []).missing).toHaveLength(1);
37
- });
38
- });
39
- describe('BASE_MODEL_MIGRATIONS (D11/D12)', () => {
40
- it('ships the 0.0.0 → 1.0.0 baseline step', () => {
41
- expect(BASE_MODEL_MIGRATIONS).toHaveLength(1);
42
- const [step] = BASE_MODEL_MIGRATIONS;
43
- expect(step.from).toBe('0.0.0');
44
- expect(step.to).toBe('1.0.0');
45
- expect(step.upSql).toContain('CREATE TABLE');
46
- expect(step.downSql).toContain('DROP TABLE');
47
- });
48
- it('every step has a non-empty downSql (D12)', () => {
49
- for (const step of BASE_MODEL_MIGRATIONS) {
50
- expect(step.downSql.trim().length).toBeGreaterThan(0);
51
- }
52
- });
53
- });
54
- describe('renderMigrationFile (D11)', () => {
55
- it('emits a Kysely migration that runs each statement', () => {
56
- const code = renderMigrationFile(BASE_MODEL_MIGRATIONS[0]);
57
- expect(code).toContain("import { Kysely, sql } from 'kysely'");
58
- expect(code).toContain('export async function up(db: Kysely<any>)');
59
- expect(code).toContain('export async function down(db: Kysely<any>)');
60
- expect(code).toContain('await sql.raw(statement).execute(db)');
61
- expect(code).toContain('const UP = [');
62
- expect(code).toContain('const DOWN = [');
63
- });
64
- });
65
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/base-model/forward/index.test.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Guard de la política de compatibilidad del modelo base (m/REQ/46 D12).
3
- *
4
- * Los cambios **restrictivos** —los que obligan al consumidor a actuar— solo se
5
- * permiten en un salto de **major**; además todo paso debe traer un `downSql`
6
- * explícito. La detección es heurística sobre el SQL (los casos inequívocos); un
7
- * cambio restrictivo que se escape debe seguir declarándose a mano.
8
- */
9
- import type { BaseModelMigration } from './types.js';
10
- export interface MigrationPolicyViolation {
11
- migration: BaseModelMigration;
12
- reason: string;
13
- }
14
- /** Devuelve las violaciones de D12 (lista vacía si todo está permitido). */
15
- export declare function checkMigrationPolicy(migrations: readonly BaseModelMigration[]): MigrationPolicyViolation[];
16
- //# sourceMappingURL=policy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/base-model/forward/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAqBD,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,SAAS,kBAAkB,EAAE,GACxC,wBAAwB,EAAE,CAkB5B"}
@@ -1,37 +0,0 @@
1
- /** Patrones que en D12 solo se permiten con un salto de major. */
2
- const RESTRICTIVE_PATTERNS = [
3
- { re: /\bDROP\s+TABLE\b/i, label: 'DROP TABLE' },
4
- { re: /\bDROP\s+COLUMN\b/i, label: 'DROP COLUMN' },
5
- { re: /\bRENAME\b/i, label: 'RENAME' },
6
- { re: /\bSET\s+NOT\s+NULL\b/i, label: 'SET NOT NULL' },
7
- { re: /\bALTER\s+COLUMN\b[^;]*\b(?:TYPE|SET\s+DATA\s+TYPE)\b/i, label: 'ALTER COLUMN … TYPE' },
8
- { re: /\bDROP\s+CONSTRAINT\b/i, label: 'DROP CONSTRAINT' },
9
- ];
10
- function major(version) {
11
- return Number.parseInt(version.split('.')[0] ?? '0', 10) || 0;
12
- }
13
- /** Quita comentarios (`-- …` y de bloque) para no confundirlos con SQL. */
14
- function stripComments(sql) {
15
- return sql.replace(/\/\*[\s\S]*?\*\//g, ' ').replace(/--[^\n]*/g, ' ');
16
- }
17
- /** Devuelve las violaciones de D12 (lista vacía si todo está permitido). */
18
- export function checkMigrationPolicy(migrations) {
19
- const violations = [];
20
- for (const migration of migrations) {
21
- if (migration.downSql.trim() === '') {
22
- violations.push({ migration, reason: 'downSql vacío: D12 exige un downSql explícito' });
23
- }
24
- const upSql = stripComments(migration.upSql);
25
- const restrictive = RESTRICTIVE_PATTERNS
26
- .filter(({ re }) => re.test(upSql))
27
- .map(({ label }) => label);
28
- if (restrictive.length > 0 && major(migration.to) <= major(migration.from)) {
29
- violations.push({
30
- migration,
31
- reason: `cambio restrictivo (${restrictive.join(', ')}) sin subir de major: ${migration.from} → ${migration.to}`,
32
- });
33
- }
34
- }
35
- return violations;
36
- }
37
- //# sourceMappingURL=policy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/base-model/forward/policy.ts"],"names":[],"mappings":"AAeA,kEAAkE;AAClE,MAAM,oBAAoB,GAAiD;IACzE,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,YAAY,EAAE;IAChD,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,EAAE;IAClD,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE;IACtC,EAAE,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,cAAc,EAAE;IACtD,EAAE,EAAE,EAAE,wDAAwD,EAAE,KAAK,EAAE,qBAAqB,EAAE;IAC9F,EAAE,EAAE,EAAE,wBAAwB,EAAE,KAAK,EAAE,iBAAiB,EAAE;CAC3D,CAAC;AAEF,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,2EAA2E;AAC3E,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACzE,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,oBAAoB,CAClC,UAAyC;IAEzC,MAAM,UAAU,GAA+B,EAAE,CAAC;IAClD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,+CAA+C,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,oBAAoB;aACrC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3E,UAAU,CAAC,IAAI,CAAC;gBACd,SAAS;gBACT,MAAM,EAAE,uBAAuB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,SAAS,CAAC,IAAI,MAAM,SAAS,CAAC,EAAE,EAAE;aACjH,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=policy.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.test.d.ts","sourceRoot":"","sources":["../../../src/base-model/forward/policy.test.ts"],"names":[],"mappings":""}