movehat 0.2.4 → 0.2.6

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 +17 -1
  19. package/dist/commands/run.js +46 -33
  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 +109 -28
  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 +14 -1
  45. package/dist/fork/manager.js +19 -1
  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 +0 -1
  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 +0 -1
  89. package/dist/node/LocalNodeManager.js +4 -2
  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 +6 -4
  121. package/dist/utils/parseCliOutput.js +10 -6
  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,155 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
2
- import { join } from "path";
3
- import { logger } from "../ui/index.js";
4
-
5
- export interface DeploymentInfo {
6
- address: string;
7
- moduleName: string;
8
- network: string;
9
- deployer: string;
10
- timestamp: number;
11
- txHash?: string | undefined;
12
- blockNumber?: string | undefined;
13
- }
14
-
15
- /**
16
- * Validates that a name is safe for use in file paths
17
- * Only allows alphanumeric characters, hyphens, and underscores
18
- * Prevents path traversal attacks
19
- */
20
- export function validateSafeName(name: string, type: "network" | "module"): void {
21
- if (!name || typeof name !== "string") {
22
- throw new Error(`Invalid ${type} name: must be a non-empty string`);
23
- }
24
-
25
- // Check for path traversal sequences
26
- if (name.includes("..") || name.includes("/") || name.includes("\\")) {
27
- throw new Error(
28
- `Invalid ${type} name: "${name}"\n` +
29
- `Path traversal sequences are not allowed.\n` +
30
- `Use only alphanumeric characters, hyphens, and underscores.`
31
- );
32
- }
33
-
34
- // Reject hidden-file names first so the error message is specific
35
- // (otherwise the alphanumeric check below would fire generically).
36
- if (name.startsWith(".")) {
37
- throw new Error(
38
- `Invalid ${type} name: "${name}"\n` +
39
- `Names cannot start with a dot (.) to prevent hidden file creation.`
40
- );
41
- }
42
-
43
- // Only allow alphanumeric, hyphens, underscores
44
- const safePattern = /^[a-zA-Z0-9_-]+$/;
45
- if (!safePattern.test(name)) {
46
- throw new Error(
47
- `Invalid ${type} name: "${name}"\n` +
48
- `Only alphanumeric characters, hyphens (-), and underscores (_) are allowed.`
49
- );
50
- }
51
- }
52
-
53
- function getDeploymentsDir(): string {
54
- return join(process.cwd(), "deployments");
55
- }
56
-
57
- function getNetworkDeploymentsDir(network: string): string {
58
- // Validate network name to prevent path traversal
59
- validateSafeName(network, "network");
60
-
61
- const deploymentsDir = getDeploymentsDir();
62
- const networkDir = join(deploymentsDir, network);
63
-
64
- // Create directories if they don't exist
65
- if (!existsSync(deploymentsDir)) {
66
- mkdirSync(deploymentsDir, { recursive: true });
67
- }
68
- if (!existsSync(networkDir)) {
69
- mkdirSync(networkDir, { recursive: true });
70
- }
71
-
72
- return networkDir;
73
- }
74
-
75
- export function saveDeployment(deployment: DeploymentInfo): void {
76
- // Validate both network and module name
77
- validateSafeName(deployment.network, "network");
78
- validateSafeName(deployment.moduleName, "module");
79
-
80
- const networkDir = getNetworkDeploymentsDir(deployment.network);
81
- const filePath = join(networkDir, `${deployment.moduleName}.json`);
82
-
83
- try {
84
- writeFileSync(filePath, JSON.stringify(deployment, null, 2), "utf-8");
85
- logger.success(
86
- `Deployment saved: deployments/${deployment.network}/${deployment.moduleName}.json`
87
- );
88
- } catch (error) {
89
- const msg = error instanceof Error ? error.message : String(error);
90
- logger.error(
91
- `Failed to save deployment for ${deployment.moduleName} on ${deployment.network} at ${filePath}: ${msg}`
92
- );
93
- throw error;
94
- }
95
- }
96
-
97
- export function loadDeployment(network: string, moduleName: string): DeploymentInfo | null {
98
- // Validate both network and module name
99
- validateSafeName(network, "network");
100
- validateSafeName(moduleName, "module");
101
-
102
- const networkDir = getNetworkDeploymentsDir(network);
103
- const filePath = join(networkDir, `${moduleName}.json`);
104
-
105
- if (!existsSync(filePath)) {
106
- return null;
107
- }
108
-
109
- try {
110
- const content = readFileSync(filePath, "utf-8");
111
- return JSON.parse(content) as DeploymentInfo;
112
- } catch (error) {
113
- const msg = error instanceof Error ? error.message : String(error);
114
- logger.error(`Failed to load deployment for ${moduleName} on ${network}: ${msg}`);
115
- return null;
116
- }
117
- }
118
-
119
- /**
120
- * Get all deployments for a network
121
- */
122
- export function getAllDeployments(network: string): Record<string, DeploymentInfo> {
123
- // Validate network name
124
- validateSafeName(network, "network");
125
-
126
- const networkDir = getNetworkDeploymentsDir(network);
127
-
128
- if (!existsSync(networkDir)) {
129
- return {};
130
- }
131
-
132
- const files = readdirSync(networkDir).filter((f: string) => f.endsWith(".json"));
133
-
134
- const deployments: Record<string, DeploymentInfo> = {};
135
-
136
- for (const file of files) {
137
- const moduleName = file.replace(".json", "");
138
- // loadDeployment will validate moduleName internally
139
- const deployment = loadDeployment(network, moduleName);
140
- if (deployment) {
141
- deployments[moduleName] = deployment;
142
- }
143
- }
144
-
145
- return deployments;
146
- }
147
-
148
- /**
149
- * Get deployed address for a module
150
- */
151
- export function getDeployedAddress(network: string, moduleName: string): string | null {
152
- // Validation happens in loadDeployment
153
- const deployment = loadDeployment(network, moduleName);
154
- return deployment ? deployment.address : null;
155
- }
@@ -1,127 +0,0 @@
1
- import { chmodSync, existsSync, unlinkSync, writeFileSync } from "fs";
2
- import { tmpdir } from "os";
3
- import { join } from "path";
4
- import { randomUUID } from "crypto";
5
-
6
- /**
7
- * Per-deploy private-key file management and SIGINT/SIGTERM cleanup
8
- * infrastructure shared across the Movement CLI invocations (`move
9
- * publish`, `move deploy-object`, `move upgrade-object`, `move
10
- * run-script`).
11
- *
12
- * **Why a temp key file rather than the CLI's profile yaml?** The
13
- * Movement CLI's `--profile <name>` flag requires a config.yaml to
14
- * exist in the working directory (older Movement CLI variants look
15
- * for `<cwd>/.aptos/config.yaml`; newer variants look for
16
- * `<cwd>/.movement/config.yaml`). On fresh user installs neither
17
- * directory exists, and the CLI errors out before it would otherwise
18
- * fall back to `~/.aptos/config.yaml`. Writing to a temp file and
19
- * passing `--private-key-file <path> --sender-account <addr>`
20
- * directly avoids the entire profile-yaml lookup chain — no CWD
21
- * dependency, no CLI-variant dependency.
22
- *
23
- * The same SIGINT-safe cleanup pattern applies as the old profile
24
- * flow: the temp key file persists private key material on disk and
25
- * MUST be removed before process exit even on abnormal termination.
26
- *
27
- * @internal — not exported from `src/index.ts`.
28
- */
29
-
30
- /**
31
- * Write the private key to a `mode 0o600` file in the system temp
32
- * directory and return the path. The filename is UUID-suffixed so
33
- * concurrent deploys don't collide.
34
- *
35
- * The key string is written verbatim — callers should format to
36
- * AIP-80 before calling (see `PrivateKey.formatPrivateKey` from
37
- * `@aptos-labs/ts-sdk`).
38
- */
39
- export function writeTempKeyFile(privateKey: string): string {
40
- const path = join(tmpdir(), `movehat-key-${randomUUID()}`);
41
- // mode in the open() call may be filtered by the process umask
42
- // (typically 0o022 → resulting perms 0o644). chmod after write
43
- // is defense in depth so the file can never be observable as
44
- // group-/world-readable while it carries the private key.
45
- writeFileSync(path, privateKey, { mode: 0o600 });
46
- chmodSync(path, 0o600);
47
- return path;
48
- }
49
-
50
- /**
51
- * Sync unlink for SIGINT/SIGTERM handlers — never throws, never logs.
52
- * The event loop is dead by the time this runs; observability isn't
53
- * possible. Worst case: a stale 0o600 temp file in `os.tmpdir()`
54
- * that the OS reaps eventually.
55
- *
56
- * **Do not use this from a normal `finally` cleanup path** — failures
57
- * become invisible there, hiding the case where a private-key temp
58
- * file persists on disk after a deploy. Use {@link removeKeyFile}
59
- * instead for those paths.
60
- */
61
- export function removeKeyFileSyncBestEffort(path: string): void {
62
- try {
63
- unlinkSync(path);
64
- } catch {
65
- // event loop dead — best-effort
66
- }
67
- }
68
-
69
- /**
70
- * Sync unlink for the normal cleanup path (a `finally` block after the
71
- * Movement CLI invocation returns). Returns `null` on success — either
72
- * the file was removed, or it was already gone (ENOENT is treated as
73
- * benign success). Returns an `Error` only when the file **still
74
- * exists on disk** after the unlink attempt failed (EPERM, EACCES,
75
- * EBUSY, EISDIR if the path collided with a directory, etc.).
76
- *
77
- * Callers SHOULD `logger.warning` when a non-null Error is returned —
78
- * a private-key temp file would otherwise persist silently.
79
- */
80
- export function removeKeyFile(path: string): Error | null {
81
- try {
82
- unlinkSync(path);
83
- return null;
84
- } catch (err) {
85
- const code = (err as NodeJS.ErrnoException).code;
86
- if (code === "ENOENT") return null;
87
- // The unlink call failed but verify the file actually still exists
88
- // before declaring this preocupante — some races (parallel cleanup,
89
- // tmpdir reaper) can race with us and the file may already be gone
90
- // despite the syscall reporting an unexpected error.
91
- if (!existsSync(path)) return null;
92
- return err instanceof Error ? err : new Error(String(err));
93
- }
94
- }
95
-
96
- /**
97
- * Process-level signal handling. A single registered handler iterates
98
- * the per-deploy cleanup callbacks. Installed once per process because
99
- * multiple concurrent deploys share the same parent — installing per
100
- * deploy would re-add the listener and exceed Node's max-listeners
101
- * warning threshold under heavy parallelism.
102
- */
103
- export const cleanupCallbacks = new Set<() => void>();
104
- let signalHandlerInstalled = false;
105
-
106
- export function ensureSignalHandler(): void {
107
- if (signalHandlerInstalled) return;
108
- signalHandlerInstalled = true;
109
- const handler = (sig: NodeJS.Signals) => {
110
- // Synchronous cleanup of every active deploy's resources.
111
- for (const cb of [...cleanupCallbacks]) {
112
- try {
113
- cb();
114
- } catch {
115
- /* sync best-effort */
116
- }
117
- }
118
- // Defer the actual exit one tick so other listeners (vitest's own
119
- // SIGINT handler, app-level shutdown hooks) still get to run.
120
- // Without this we'd stomp on vitest's afterEach if a dev Ctrl+C'd
121
- // a test run mid-suite.
122
- const code = sig === "SIGTERM" ? 143 : 130;
123
- setImmediate(() => process.exit(code));
124
- };
125
- process.on("SIGINT", handler);
126
- process.on("SIGTERM", handler);
127
- }
package/src/core/shell.ts DELETED
@@ -1,86 +0,0 @@
1
- /**
2
- * Escapes a shell argument to prevent command injection
3
- * Wraps the argument in single quotes and escapes any single quotes within
4
- *
5
- * @param arg - The argument to escape
6
- * @returns The escaped argument safe for shell execution
7
- */
8
- export function escapeShellArg(arg: string): string {
9
- if (typeof arg !== "string") {
10
- throw new Error("Shell argument must be a string");
11
- }
12
-
13
- // Wrap in single quotes and escape any single quotes by replacing them with '\''
14
- // This technique works on both Unix and Windows (Git Bash, WSL)
15
- return `'${arg.replace(/'/g, "'\\''")}'`;
16
- }
17
-
18
- /**
19
- * Validates that a path is safe (no command injection characters) and
20
- * returns it unchanged. Use this for callers that pass paths to spawn-with-
21
- * args (no shell), where shell quoting would be incorrect.
22
- *
23
- * @param path - The path to validate
24
- * @param name - Name for error messages (e.g., "package directory")
25
- * @returns The original path, after validation
26
- */
27
- export function validatePathSafety(path: string, name: string = "path"): string {
28
- if (!path || typeof path !== "string") {
29
- throw new Error(`Invalid ${name}: must be a non-empty string`);
30
- }
31
-
32
- // Check for obvious command injection attempts.
33
- const dangerousChars = /[;&|`$(){}[\]<>]/;
34
- if (dangerousChars.test(path)) {
35
- throw new Error(
36
- `Invalid ${name}: "${path}"\n` +
37
- `Path contains potentially dangerous characters.\n` +
38
- `Allowed characters: letters, numbers, ., -, _, /, \\, spaces`
39
- );
40
- }
41
-
42
- return path;
43
- }
44
-
45
- /**
46
- * Validates a path and returns the shell-escaped form. Wraps
47
- * `validatePathSafety` for callers that pass paths into shell-style
48
- * commands (e.g. `exec`).
49
- *
50
- * @param path - The path to validate and escape
51
- * @param name - Name for error messages
52
- * @returns The escaped path safe for shell execution
53
- */
54
- export function validateAndEscapePath(path: string, name: string = "path"): string {
55
- return escapeShellArg(validatePathSafety(path, name));
56
- }
57
-
58
- /**
59
- * Validates that a profile name is safe and returns it unchanged. Mirrors
60
- * `validatePathSafety` — use this for callers that pass the profile to
61
- * spawn-with-args (no shell), where shell quoting would be incorrect.
62
- */
63
- export function validateProfileSafety(profile: string): string {
64
- if (!profile || typeof profile !== "string") {
65
- throw new Error("Invalid profile name: must be a non-empty string");
66
- }
67
-
68
- const safePattern = /^[a-zA-Z0-9_-]+$/;
69
- if (!safePattern.test(profile)) {
70
- throw new Error(
71
- `Invalid profile name: "${profile}"\n` +
72
- `Only alphanumeric characters, hyphens (-), and underscores (_) are allowed.`
73
- );
74
- }
75
-
76
- return profile;
77
- }
78
-
79
- /**
80
- * Validates a profile and returns the shell-escaped form. Wraps
81
- * `validateProfileSafety` for callers that pass the profile into shell-style
82
- * commands (e.g. `exec`).
83
- */
84
- export function validateAndEscapeProfile(profile: string): string {
85
- return escapeShellArg(validateProfileSafety(profile));
86
- }
package/src/errors.ts DELETED
@@ -1,81 +0,0 @@
1
- /**
2
- * Custom error thrown when attempting to deploy a module that is already deployed
3
- */
4
- export class ModuleAlreadyDeployedError extends Error {
5
- constructor(
6
- message: string,
7
- public readonly moduleName: string,
8
- public readonly network: string,
9
- public readonly address: string,
10
- public readonly timestamp: number,
11
- public readonly txHash?: string
12
- ) {
13
- super(message);
14
- this.name = 'ModuleAlreadyDeployedError';
15
-
16
- // Maintains proper stack trace for where our error was thrown (only available on V8)
17
- if (Error.captureStackTrace) {
18
- Error.captureStackTrace(this, ModuleAlreadyDeployedError);
19
- }
20
- }
21
- }
22
-
23
- import { redactSecrets } from './utils/redact.js';
24
- import type { DeploymentInfo } from './core/deployments.js';
25
-
26
- /**
27
- * Thrown when the on-chain publish succeeded but a subsequent local
28
- * step (saveDeployment, profile cleanup, etc.) failed.
29
- *
30
- * Distinct from `CliExecutionError`: by the time this error fires, the
31
- * module IS deployed on-chain. Callers that want to recover can read
32
- * `deployment` and re-attempt the local-side persistence manually
33
- * (e.g. write the JSON to `deployments/{network}/{moduleName}.json`).
34
- *
35
- * Without this distinction, the same outer catch would surface a
36
- * post-publish filesystem failure as "Failed to publish module",
37
- * inviting an accidental redeploy that wastes gas.
38
- */
39
- export class PostPublishError extends Error {
40
- constructor(
41
- message: string,
42
- public readonly deployment: DeploymentInfo,
43
- public readonly cause: Error
44
- ) {
45
- super(message);
46
- this.name = 'PostPublishError';
47
-
48
- if (Error.captureStackTrace) {
49
- Error.captureStackTrace(this, PostPublishError);
50
- }
51
- }
52
- }
53
-
54
- /**
55
- * Thrown by runCli when a spawned process exits with a non-zero status.
56
- *
57
- * `stderr`, `stdoutPreview`, and each entry in `args` are redacted of
58
- * well-known secret shapes (private keys, etc.) in the constructor, so the
59
- * error is safe to log regardless of how it was raised. Redaction is
60
- * idempotent.
61
- */
62
- export class CliExecutionError extends Error {
63
- public readonly args: readonly string[];
64
-
65
- constructor(
66
- message: string,
67
- public readonly command: string,
68
- args: readonly string[],
69
- public readonly exitCode: number,
70
- public readonly stderr: string,
71
- public readonly stdoutPreview: string
72
- ) {
73
- super(message);
74
- this.name = 'CliExecutionError';
75
- this.args = args.map(redactSecrets);
76
-
77
- if (Error.captureStackTrace) {
78
- Error.captureStackTrace(this, CliExecutionError);
79
- }
80
- }
81
- }