movehat 0.2.3 → 0.2.5

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 (557) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.d.ts +0 -1
  3. package/dist/cli.js +0 -1
  4. package/dist/commands/compile.d.ts +0 -1
  5. package/dist/commands/compile.js +0 -1
  6. package/dist/commands/fork/create.d.ts +1 -1
  7. package/dist/commands/fork/create.js +18 -3
  8. package/dist/commands/fork/fund.d.ts +0 -1
  9. package/dist/commands/fork/fund.js +0 -1
  10. package/dist/commands/fork/list.d.ts +0 -1
  11. package/dist/commands/fork/list.js +0 -1
  12. package/dist/commands/fork/serve.d.ts +0 -1
  13. package/dist/commands/fork/serve.js +0 -1
  14. package/dist/commands/fork/view-resource.d.ts +0 -1
  15. package/dist/commands/fork/view-resource.js +0 -1
  16. package/dist/commands/init.d.ts +0 -1
  17. package/dist/commands/init.js +0 -1
  18. package/dist/commands/run.d.ts +0 -1
  19. package/dist/commands/run.js +0 -1
  20. package/dist/commands/test-move.d.ts +0 -1
  21. package/dist/commands/test-move.js +0 -1
  22. package/dist/commands/test.d.ts +0 -1
  23. package/dist/commands/test.js +8 -1
  24. package/dist/commands/update.d.ts +0 -1
  25. package/dist/commands/update.js +0 -1
  26. package/dist/core/AccountManager.d.ts +15 -2
  27. package/dist/core/AccountManager.js +32 -20
  28. package/dist/core/Publisher.d.ts +0 -1
  29. package/dist/core/Publisher.js +0 -1
  30. package/dist/core/config.d.ts +0 -1
  31. package/dist/core/config.js +0 -1
  32. package/dist/core/contract.d.ts +0 -1
  33. package/dist/core/contract.js +0 -1
  34. package/dist/core/deployments.d.ts +0 -1
  35. package/dist/core/deployments.js +0 -1
  36. package/dist/core/movementProfile.d.ts +0 -1
  37. package/dist/core/movementProfile.js +0 -1
  38. package/dist/core/shell.d.ts +0 -1
  39. package/dist/core/shell.js +0 -1
  40. package/dist/errors.d.ts +0 -1
  41. package/dist/errors.js +0 -1
  42. package/dist/fork/api.d.ts +24 -1
  43. package/dist/fork/api.js +95 -1
  44. package/dist/fork/manager.d.ts +15 -2
  45. package/dist/fork/manager.js +20 -2
  46. package/dist/fork/server.d.ts +19 -1
  47. package/dist/fork/server.js +188 -8
  48. package/dist/fork/storage.d.ts +0 -1
  49. package/dist/fork/storage.js +50 -32
  50. package/dist/fork/test.d.ts +0 -1
  51. package/dist/fork/test.js +0 -1
  52. package/dist/harness/Harness.d.ts +0 -1
  53. package/dist/harness/Harness.js +6 -2
  54. package/dist/harness/codeObject.d.ts +0 -1
  55. package/dist/harness/codeObject.js +0 -1
  56. package/dist/harness/errors.d.ts +0 -1
  57. package/dist/harness/errors.js +0 -1
  58. package/dist/harness/index.d.ts +0 -1
  59. package/dist/harness/index.js +0 -1
  60. package/dist/harness/proxy.d.ts +12 -1
  61. package/dist/harness/proxy.js +23 -1
  62. package/dist/harness/script.d.ts +0 -1
  63. package/dist/harness/script.js +0 -1
  64. package/dist/harness/view.d.ts +0 -1
  65. package/dist/harness/view.js +0 -1
  66. package/dist/helpers/assertions.d.ts +0 -1
  67. package/dist/helpers/assertions.js +0 -1
  68. package/dist/helpers/banner.d.ts +0 -1
  69. package/dist/helpers/banner.js +0 -1
  70. package/dist/helpers/index.d.ts +0 -1
  71. package/dist/helpers/index.js +0 -1
  72. package/dist/helpers/move-tests.d.ts +0 -1
  73. package/dist/helpers/move-tests.js +0 -1
  74. package/dist/helpers/npm-registry.d.ts +0 -1
  75. package/dist/helpers/npm-registry.js +0 -1
  76. package/dist/helpers/semver-utils.d.ts +0 -1
  77. package/dist/helpers/semver-utils.js +0 -1
  78. package/dist/helpers/setup.d.ts +0 -1
  79. package/dist/helpers/setup.js +0 -1
  80. package/dist/helpers/setupLocalTesting.d.ts +2 -5
  81. package/dist/helpers/setupLocalTesting.js +2 -3
  82. package/dist/helpers/testFixtures.d.ts +0 -1
  83. package/dist/helpers/testFixtures.js +0 -1
  84. package/dist/helpers/version-check.d.ts +0 -1
  85. package/dist/helpers/version-check.js +0 -1
  86. package/dist/index.d.ts +0 -1
  87. package/dist/index.js +0 -1
  88. package/dist/node/LocalNodeManager.d.ts +1 -2
  89. package/dist/node/LocalNodeManager.js +6 -4
  90. package/dist/runtime.d.ts +0 -1
  91. package/dist/runtime.js +0 -1
  92. package/dist/types/config.d.ts +0 -1
  93. package/dist/types/config.js +0 -1
  94. package/dist/types/fork.d.ts +0 -1
  95. package/dist/types/fork.js +0 -1
  96. package/dist/types/harness.d.ts +0 -1
  97. package/dist/types/harness.js +0 -1
  98. package/dist/types/runtime.d.ts +0 -1
  99. package/dist/types/runtime.js +0 -1
  100. package/dist/ui/colors.d.ts +0 -1
  101. package/dist/ui/colors.js +0 -1
  102. package/dist/ui/formatters.d.ts +0 -1
  103. package/dist/ui/formatters.js +0 -1
  104. package/dist/ui/index.d.ts +0 -1
  105. package/dist/ui/index.js +0 -1
  106. package/dist/ui/logger.d.ts +0 -1
  107. package/dist/ui/logger.js +0 -1
  108. package/dist/ui/spinner.d.ts +0 -1
  109. package/dist/ui/spinner.js +0 -1
  110. package/dist/ui/symbols.d.ts +0 -1
  111. package/dist/ui/symbols.js +0 -1
  112. package/dist/ui/table.d.ts +0 -1
  113. package/dist/ui/table.js +0 -1
  114. package/dist/utils/address.d.ts +0 -1
  115. package/dist/utils/address.js +0 -1
  116. package/dist/utils/childProcessAdapter.d.ts +0 -1
  117. package/dist/utils/childProcessAdapter.js +46 -20
  118. package/dist/utils/movementCli.d.ts +5 -0
  119. package/dist/utils/movementCli.js +91 -0
  120. package/dist/utils/parseCliOutput.d.ts +0 -1
  121. package/dist/utils/parseCliOutput.js +0 -1
  122. package/dist/utils/redact.d.ts +3 -3
  123. package/dist/utils/redact.js +6 -5
  124. package/dist/utils/runCli.d.ts +0 -1
  125. package/dist/utils/runCli.js +10 -2
  126. package/package.json +4 -4
  127. package/dist/__tests__/deployContract.test.d.ts +0 -2
  128. package/dist/__tests__/deployContract.test.d.ts.map +0 -1
  129. package/dist/__tests__/deployContract.test.js +0 -377
  130. package/dist/__tests__/deployContract.test.js.map +0 -1
  131. package/dist/__tests__/errors.test.d.ts +0 -2
  132. package/dist/__tests__/errors.test.d.ts.map +0 -1
  133. package/dist/__tests__/errors.test.js +0 -46
  134. package/dist/__tests__/errors.test.js.map +0 -1
  135. package/dist/__tests__/exports.test.d.ts +0 -2
  136. package/dist/__tests__/exports.test.d.ts.map +0 -1
  137. package/dist/__tests__/exports.test.js +0 -30
  138. package/dist/__tests__/exports.test.js.map +0 -1
  139. package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts +0 -25
  140. package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts.map +0 -1
  141. package/dist/__tests__/fixtures/sigint-deploy-harness.js +0 -83
  142. package/dist/__tests__/fixtures/sigint-deploy-harness.js.map +0 -1
  143. package/dist/__tests__/fork/api.test.d.ts +0 -2
  144. package/dist/__tests__/fork/api.test.d.ts.map +0 -1
  145. package/dist/__tests__/fork/api.test.js +0 -115
  146. package/dist/__tests__/fork/api.test.js.map +0 -1
  147. package/dist/__tests__/fork/api.timeout.test.d.ts +0 -2
  148. package/dist/__tests__/fork/api.timeout.test.d.ts.map +0 -1
  149. package/dist/__tests__/fork/api.timeout.test.js +0 -98
  150. package/dist/__tests__/fork/api.timeout.test.js.map +0 -1
  151. package/dist/__tests__/harness/Harness.createLive.test.d.ts +0 -2
  152. package/dist/__tests__/harness/Harness.createLive.test.d.ts.map +0 -1
  153. package/dist/__tests__/harness/Harness.createLive.test.js +0 -53
  154. package/dist/__tests__/harness/Harness.createLive.test.js.map +0 -1
  155. package/dist/__tests__/harness/Harness.proxy.test.d.ts +0 -2
  156. package/dist/__tests__/harness/Harness.proxy.test.d.ts.map +0 -1
  157. package/dist/__tests__/harness/Harness.proxy.test.js +0 -89
  158. package/dist/__tests__/harness/Harness.proxy.test.js.map +0 -1
  159. package/dist/__tests__/harness/_fixture.d.ts +0 -54
  160. package/dist/__tests__/harness/_fixture.d.ts.map +0 -1
  161. package/dist/__tests__/harness/_fixture.js +0 -69
  162. package/dist/__tests__/harness/_fixture.js.map +0 -1
  163. package/dist/__tests__/harness/codeObject.deploy.test.d.ts +0 -2
  164. package/dist/__tests__/harness/codeObject.deploy.test.d.ts.map +0 -1
  165. package/dist/__tests__/harness/codeObject.deploy.test.js +0 -288
  166. package/dist/__tests__/harness/codeObject.deploy.test.js.map +0 -1
  167. package/dist/__tests__/harness/codeObject.upgrade.test.d.ts +0 -2
  168. package/dist/__tests__/harness/codeObject.upgrade.test.d.ts.map +0 -1
  169. package/dist/__tests__/harness/codeObject.upgrade.test.js +0 -138
  170. package/dist/__tests__/harness/codeObject.upgrade.test.js.map +0 -1
  171. package/dist/__tests__/harness/script.test.d.ts +0 -2
  172. package/dist/__tests__/harness/script.test.d.ts.map +0 -1
  173. package/dist/__tests__/harness/script.test.js +0 -219
  174. package/dist/__tests__/harness/script.test.js.map +0 -1
  175. package/dist/__tests__/harness/view.test.d.ts +0 -2
  176. package/dist/__tests__/harness/view.test.d.ts.map +0 -1
  177. package/dist/__tests__/harness/view.test.js +0 -92
  178. package/dist/__tests__/harness/view.test.js.map +0 -1
  179. package/dist/__tests__/runtime.test.d.ts +0 -2
  180. package/dist/__tests__/runtime.test.d.ts.map +0 -1
  181. package/dist/__tests__/runtime.test.js +0 -141
  182. package/dist/__tests__/runtime.test.js.map +0 -1
  183. package/dist/cli.d.ts.map +0 -1
  184. package/dist/cli.js.map +0 -1
  185. package/dist/commands/__tests__/compile.test.d.ts +0 -2
  186. package/dist/commands/__tests__/compile.test.d.ts.map +0 -1
  187. package/dist/commands/__tests__/compile.test.js +0 -351
  188. package/dist/commands/__tests__/compile.test.js.map +0 -1
  189. package/dist/commands/__tests__/compile.toml-mutation.test.d.ts +0 -2
  190. package/dist/commands/__tests__/compile.toml-mutation.test.d.ts.map +0 -1
  191. package/dist/commands/__tests__/compile.toml-mutation.test.js +0 -69
  192. package/dist/commands/__tests__/compile.toml-mutation.test.js.map +0 -1
  193. package/dist/commands/__tests__/init.test.d.ts +0 -2
  194. package/dist/commands/__tests__/init.test.d.ts.map +0 -1
  195. package/dist/commands/__tests__/init.test.js +0 -163
  196. package/dist/commands/__tests__/init.test.js.map +0 -1
  197. package/dist/commands/__tests__/run.test.d.ts +0 -2
  198. package/dist/commands/__tests__/run.test.d.ts.map +0 -1
  199. package/dist/commands/__tests__/run.test.js +0 -166
  200. package/dist/commands/__tests__/run.test.js.map +0 -1
  201. package/dist/commands/__tests__/test-move.test.d.ts +0 -2
  202. package/dist/commands/__tests__/test-move.test.d.ts.map +0 -1
  203. package/dist/commands/__tests__/test-move.test.js +0 -59
  204. package/dist/commands/__tests__/test-move.test.js.map +0 -1
  205. package/dist/commands/__tests__/test.test.d.ts +0 -2
  206. package/dist/commands/__tests__/test.test.d.ts.map +0 -1
  207. package/dist/commands/__tests__/test.test.js +0 -168
  208. package/dist/commands/__tests__/test.test.js.map +0 -1
  209. package/dist/commands/__tests__/update.test.d.ts +0 -2
  210. package/dist/commands/__tests__/update.test.d.ts.map +0 -1
  211. package/dist/commands/__tests__/update.test.js +0 -176
  212. package/dist/commands/__tests__/update.test.js.map +0 -1
  213. package/dist/commands/compile.d.ts.map +0 -1
  214. package/dist/commands/compile.js.map +0 -1
  215. package/dist/commands/fork/__tests__/create.test.d.ts +0 -2
  216. package/dist/commands/fork/__tests__/create.test.d.ts.map +0 -1
  217. package/dist/commands/fork/__tests__/create.test.js +0 -108
  218. package/dist/commands/fork/__tests__/create.test.js.map +0 -1
  219. package/dist/commands/fork/__tests__/fund.test.d.ts +0 -2
  220. package/dist/commands/fork/__tests__/fund.test.d.ts.map +0 -1
  221. package/dist/commands/fork/__tests__/fund.test.js +0 -72
  222. package/dist/commands/fork/__tests__/fund.test.js.map +0 -1
  223. package/dist/commands/fork/__tests__/list.test.d.ts +0 -2
  224. package/dist/commands/fork/__tests__/list.test.d.ts.map +0 -1
  225. package/dist/commands/fork/__tests__/list.test.js +0 -119
  226. package/dist/commands/fork/__tests__/list.test.js.map +0 -1
  227. package/dist/commands/fork/__tests__/serve.test.d.ts +0 -2
  228. package/dist/commands/fork/__tests__/serve.test.d.ts.map +0 -1
  229. package/dist/commands/fork/__tests__/serve.test.js +0 -97
  230. package/dist/commands/fork/__tests__/serve.test.js.map +0 -1
  231. package/dist/commands/fork/__tests__/view-resource.test.d.ts +0 -2
  232. package/dist/commands/fork/__tests__/view-resource.test.d.ts.map +0 -1
  233. package/dist/commands/fork/__tests__/view-resource.test.js +0 -77
  234. package/dist/commands/fork/__tests__/view-resource.test.js.map +0 -1
  235. package/dist/commands/fork/create.d.ts.map +0 -1
  236. package/dist/commands/fork/create.js.map +0 -1
  237. package/dist/commands/fork/fund.d.ts.map +0 -1
  238. package/dist/commands/fork/fund.js.map +0 -1
  239. package/dist/commands/fork/list.d.ts.map +0 -1
  240. package/dist/commands/fork/list.js.map +0 -1
  241. package/dist/commands/fork/serve.d.ts.map +0 -1
  242. package/dist/commands/fork/serve.js.map +0 -1
  243. package/dist/commands/fork/view-resource.d.ts.map +0 -1
  244. package/dist/commands/fork/view-resource.js.map +0 -1
  245. package/dist/commands/init.d.ts.map +0 -1
  246. package/dist/commands/init.js.map +0 -1
  247. package/dist/commands/run.d.ts.map +0 -1
  248. package/dist/commands/run.js.map +0 -1
  249. package/dist/commands/test-move.d.ts.map +0 -1
  250. package/dist/commands/test-move.js.map +0 -1
  251. package/dist/commands/test.d.ts.map +0 -1
  252. package/dist/commands/test.js.map +0 -1
  253. package/dist/commands/update.d.ts.map +0 -1
  254. package/dist/commands/update.js.map +0 -1
  255. package/dist/core/AccountManager.d.ts.map +0 -1
  256. package/dist/core/AccountManager.js.map +0 -1
  257. package/dist/core/Publisher.d.ts.map +0 -1
  258. package/dist/core/Publisher.js.map +0 -1
  259. package/dist/core/__tests__/AccountManager.global-state.test.d.ts +0 -2
  260. package/dist/core/__tests__/AccountManager.global-state.test.d.ts.map +0 -1
  261. package/dist/core/__tests__/AccountManager.global-state.test.js +0 -69
  262. package/dist/core/__tests__/AccountManager.global-state.test.js.map +0 -1
  263. package/dist/core/__tests__/AccountManager.test.d.ts +0 -2
  264. package/dist/core/__tests__/AccountManager.test.d.ts.map +0 -1
  265. package/dist/core/__tests__/AccountManager.test.js +0 -239
  266. package/dist/core/__tests__/AccountManager.test.js.map +0 -1
  267. package/dist/core/__tests__/config.test.d.ts +0 -2
  268. package/dist/core/__tests__/config.test.d.ts.map +0 -1
  269. package/dist/core/__tests__/config.test.js +0 -311
  270. package/dist/core/__tests__/config.test.js.map +0 -1
  271. package/dist/core/__tests__/deployments.test.d.ts +0 -2
  272. package/dist/core/__tests__/deployments.test.d.ts.map +0 -1
  273. package/dist/core/__tests__/deployments.test.js +0 -201
  274. package/dist/core/__tests__/deployments.test.js.map +0 -1
  275. package/dist/core/__tests__/movementProfile.test.d.ts +0 -2
  276. package/dist/core/__tests__/movementProfile.test.d.ts.map +0 -1
  277. package/dist/core/__tests__/movementProfile.test.js +0 -112
  278. package/dist/core/__tests__/movementProfile.test.js.map +0 -1
  279. package/dist/core/__tests__/shell.test.d.ts +0 -2
  280. package/dist/core/__tests__/shell.test.d.ts.map +0 -1
  281. package/dist/core/__tests__/shell.test.js +0 -107
  282. package/dist/core/__tests__/shell.test.js.map +0 -1
  283. package/dist/core/config.d.ts.map +0 -1
  284. package/dist/core/config.js.map +0 -1
  285. package/dist/core/contract.d.ts.map +0 -1
  286. package/dist/core/contract.js.map +0 -1
  287. package/dist/core/deployments.d.ts.map +0 -1
  288. package/dist/core/deployments.js.map +0 -1
  289. package/dist/core/movementProfile.d.ts.map +0 -1
  290. package/dist/core/movementProfile.js.map +0 -1
  291. package/dist/core/shell.d.ts.map +0 -1
  292. package/dist/core/shell.js.map +0 -1
  293. package/dist/errors.d.ts.map +0 -1
  294. package/dist/errors.js.map +0 -1
  295. package/dist/fork/__tests__/manager.test.d.ts +0 -2
  296. package/dist/fork/__tests__/manager.test.d.ts.map +0 -1
  297. package/dist/fork/__tests__/manager.test.js +0 -309
  298. package/dist/fork/__tests__/manager.test.js.map +0 -1
  299. package/dist/fork/__tests__/server.cors.test.d.ts +0 -2
  300. package/dist/fork/__tests__/server.cors.test.d.ts.map +0 -1
  301. package/dist/fork/__tests__/server.cors.test.js +0 -79
  302. package/dist/fork/__tests__/server.cors.test.js.map +0 -1
  303. package/dist/fork/__tests__/server.test.d.ts +0 -2
  304. package/dist/fork/__tests__/server.test.d.ts.map +0 -1
  305. package/dist/fork/__tests__/server.test.js +0 -54
  306. package/dist/fork/__tests__/server.test.js.map +0 -1
  307. package/dist/fork/__tests__/storage.test.d.ts +0 -2
  308. package/dist/fork/__tests__/storage.test.d.ts.map +0 -1
  309. package/dist/fork/__tests__/storage.test.js +0 -222
  310. package/dist/fork/__tests__/storage.test.js.map +0 -1
  311. package/dist/fork/__tests__/test.test.d.ts +0 -2
  312. package/dist/fork/__tests__/test.test.d.ts.map +0 -1
  313. package/dist/fork/__tests__/test.test.js +0 -81
  314. package/dist/fork/__tests__/test.test.js.map +0 -1
  315. package/dist/fork/api.d.ts.map +0 -1
  316. package/dist/fork/api.js.map +0 -1
  317. package/dist/fork/manager.d.ts.map +0 -1
  318. package/dist/fork/manager.js.map +0 -1
  319. package/dist/fork/server.d.ts.map +0 -1
  320. package/dist/fork/server.js.map +0 -1
  321. package/dist/fork/storage.d.ts.map +0 -1
  322. package/dist/fork/storage.js.map +0 -1
  323. package/dist/fork/test.d.ts.map +0 -1
  324. package/dist/fork/test.js.map +0 -1
  325. package/dist/harness/Harness.d.ts.map +0 -1
  326. package/dist/harness/Harness.js.map +0 -1
  327. package/dist/harness/codeObject.d.ts.map +0 -1
  328. package/dist/harness/codeObject.js.map +0 -1
  329. package/dist/harness/errors.d.ts.map +0 -1
  330. package/dist/harness/errors.js.map +0 -1
  331. package/dist/harness/index.d.ts.map +0 -1
  332. package/dist/harness/index.js.map +0 -1
  333. package/dist/harness/proxy.d.ts.map +0 -1
  334. package/dist/harness/proxy.js.map +0 -1
  335. package/dist/harness/script.d.ts.map +0 -1
  336. package/dist/harness/script.js.map +0 -1
  337. package/dist/harness/view.d.ts.map +0 -1
  338. package/dist/harness/view.js.map +0 -1
  339. package/dist/helpers/__tests__/semver-utils.test.d.ts +0 -2
  340. package/dist/helpers/__tests__/semver-utils.test.d.ts.map +0 -1
  341. package/dist/helpers/__tests__/semver-utils.test.js +0 -103
  342. package/dist/helpers/__tests__/semver-utils.test.js.map +0 -1
  343. package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.d.ts +0 -2
  344. package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.d.ts.map +0 -1
  345. package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.js +0 -172
  346. package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.js.map +0 -1
  347. package/dist/helpers/assertions.d.ts.map +0 -1
  348. package/dist/helpers/assertions.js.map +0 -1
  349. package/dist/helpers/banner.d.ts.map +0 -1
  350. package/dist/helpers/banner.js.map +0 -1
  351. package/dist/helpers/index.d.ts.map +0 -1
  352. package/dist/helpers/index.js.map +0 -1
  353. package/dist/helpers/move-tests.d.ts.map +0 -1
  354. package/dist/helpers/move-tests.js.map +0 -1
  355. package/dist/helpers/npm-registry.d.ts.map +0 -1
  356. package/dist/helpers/npm-registry.js.map +0 -1
  357. package/dist/helpers/semver-utils.d.ts.map +0 -1
  358. package/dist/helpers/semver-utils.js.map +0 -1
  359. package/dist/helpers/setup.d.ts.map +0 -1
  360. package/dist/helpers/setup.js.map +0 -1
  361. package/dist/helpers/setupLocalTesting.d.ts.map +0 -1
  362. package/dist/helpers/setupLocalTesting.js.map +0 -1
  363. package/dist/helpers/testFixtures.d.ts.map +0 -1
  364. package/dist/helpers/testFixtures.js.map +0 -1
  365. package/dist/helpers/version-check.d.ts.map +0 -1
  366. package/dist/helpers/version-check.js.map +0 -1
  367. package/dist/index.d.ts.map +0 -1
  368. package/dist/index.js.map +0 -1
  369. package/dist/node/LocalNodeManager.d.ts.map +0 -1
  370. package/dist/node/LocalNodeManager.js.map +0 -1
  371. package/dist/node/__tests__/LocalNodeManager.api-port.test.d.ts +0 -2
  372. package/dist/node/__tests__/LocalNodeManager.api-port.test.d.ts.map +0 -1
  373. package/dist/node/__tests__/LocalNodeManager.api-port.test.js +0 -55
  374. package/dist/node/__tests__/LocalNodeManager.api-port.test.js.map +0 -1
  375. package/dist/node/__tests__/LocalNodeManager.test.d.ts +0 -2
  376. package/dist/node/__tests__/LocalNodeManager.test.d.ts.map +0 -1
  377. package/dist/node/__tests__/LocalNodeManager.test.js +0 -449
  378. package/dist/node/__tests__/LocalNodeManager.test.js.map +0 -1
  379. package/dist/runtime.d.ts.map +0 -1
  380. package/dist/runtime.js.map +0 -1
  381. package/dist/types/config.d.ts.map +0 -1
  382. package/dist/types/config.js.map +0 -1
  383. package/dist/types/fork.d.ts.map +0 -1
  384. package/dist/types/fork.js.map +0 -1
  385. package/dist/types/harness.d.ts.map +0 -1
  386. package/dist/types/harness.js.map +0 -1
  387. package/dist/types/runtime.d.ts.map +0 -1
  388. package/dist/types/runtime.js.map +0 -1
  389. package/dist/ui/__tests__/colors.test.d.ts +0 -2
  390. package/dist/ui/__tests__/colors.test.d.ts.map +0 -1
  391. package/dist/ui/__tests__/colors.test.js +0 -127
  392. package/dist/ui/__tests__/colors.test.js.map +0 -1
  393. package/dist/ui/__tests__/logger.test.d.ts +0 -2
  394. package/dist/ui/__tests__/logger.test.d.ts.map +0 -1
  395. package/dist/ui/__tests__/logger.test.js +0 -75
  396. package/dist/ui/__tests__/logger.test.js.map +0 -1
  397. package/dist/ui/colors.d.ts.map +0 -1
  398. package/dist/ui/colors.js.map +0 -1
  399. package/dist/ui/formatters.d.ts.map +0 -1
  400. package/dist/ui/formatters.js.map +0 -1
  401. package/dist/ui/index.d.ts.map +0 -1
  402. package/dist/ui/index.js.map +0 -1
  403. package/dist/ui/logger.d.ts.map +0 -1
  404. package/dist/ui/logger.js.map +0 -1
  405. package/dist/ui/spinner.d.ts.map +0 -1
  406. package/dist/ui/spinner.js.map +0 -1
  407. package/dist/ui/symbols.d.ts.map +0 -1
  408. package/dist/ui/symbols.js.map +0 -1
  409. package/dist/ui/table.d.ts.map +0 -1
  410. package/dist/ui/table.js.map +0 -1
  411. package/dist/utils/__tests__/address.test.d.ts +0 -2
  412. package/dist/utils/__tests__/address.test.d.ts.map +0 -1
  413. package/dist/utils/__tests__/address.test.js +0 -70
  414. package/dist/utils/__tests__/address.test.js.map +0 -1
  415. package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.d.ts +0 -2
  416. package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.d.ts.map +0 -1
  417. package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.js +0 -43
  418. package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.js.map +0 -1
  419. package/dist/utils/__tests__/childProcessAdapter.test.d.ts +0 -2
  420. package/dist/utils/__tests__/childProcessAdapter.test.d.ts.map +0 -1
  421. package/dist/utils/__tests__/childProcessAdapter.test.js +0 -217
  422. package/dist/utils/__tests__/childProcessAdapter.test.js.map +0 -1
  423. package/dist/utils/__tests__/runCli.test.d.ts +0 -2
  424. package/dist/utils/__tests__/runCli.test.d.ts.map +0 -1
  425. package/dist/utils/__tests__/runCli.test.js +0 -187
  426. package/dist/utils/__tests__/runCli.test.js.map +0 -1
  427. package/dist/utils/address.d.ts.map +0 -1
  428. package/dist/utils/address.js.map +0 -1
  429. package/dist/utils/childProcessAdapter.d.ts.map +0 -1
  430. package/dist/utils/childProcessAdapter.js.map +0 -1
  431. package/dist/utils/parseCliOutput.d.ts.map +0 -1
  432. package/dist/utils/parseCliOutput.js.map +0 -1
  433. package/dist/utils/redact.d.ts.map +0 -1
  434. package/dist/utils/redact.js.map +0 -1
  435. package/dist/utils/runCli.d.ts.map +0 -1
  436. package/dist/utils/runCli.js.map +0 -1
  437. package/src/__tests__/deployContract.test.ts +0 -438
  438. package/src/__tests__/errors.test.ts +0 -84
  439. package/src/__tests__/exports.test.ts +0 -32
  440. package/src/__tests__/fixtures/sigint-deploy-harness.ts +0 -96
  441. package/src/__tests__/fork/api.test.ts +0 -148
  442. package/src/__tests__/fork/api.timeout.test.ts +0 -150
  443. package/src/__tests__/harness/Harness.createLive.test.ts +0 -57
  444. package/src/__tests__/harness/Harness.proxy.test.ts +0 -111
  445. package/src/__tests__/harness/_fixture.ts +0 -131
  446. package/src/__tests__/harness/codeObject.deploy.test.ts +0 -319
  447. package/src/__tests__/harness/codeObject.upgrade.test.ts +0 -156
  448. package/src/__tests__/harness/script.test.ts +0 -245
  449. package/src/__tests__/harness/view.test.ts +0 -104
  450. package/src/__tests__/runtime.test.ts +0 -182
  451. package/src/cli.ts +0 -164
  452. package/src/commands/__tests__/compile.test.ts +0 -407
  453. package/src/commands/__tests__/compile.toml-mutation.test.ts +0 -77
  454. package/src/commands/__tests__/init.test.ts +0 -210
  455. package/src/commands/__tests__/run.test.ts +0 -192
  456. package/src/commands/__tests__/test-move.test.ts +0 -81
  457. package/src/commands/__tests__/test.test.ts +0 -204
  458. package/src/commands/__tests__/update.test.ts +0 -223
  459. package/src/commands/compile.ts +0 -339
  460. package/src/commands/fork/__tests__/create.test.ts +0 -132
  461. package/src/commands/fork/__tests__/fund.test.ts +0 -104
  462. package/src/commands/fork/__tests__/list.test.ts +0 -139
  463. package/src/commands/fork/__tests__/serve.test.ts +0 -121
  464. package/src/commands/fork/__tests__/view-resource.test.ts +0 -101
  465. package/src/commands/fork/create.ts +0 -110
  466. package/src/commands/fork/fund.ts +0 -64
  467. package/src/commands/fork/list.ts +0 -98
  468. package/src/commands/fork/serve.ts +0 -80
  469. package/src/commands/fork/view-resource.ts +0 -51
  470. package/src/commands/init.ts +0 -264
  471. package/src/commands/run.ts +0 -125
  472. package/src/commands/test-move.ts +0 -27
  473. package/src/commands/test.ts +0 -255
  474. package/src/commands/update.ts +0 -201
  475. package/src/core/AccountManager.ts +0 -457
  476. package/src/core/Publisher.ts +0 -310
  477. package/src/core/__tests__/AccountManager.global-state.test.ts +0 -83
  478. package/src/core/__tests__/AccountManager.test.ts +0 -290
  479. package/src/core/__tests__/config.test.ts +0 -377
  480. package/src/core/__tests__/deployments.test.ts +0 -247
  481. package/src/core/__tests__/movementProfile.test.ts +0 -131
  482. package/src/core/__tests__/shell.test.ts +0 -138
  483. package/src/core/config.ts +0 -286
  484. package/src/core/contract.ts +0 -103
  485. package/src/core/deployments.ts +0 -155
  486. package/src/core/movementProfile.ts +0 -127
  487. package/src/core/shell.ts +0 -86
  488. package/src/errors.ts +0 -81
  489. package/src/fork/__tests__/manager.test.ts +0 -385
  490. package/src/fork/__tests__/server.cors.test.ts +0 -101
  491. package/src/fork/__tests__/server.test.ts +0 -65
  492. package/src/fork/__tests__/storage.test.ts +0 -281
  493. package/src/fork/__tests__/test.test.ts +0 -97
  494. package/src/fork/api.ts +0 -190
  495. package/src/fork/manager.ts +0 -343
  496. package/src/fork/server.ts +0 -380
  497. package/src/fork/storage.ts +0 -253
  498. package/src/fork/test.ts +0 -221
  499. package/src/harness/Harness.ts +0 -231
  500. package/src/harness/codeObject.ts +0 -381
  501. package/src/harness/errors.ts +0 -22
  502. package/src/harness/index.ts +0 -3
  503. package/src/harness/proxy.ts +0 -40
  504. package/src/harness/script.ts +0 -200
  505. package/src/harness/view.ts +0 -34
  506. package/src/helpers/__tests__/semver-utils.test.ts +0 -121
  507. package/src/helpers/__tests__/setupLocalTesting.fork-network.test.ts +0 -212
  508. package/src/helpers/assertions.ts +0 -29
  509. package/src/helpers/banner.ts +0 -63
  510. package/src/helpers/index.ts +0 -37
  511. package/src/helpers/move-tests.ts +0 -72
  512. package/src/helpers/npm-registry.ts +0 -72
  513. package/src/helpers/semver-utils.ts +0 -54
  514. package/src/helpers/setup.ts +0 -54
  515. package/src/helpers/setupLocalTesting.ts +0 -387
  516. package/src/helpers/testFixtures.ts +0 -210
  517. package/src/helpers/version-check.ts +0 -114
  518. package/src/index.ts +0 -30
  519. package/src/node/LocalNodeManager.ts +0 -383
  520. package/src/node/__tests__/LocalNodeManager.api-port.test.ts +0 -62
  521. package/src/node/__tests__/LocalNodeManager.test.ts +0 -579
  522. package/src/runtime.ts +0 -157
  523. package/src/templates/.env.example +0 -9
  524. package/src/templates/.mocharc.json +0 -8
  525. package/src/templates/.vscode/settings.json +0 -11
  526. package/src/templates/README.md +0 -146
  527. package/src/templates/gitignore +0 -22
  528. package/src/templates/move/Move.toml +0 -19
  529. package/src/templates/move/sources/Counter.move +0 -96
  530. package/src/templates/movehat.config.ts +0 -57
  531. package/src/templates/package.json +0 -27
  532. package/src/templates/scripts/deploy-counter.ts +0 -66
  533. package/src/templates/tests/Counter.test.ts +0 -113
  534. package/src/templates/tsconfig.json +0 -15
  535. package/src/templates/types/movehat.d.ts +0 -101
  536. package/src/types/config.ts +0 -83
  537. package/src/types/fork.ts +0 -47
  538. package/src/types/harness.ts +0 -182
  539. package/src/types/runtime.ts +0 -57
  540. package/src/ui/__tests__/colors.test.ts +0 -156
  541. package/src/ui/__tests__/logger.test.ts +0 -89
  542. package/src/ui/colors.ts +0 -144
  543. package/src/ui/formatters.ts +0 -246
  544. package/src/ui/index.ts +0 -62
  545. package/src/ui/logger.ts +0 -310
  546. package/src/ui/spinner.ts +0 -218
  547. package/src/ui/symbols.ts +0 -80
  548. package/src/ui/table.ts +0 -191
  549. package/src/utils/__tests__/address.test.ts +0 -93
  550. package/src/utils/__tests__/childProcessAdapter.maxBuffer.test.ts +0 -51
  551. package/src/utils/__tests__/childProcessAdapter.test.ts +0 -266
  552. package/src/utils/__tests__/runCli.test.ts +0 -240
  553. package/src/utils/address.ts +0 -52
  554. package/src/utils/childProcessAdapter.ts +0 -244
  555. package/src/utils/parseCliOutput.ts +0 -27
  556. package/src/utils/redact.ts +0 -24
  557. package/src/utils/runCli.ts +0 -64
@@ -1,121 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { isNewerVersion } from '../semver-utils.js';
3
-
4
- describe('isNewerVersion', () => {
5
- describe('standard semver comparisons', () => {
6
- it('should detect newer major version', () => {
7
- expect(isNewerVersion('1.0.0', '2.0.0')).toBe(true);
8
- expect(isNewerVersion('0.1.0', '1.0.0')).toBe(true);
9
- });
10
-
11
- it('should detect newer minor version', () => {
12
- expect(isNewerVersion('1.0.0', '1.1.0')).toBe(true);
13
- expect(isNewerVersion('1.5.0', '1.6.0')).toBe(true);
14
- });
15
-
16
- it('should detect newer patch version', () => {
17
- expect(isNewerVersion('1.0.0', '1.0.1')).toBe(true);
18
- expect(isNewerVersion('1.0.9', '1.0.10')).toBe(true);
19
- });
20
-
21
- it('should return false for same version', () => {
22
- expect(isNewerVersion('1.0.0', '1.0.0')).toBe(false);
23
- expect(isNewerVersion('2.5.3', '2.5.3')).toBe(false);
24
- });
25
-
26
- it('should return false for older versions', () => {
27
- expect(isNewerVersion('2.0.0', '1.0.0')).toBe(false);
28
- expect(isNewerVersion('1.1.0', '1.0.0')).toBe(false);
29
- expect(isNewerVersion('1.0.1', '1.0.0')).toBe(false);
30
- });
31
- });
32
-
33
- describe('variable-length version handling', () => {
34
- it('should handle two-part versions', () => {
35
- expect(isNewerVersion('1.0', '1.1')).toBe(true);
36
- expect(isNewerVersion('1.0', '2.0')).toBe(true);
37
- expect(isNewerVersion('1.1', '1.0')).toBe(false);
38
- });
39
-
40
- it('should compare versions with different lengths', () => {
41
- expect(isNewerVersion('1.0', '1.0.1')).toBe(true);
42
- expect(isNewerVersion('1.0.0', '1.1')).toBe(true);
43
- expect(isNewerVersion('1.0.1', '1.0')).toBe(false);
44
- });
45
-
46
- it('should handle four-part versions', () => {
47
- expect(isNewerVersion('1.0.0.0', '1.0.0.1')).toBe(true);
48
- expect(isNewerVersion('1.0.0.1', '1.0.0.0')).toBe(false);
49
- });
50
-
51
- it('should treat missing parts as zero', () => {
52
- expect(isNewerVersion('1.0', '1.0.0')).toBe(false);
53
- expect(isNewerVersion('1.0.0', '1.0')).toBe(false);
54
- });
55
- });
56
-
57
- describe('pre-release version handling', () => {
58
- it('should consider stable newer than pre-release with same base', () => {
59
- expect(isNewerVersion('1.0.0-alpha', '1.0.0')).toBe(true);
60
- expect(isNewerVersion('1.0.0-beta.1', '1.0.0')).toBe(true);
61
- expect(isNewerVersion('1.0.0-rc.1', '1.0.0')).toBe(true);
62
- });
63
-
64
- it('should consider pre-release older than stable with same base', () => {
65
- expect(isNewerVersion('1.0.0', '1.0.0-alpha')).toBe(false);
66
- expect(isNewerVersion('1.0.0', '1.0.0-beta.1')).toBe(false);
67
- });
68
-
69
- it('should strip pre-release tags for base comparison', () => {
70
- expect(isNewerVersion('1.0.0-alpha', '1.1.0-alpha')).toBe(true);
71
- expect(isNewerVersion('1.0.0-alpha', '2.0.0-beta')).toBe(true);
72
- });
73
-
74
- it('should handle complex pre-release tags', () => {
75
- expect(isNewerVersion('1.0.0-alpha.0', '1.0.0')).toBe(true);
76
- expect(isNewerVersion('1.0.0-beta.2.3', '1.0.0')).toBe(true);
77
- });
78
- });
79
-
80
- describe('edge cases', () => {
81
- it('should handle large version numbers', () => {
82
- expect(isNewerVersion('100.200.300', '100.200.301')).toBe(true);
83
- expect(isNewerVersion('999.999.999', '1000.0.0')).toBe(true);
84
- });
85
-
86
- it('should handle version 0.x.x correctly', () => {
87
- expect(isNewerVersion('0.0.1', '0.0.2')).toBe(true);
88
- expect(isNewerVersion('0.1.0', '0.2.0')).toBe(true);
89
- expect(isNewerVersion('0.9.9', '1.0.0')).toBe(true);
90
- });
91
-
92
- it('should throw for invalid version format', () => {
93
- expect(() => isNewerVersion('invalid', '1.0.0')).toThrow('Invalid version format');
94
- expect(() => isNewerVersion('1.0.0', 'invalid')).toThrow('Invalid version format');
95
- expect(() => isNewerVersion('1.a.0', '1.0.0')).toThrow('Invalid version format');
96
- expect(() => isNewerVersion('1..0', '1.0.0')).toThrow('Invalid version format');
97
- });
98
-
99
- it('should reject versions with unstripped "v" prefix', () => {
100
- // isNewerVersion expects pre-stripped versions; callers must remove leading "v".
101
- expect(() => isNewerVersion('v1.0.0', '1.0.0')).toThrow('Invalid version format');
102
- });
103
- });
104
-
105
- describe('real-world scenarios', () => {
106
- it('should handle npm-style version bumps', () => {
107
- // Patch bump
108
- expect(isNewerVersion('0.1.5', '0.1.6')).toBe(true);
109
- // Minor bump
110
- expect(isNewerVersion('0.1.6', '0.2.0')).toBe(true);
111
- // Major bump
112
- expect(isNewerVersion('0.9.9', '1.0.0')).toBe(true);
113
- });
114
-
115
- it('should handle movehat version progression', () => {
116
- expect(isNewerVersion('0.0.1', '0.1.0')).toBe(true);
117
- expect(isNewerVersion('0.1.0', '0.1.1')).toBe(true);
118
- expect(isNewerVersion('0.1.9', '0.1.10')).toBe(true);
119
- });
120
- });
121
- });
@@ -1,212 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
2
- import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
3
- import { tmpdir } from "node:os";
4
- import { join } from "node:path";
5
-
6
- /**
7
- * F1 — Harness.createFork(network) must honor the requested network.
8
- *
9
- * Mocks ForkManager so we can capture which RPC URL the fresh-fork
10
- * code path picks. Strategy mirrors the pattern in
11
- * src/fork/__tests__/manager.test.ts: replace the manager module with
12
- * a stub that records every call to `initialize`.
13
- *
14
- * The mock also implements `load()` + `getMetadata()` so the
15
- * "fork-exists, wrong network" case (audit-f1 follow-up) can exercise
16
- * the metadata-mismatch guard in the `else` branch of `setupWithFork`.
17
- */
18
-
19
- interface InitCall {
20
- nodeUrl: string;
21
- networkName?: string;
22
- apiKey?: string;
23
- }
24
- const initializeCalls: InitCall[] = [];
25
-
26
- vi.mock("../../fork/manager.js", async () => {
27
- const fs = await import("node:fs");
28
- return {
29
- ForkManager: class {
30
- forkPath: string;
31
- metadata: { network: string; nodeUrl: string } | null = null;
32
- constructor(forkPath: string) {
33
- this.forkPath = forkPath;
34
- }
35
- async initialize(nodeUrl: string, networkName?: string, apiKey?: string) {
36
- const entry: InitCall = { nodeUrl };
37
- if (networkName !== undefined) entry.networkName = networkName;
38
- if (apiKey !== undefined) entry.apiKey = apiKey;
39
- initializeCalls.push(entry);
40
- this.metadata = { network: networkName ?? "custom", nodeUrl };
41
- }
42
- load() {
43
- const raw = fs.readFileSync(`${this.forkPath}/metadata.json`, "utf-8");
44
- this.metadata = JSON.parse(raw);
45
- }
46
- getMetadata() {
47
- if (!this.metadata) {
48
- throw new Error("Fork not initialized");
49
- }
50
- return this.metadata;
51
- }
52
- setApiKey() {}
53
- async resetState() {}
54
- async fundAccount() {}
55
- async fundMultipleAccounts() {}
56
- },
57
- };
58
- });
59
-
60
- vi.mock("../../fork/server.js", () => {
61
- return {
62
- ForkServer: class {
63
- constructor(_p: string, _port: number) {}
64
- async start() {}
65
- async stop() {}
66
- },
67
- };
68
- });
69
-
70
- vi.mock("../../runtime.js", () => ({
71
- initRuntime: vi.fn(async () => ({})),
72
- }));
73
-
74
- vi.mock("../../core/AccountManager.js", () => {
75
- let _seq = 0;
76
- return {
77
- AccountManager: {
78
- createBatch(labels: readonly string[]) {
79
- const out: Record<string, { accountAddress: { toString(): string } }> = {};
80
- for (const l of labels) {
81
- _seq++;
82
- const addr = "0x" + _seq.toString(16).padStart(64, "0");
83
- out[l] = { accountAddress: { toString: () => addr } };
84
- }
85
- return out;
86
- },
87
- exportPrivateKeys(_labels: readonly string[]) {
88
- return { deployer: "0x" + "1".repeat(64) };
89
- },
90
- },
91
- };
92
- });
93
-
94
- // Imported after mocks so vi.hoisted ordering applies.
95
- import { setupLocalTesting } from "../setupLocalTesting.js";
96
- import { logger } from "../../ui/index.js";
97
-
98
- describe("F1 — setupLocalTesting honors forkNetwork", () => {
99
- let cwdBackup: string;
100
- let tmpRoot: string;
101
-
102
- beforeEach(() => {
103
- initializeCalls.length = 0;
104
- cwdBackup = process.cwd();
105
- tmpRoot = mkdtempSync(join(tmpdir(), "movehat-f1-"));
106
- process.chdir(tmpRoot);
107
- vi.spyOn(logger, "step").mockImplementation(() => undefined);
108
- vi.spyOn(logger, "success").mockImplementation(() => undefined);
109
- vi.spyOn(logger, "plain").mockImplementation(() => undefined);
110
- vi.spyOn(logger, "newline").mockImplementation(() => undefined);
111
- vi.spyOn(logger, "warning").mockImplementation(() => undefined);
112
- vi.spyOn(logger, "error").mockImplementation(() => undefined);
113
- });
114
-
115
- afterEach(() => {
116
- process.chdir(cwdBackup);
117
- rmSync(tmpRoot, { recursive: true, force: true });
118
- vi.restoreAllMocks();
119
- });
120
-
121
- it("uses the mainnet RPC when forkNetwork = 'mainnet'", async () => {
122
- await setupLocalTesting({
123
- mode: "fork",
124
- forkNetwork: "mainnet",
125
- accountLabels: ["deployer"],
126
- autoFund: false,
127
- });
128
-
129
- expect(initializeCalls).toHaveLength(1);
130
- const call = initializeCalls[0]!;
131
- expect(call.networkName).toBe("mainnet");
132
- expect(call.nodeUrl).not.toMatch(/testnet/i);
133
- expect(call.nodeUrl).toMatch(/mainnet/i);
134
- });
135
-
136
- it("uses the testnet RPC when forkNetwork = 'testnet'", async () => {
137
- await setupLocalTesting({
138
- mode: "fork",
139
- forkNetwork: "testnet",
140
- accountLabels: ["deployer"],
141
- autoFund: false,
142
- });
143
-
144
- expect(initializeCalls).toHaveLength(1);
145
- const call = initializeCalls[0]!;
146
- expect(call.networkName).toBe("testnet");
147
- expect(call.nodeUrl).toMatch(/testnet/i);
148
- });
149
-
150
- it("uses forkRpcUrl override when supplied for a custom network", async () => {
151
- await setupLocalTesting({
152
- mode: "fork",
153
- forkNetwork: "custom",
154
- forkRpcUrl: "https://my-custom-node.example/v1",
155
- accountLabels: ["deployer"],
156
- autoFund: false,
157
- });
158
-
159
- expect(initializeCalls).toHaveLength(1);
160
- const call = initializeCalls[0]!;
161
- expect(call.networkName).toBe("custom");
162
- expect(call.nodeUrl).toBe("https://my-custom-node.example/v1");
163
- });
164
-
165
- it("rejects a non-built-in forkNetwork when no forkRpcUrl is provided", async () => {
166
- await expect(
167
- setupLocalTesting({
168
- mode: "fork",
169
- forkNetwork: "some-unknown-network",
170
- accountLabels: ["deployer"],
171
- autoFund: false,
172
- })
173
- ).rejects.toThrow(/forkRpcUrl/i);
174
- expect(initializeCalls).toHaveLength(0);
175
- });
176
-
177
- it("rejects when an existing fork's saved network does not match the requested one (audit-f1 follow-up)", async () => {
178
- // Pre-seed `.movehat/forks/test-local/metadata.json` with the
179
- // wrong network so the `forkExists` branch fires and loads stale
180
- // metadata. Without the metadata-mismatch guard, setupLocalTesting
181
- // would silently serve a testnet snapshot while the caller thinks
182
- // it's reading mainnet.
183
- const forkDir = join(tmpRoot, ".movehat", "forks", "test-local");
184
- mkdirSync(forkDir, { recursive: true });
185
- writeFileSync(
186
- join(forkDir, "metadata.json"),
187
- JSON.stringify({
188
- network: "testnet",
189
- nodeUrl: "https://testnet.movementnetwork.xyz/v1",
190
- chainId: 250,
191
- ledgerVersion: "0",
192
- timestamp: "0",
193
- epoch: "0",
194
- blockHeight: "0",
195
- createdAt: new Date().toISOString(),
196
- }),
197
- );
198
-
199
- await expect(
200
- setupLocalTesting({
201
- mode: "fork",
202
- forkNetwork: "mainnet",
203
- accountLabels: ["deployer"],
204
- autoFund: false,
205
- })
206
- ).rejects.toThrow(/network mismatch|created for|requested/i);
207
- // Must not have re-initialized — the existing dir is what poisons
208
- // the load path, and silently reinitializing would clobber the
209
- // user's saved snapshot.
210
- expect(initializeCalls).toHaveLength(0);
211
- });
212
- });
@@ -1,29 +0,0 @@
1
- import { type TransactionResult } from "../core/contract.js";
2
-
3
- /**
4
- * Assert that a transaction was successful
5
- */
6
- export function assertTransactionSuccess(result: TransactionResult): void {
7
- if (!result.success) {
8
- throw new Error(
9
- `Transaction failed with status: ${result.vm_status}\nHash: ${result.hash}`
10
- );
11
- }
12
- }
13
-
14
- export function assertTransactionFailed(
15
- result: TransactionResult,
16
- expectedError?: string
17
- ): void {
18
- if (result.success) {
19
- throw new Error(
20
- `Transaction was expected to fail but succeeded.\nHash: ${result.hash}`
21
- );
22
- }
23
-
24
- if(expectedError && !result.vm_status.includes(expectedError)) {
25
- throw new Error(
26
- `Transaction failed with unexpected error.\nExpected to include: ${expectedError}\nActual status: ${result.vm_status}\nHash: ${result.hash}`
27
- );
28
- }
29
- }
@@ -1,63 +0,0 @@
1
- import { applyGradient, gradients, shouldUseColor, colors } from '../ui/index.js';
2
-
3
- /**
4
- * MOVEHAT ASCII art banner lines
5
- */
6
- const bannerLines = [
7
- " ███╗ ███╗ ██████╗ ██╗ ██╗███████╗██╗ ██╗ █████╗ ████████╗",
8
- " ████╗ ████║██╔═══██╗██║ ██║██╔════╝██║ ██║██╔══██╗╚══██╔══╝",
9
- " ██╔████╔██║██║ ██║██║ ██║█████╗ ███████║███████║ ██║ ",
10
- " ██║╚██╔╝██║██║ ██║╚██╗ ██╔╝██╔══╝ ██╔══██║██╔══██║ ██║ ",
11
- " ██║ ╚═╝ ██║╚██████╔╝ ╚████╔╝ ███████╗██║ ██║██║ ██║ ██║ ",
12
- " ╚═╝ ╚═╝ ╚═════╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ",
13
- ];
14
-
15
- /**
16
- * Divider line below the banner
17
- */
18
- const dividerLine = "━".repeat(68);
19
-
20
- /**
21
- * Tagline describing Movehat
22
- */
23
- const tagline = " A powerful testing framework for Move smart contracts";
24
-
25
- /**
26
- * Render the Movehat banner with gradient colors
27
- * Uses the UI module's gradient system for consistency
28
- *
29
- * @returns Formatted banner string ready for console output
30
- *
31
- * @example
32
- * const banner = renderMovehatBanner();
33
- * console.log(banner);
34
- */
35
- export const renderMovehatBanner = (): string => {
36
- if (!shouldUseColor()) {
37
- return `${bannerLines.join("\n")}\n${dividerLine}\n${tagline}`;
38
- }
39
-
40
- // Apply Movehat brand gradient to each line with varying offsets
41
- const coloredLines = bannerLines.map((line, idx) =>
42
- applyGradient(line, gradients.movehat, idx * 2)
43
- );
44
-
45
- // Apply gradient to divider line
46
- const coloredDivider = applyGradient(dividerLine, gradients.movehat, 0);
47
-
48
- // Dim the tagline for subtle appearance
49
- const coloredTagline = colors.dim(tagline);
50
-
51
- return `${coloredLines.join("\n")}\n${coloredDivider}\n${coloredTagline}`;
52
- };
53
-
54
- /**
55
- * Print the Movehat banner to console
56
- * Convenience function that renders and logs the banner
57
- *
58
- * @example
59
- * printMovehatBanner();
60
- */
61
- export const printMovehatBanner = (): void => {
62
- console.log(renderMovehatBanner());
63
- };
@@ -1,37 +0,0 @@
1
- // Re-export all helpers
2
- export { setupTestEnvironment, createTestAccount } from "./setup.js";
3
- export type { TestEnvironment } from "./setup.js";
4
- export { MoveContract, getContract } from "../core/contract.js";
5
- export type { TransactionResult } from "../core/contract.js";
6
- export {
7
- assertTransactionSuccess,
8
- assertTransactionFailed,
9
- } from "./assertions.js";
10
- export {
11
- saveDeployment,
12
- loadDeployment,
13
- getAllDeployments,
14
- getDeployedAddress,
15
- } from "../core/deployments.js";
16
- export type { DeploymentInfo } from "../core/deployments.js";
17
- export {
18
- snapshot,
19
- getForkInfo,
20
- viewForkResource,
21
- compareForkState,
22
- listSnapshots,
23
- } from "../fork/test.js";
24
- export type { SnapshotOptions, ForkInfo } from "../fork/test.js";
25
- export { AccountManager } from "../core/AccountManager.js";
26
- export type { StoredAccount } from "../core/AccountManager.js";
27
- export { LocalNodeManager } from "../node/LocalNodeManager.js";
28
- export type { LocalNodeOptions, LocalNodeInfo } from "../node/LocalNodeManager.js";
29
- export { setupLocalTesting } from "./setupLocalTesting.js";
30
- export type { LocalTestingContext } from "./setupLocalTesting.js";
31
- export {
32
- setupTestFixture,
33
- setupMinimalFixture,
34
- } from "./testFixtures.js";
35
- export type { TestFixture } from "./testFixtures.js";
36
-
37
- export type { MovehatConfig, LocalTestOptions } from "../types/config.js";
@@ -1,72 +0,0 @@
1
- import { existsSync } from "fs";
2
- import { resolve } from "path";
3
- import { loadUserConfig } from "../core/config.js";
4
- import { runCli } from "../utils/runCli.js";
5
-
6
- interface RunMoveTestsOptions {
7
- filter?: string | undefined;
8
- ignoreWarnings?: boolean | undefined;
9
- skipIfMissing?: boolean | undefined; // If true, skip gracefully when Move dir missing (for orchestrated tests)
10
- }
11
-
12
- /**
13
- * Run Move unit tests using Movement CLI
14
- * @param options Test options including filter, warnings, and skip behavior
15
- * @returns Promise that resolves when tests complete successfully
16
- */
17
- export async function runMoveTests(options: RunMoveTestsOptions = {}): Promise<void> {
18
- const userConfig = await loadUserConfig();
19
- const moveDir = resolve(process.cwd(), userConfig.moveDir || "./move");
20
-
21
- if (!existsSync(moveDir)) {
22
- if (options.skipIfMissing) {
23
- console.log("⊘ No Move directory found (./move not found)");
24
- console.log(" Skipping Move tests...\n");
25
- return;
26
- } else {
27
- throw new Error(
28
- `Move directory not found: ${moveDir}\n` +
29
- ` Update movehat.config.ts -> moveDir`
30
- );
31
- }
32
- }
33
-
34
- const args = ["move", "test", "--package-dir", moveDir];
35
-
36
- // Add dev flag for auto-detected addresses
37
- args.push("--dev");
38
-
39
- if (options.filter) {
40
- args.push("--filter", options.filter);
41
- }
42
-
43
- if (options.ignoreWarnings) {
44
- args.push("--ignore-compile-warnings");
45
- }
46
-
47
- let result;
48
- try {
49
- result = await runCli(
50
- {
51
- command: "movement",
52
- args,
53
- cwd: process.cwd(),
54
- inheritStdio: true,
55
- },
56
- { throwOnNonZeroExit: false }
57
- );
58
- } catch (error) {
59
- // Spawn-time failure (ENOENT, etc.). The original code logged a
60
- // Movement-CLI-install hint here; keep that.
61
- console.error(`Failed to run Move tests: ${(error as Error).message}`);
62
- console.error(" Make sure Movement CLI is installed");
63
- throw error;
64
- }
65
-
66
- if (result.exitCode === 0) {
67
- console.log("\n✓ Move tests passed");
68
- return;
69
- }
70
-
71
- throw new Error("Move tests failed");
72
- }
@@ -1,72 +0,0 @@
1
- export interface NpmRegistryResponse {
2
- "dist-tags": {
3
- latest: string;
4
- [tag: string]: string;
5
- };
6
- versions: Record<string, unknown>;
7
- }
8
-
9
- export interface FetchOptions {
10
- timeout?: number; // Timeout in milliseconds
11
- throwOnError?: boolean; // If true, throw errors; if false, return null on error
12
- }
13
-
14
- /**
15
- * Fetch latest version from npm registry
16
- * @param packageName - The npm package name
17
- * @param options - Fetch options (timeout, error handling)
18
- * @returns Latest version string, or null if failed and throwOnError is false
19
- */
20
- export async function fetchLatestVersion(
21
- packageName: string,
22
- options: FetchOptions = {}
23
- ): Promise<string | null> {
24
- const { timeout = 0, throwOnError = false } = options;
25
-
26
- try {
27
- const controller = timeout > 0 ? new AbortController() : undefined;
28
- const timeoutId = timeout > 0 && controller
29
- ? setTimeout(() => controller.abort(), timeout)
30
- : undefined;
31
-
32
- const response = await fetch(
33
- `https://registry.npmjs.org/${packageName}`,
34
- controller ? { signal: controller.signal } : {}
35
- );
36
-
37
- if (timeoutId) clearTimeout(timeoutId);
38
-
39
- if (!response.ok) {
40
- const error = new Error(`Failed to fetch package info: ${response.statusText}`);
41
- if (throwOnError) throw error;
42
- return null;
43
- }
44
-
45
- const data = (await response.json()) as NpmRegistryResponse;
46
-
47
- // Defensive validation of registry response structure
48
- if (
49
- !data ||
50
- typeof data !== "object" ||
51
- !data["dist-tags"] ||
52
- typeof data["dist-tags"] !== "object" ||
53
- typeof data["dist-tags"].latest !== "string"
54
- ) {
55
- const error = new Error(
56
- `Invalid npm registry response: missing or malformed "dist-tags.latest" field`
57
- );
58
- if (throwOnError) throw error;
59
- return null;
60
- }
61
-
62
- return data["dist-tags"].latest;
63
- } catch (error) {
64
- if (throwOnError) {
65
- throw new Error(
66
- `Failed to check for updates: ${error instanceof Error ? error.message : String(error)}`
67
- );
68
- }
69
- // Silently fail - don't interrupt user's workflow
70
- return null;
71
- }
72
- }
@@ -1,54 +0,0 @@
1
- /**
2
- * Compare two semver versions
3
- * Returns true if newVersion > currentVersion
4
- * Handles variable-length versions (1.2, 1.2.3, 1.2.3.4, etc.)
5
- */
6
- export function isNewerVersion(currentVersion: string, newVersion: string): boolean {
7
- // Remove any pre-release tags (e.g., -alpha.0, -beta.1).
8
- // String.split always returns ≥1 element; `?? ""` is a no-op narrowing.
9
- const cleanCurrent = currentVersion.split("-")[0] ?? "";
10
- const cleanNew = newVersion.split("-")[0] ?? "";
11
-
12
- // Split and validate numeric parts
13
- const currentParts = cleanCurrent.split(".").map((part) => {
14
- const num = Number(part);
15
- if (isNaN(num) || !part.trim()) {
16
- throw new Error(`Invalid version format: ${currentVersion}`);
17
- }
18
- return num;
19
- });
20
-
21
- const newerParts = cleanNew.split(".").map((part) => {
22
- const num = Number(part);
23
- if (isNaN(num) || !part.trim()) {
24
- throw new Error(`Invalid version format: ${newVersion}`);
25
- }
26
- return num;
27
- });
28
-
29
- // Compare up to the maximum length, treating missing parts as 0
30
- const maxLength = Math.max(currentParts.length, newerParts.length);
31
-
32
- for (let i = 0; i < maxLength; i++) {
33
- const currentPart = currentParts[i] || 0;
34
- const newerPart = newerParts[i] || 0;
35
-
36
- if (newerPart > currentPart) return true;
37
- if (newerPart < currentPart) return false;
38
- }
39
-
40
- // If base versions are equal, check pre-release tags
41
- // A version with no pre-release tag is considered newer than one with a tag
42
- const currentHasPrerelease = currentVersion.includes("-");
43
- const newHasPrerelease = newVersion.includes("-");
44
-
45
- if (!currentHasPrerelease && newHasPrerelease) {
46
- return false; // Current stable is newer than new pre-release
47
- }
48
-
49
- if (currentHasPrerelease && !newHasPrerelease) {
50
- return true; // New stable is newer than current pre-release
51
- }
52
-
53
- return false;
54
- }