movehat 0.2.1 → 0.2.3

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 (176) hide show
  1. package/dist/__tests__/deployContract.test.js +56 -47
  2. package/dist/__tests__/deployContract.test.js.map +1 -1
  3. package/dist/__tests__/exports.test.d.ts +2 -0
  4. package/dist/__tests__/exports.test.d.ts.map +1 -0
  5. package/dist/__tests__/exports.test.js +30 -0
  6. package/dist/__tests__/exports.test.js.map +1 -0
  7. package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts +4 -3
  8. package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts.map +1 -1
  9. package/dist/__tests__/fixtures/sigint-deploy-harness.js +8 -7
  10. package/dist/__tests__/fixtures/sigint-deploy-harness.js.map +1 -1
  11. package/dist/__tests__/fork/api.test.js +5 -0
  12. package/dist/__tests__/fork/api.test.js.map +1 -1
  13. package/dist/__tests__/fork/api.timeout.test.d.ts +2 -0
  14. package/dist/__tests__/fork/api.timeout.test.d.ts.map +1 -0
  15. package/dist/__tests__/fork/api.timeout.test.js +98 -0
  16. package/dist/__tests__/fork/api.timeout.test.js.map +1 -0
  17. package/dist/cli.js +4 -0
  18. package/dist/cli.js.map +1 -1
  19. package/dist/commands/__tests__/compile.toml-mutation.test.d.ts +2 -0
  20. package/dist/commands/__tests__/compile.toml-mutation.test.d.ts.map +1 -0
  21. package/dist/commands/__tests__/compile.toml-mutation.test.js +69 -0
  22. package/dist/commands/__tests__/compile.toml-mutation.test.js.map +1 -0
  23. package/dist/commands/__tests__/init.test.js +73 -11
  24. package/dist/commands/__tests__/init.test.js.map +1 -1
  25. package/dist/commands/compile.d.ts.map +1 -1
  26. package/dist/commands/compile.js +19 -10
  27. package/dist/commands/compile.js.map +1 -1
  28. package/dist/commands/init.d.ts +22 -0
  29. package/dist/commands/init.d.ts.map +1 -1
  30. package/dist/commands/init.js +55 -6
  31. package/dist/commands/init.js.map +1 -1
  32. package/dist/commands/test.js +12 -19
  33. package/dist/commands/test.js.map +1 -1
  34. package/dist/core/AccountManager.d.ts.map +1 -1
  35. package/dist/core/AccountManager.js +14 -2
  36. package/dist/core/AccountManager.js.map +1 -1
  37. package/dist/core/Publisher.d.ts.map +1 -1
  38. package/dist/core/Publisher.js +72 -82
  39. package/dist/core/Publisher.js.map +1 -1
  40. package/dist/core/__tests__/AccountManager.global-state.test.d.ts +2 -0
  41. package/dist/core/__tests__/AccountManager.global-state.test.d.ts.map +1 -0
  42. package/dist/core/__tests__/AccountManager.global-state.test.js +69 -0
  43. package/dist/core/__tests__/AccountManager.global-state.test.js.map +1 -0
  44. package/dist/core/__tests__/movementProfile.test.d.ts +2 -0
  45. package/dist/core/__tests__/movementProfile.test.d.ts.map +1 -0
  46. package/dist/core/__tests__/movementProfile.test.js +112 -0
  47. package/dist/core/__tests__/movementProfile.test.js.map +1 -0
  48. package/dist/core/config.d.ts.map +1 -1
  49. package/dist/core/config.js +14 -10
  50. package/dist/core/config.js.map +1 -1
  51. package/dist/core/deployments.d.ts.map +1 -1
  52. package/dist/core/deployments.js +4 -2
  53. package/dist/core/deployments.js.map +1 -1
  54. package/dist/core/movementProfile.d.ts +55 -22
  55. package/dist/core/movementProfile.d.ts.map +1 -1
  56. package/dist/core/movementProfile.js +77 -99
  57. package/dist/core/movementProfile.js.map +1 -1
  58. package/dist/fork/__tests__/server.cors.test.d.ts +2 -0
  59. package/dist/fork/__tests__/server.cors.test.d.ts.map +1 -0
  60. package/dist/fork/__tests__/server.cors.test.js +79 -0
  61. package/dist/fork/__tests__/server.cors.test.js.map +1 -0
  62. package/dist/fork/api.d.ts +9 -1
  63. package/dist/fork/api.d.ts.map +1 -1
  64. package/dist/fork/api.js +37 -7
  65. package/dist/fork/api.js.map +1 -1
  66. package/dist/fork/manager.js +10 -10
  67. package/dist/fork/manager.js.map +1 -1
  68. package/dist/fork/server.d.ts +20 -1
  69. package/dist/fork/server.d.ts.map +1 -1
  70. package/dist/fork/server.js +40 -24
  71. package/dist/fork/server.js.map +1 -1
  72. package/dist/fork/test.d.ts.map +1 -1
  73. package/dist/fork/test.js +3 -2
  74. package/dist/fork/test.js.map +1 -1
  75. package/dist/harness/Harness.d.ts +6 -2
  76. package/dist/harness/Harness.d.ts.map +1 -1
  77. package/dist/harness/Harness.js +8 -2
  78. package/dist/harness/Harness.js.map +1 -1
  79. package/dist/harness/codeObject.d.ts.map +1 -1
  80. package/dist/harness/codeObject.js +41 -41
  81. package/dist/harness/codeObject.js.map +1 -1
  82. package/dist/harness/script.d.ts +3 -3
  83. package/dist/harness/script.d.ts.map +1 -1
  84. package/dist/harness/script.js +42 -35
  85. package/dist/harness/script.js.map +1 -1
  86. package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.d.ts +2 -0
  87. package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.d.ts.map +1 -0
  88. package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.js +172 -0
  89. package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.js.map +1 -0
  90. package/dist/helpers/setupLocalTesting.d.ts.map +1 -1
  91. package/dist/helpers/setupLocalTesting.js +31 -5
  92. package/dist/helpers/setupLocalTesting.js.map +1 -1
  93. package/dist/index.d.ts +1 -0
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/node/LocalNodeManager.d.ts +8 -0
  96. package/dist/node/LocalNodeManager.d.ts.map +1 -1
  97. package/dist/node/LocalNodeManager.js +70 -23
  98. package/dist/node/LocalNodeManager.js.map +1 -1
  99. package/dist/node/__tests__/LocalNodeManager.api-port.test.d.ts +2 -0
  100. package/dist/node/__tests__/LocalNodeManager.api-port.test.d.ts.map +1 -0
  101. package/dist/node/__tests__/LocalNodeManager.api-port.test.js +55 -0
  102. package/dist/node/__tests__/LocalNodeManager.api-port.test.js.map +1 -0
  103. package/dist/node/__tests__/LocalNodeManager.test.js +114 -14
  104. package/dist/node/__tests__/LocalNodeManager.test.js.map +1 -1
  105. package/dist/templates/move/Move.toml +1 -1
  106. package/dist/templates/move/sources/Counter.move +31 -4
  107. package/dist/templates/scripts/deploy-counter.ts +10 -0
  108. package/dist/types/config.d.ts +8 -1
  109. package/dist/types/config.d.ts.map +1 -1
  110. package/dist/ui/__tests__/logger.test.d.ts +2 -0
  111. package/dist/ui/__tests__/logger.test.d.ts.map +1 -0
  112. package/dist/ui/__tests__/logger.test.js +75 -0
  113. package/dist/ui/__tests__/logger.test.js.map +1 -0
  114. package/dist/ui/formatters.d.ts +0 -16
  115. package/dist/ui/formatters.d.ts.map +1 -1
  116. package/dist/ui/formatters.js +1 -1
  117. package/dist/ui/formatters.js.map +1 -1
  118. package/dist/ui/logger.d.ts +41 -0
  119. package/dist/ui/logger.d.ts.map +1 -1
  120. package/dist/ui/logger.js +49 -0
  121. package/dist/ui/logger.js.map +1 -1
  122. package/dist/ui/spinner.d.ts +25 -0
  123. package/dist/ui/spinner.d.ts.map +1 -1
  124. package/dist/ui/spinner.js +44 -0
  125. package/dist/ui/spinner.js.map +1 -1
  126. package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.d.ts +2 -0
  127. package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.d.ts.map +1 -0
  128. package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.js +43 -0
  129. package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.js.map +1 -0
  130. package/dist/utils/childProcessAdapter.d.ts +7 -0
  131. package/dist/utils/childProcessAdapter.d.ts.map +1 -1
  132. package/dist/utils/childProcessAdapter.js +20 -2
  133. package/dist/utils/childProcessAdapter.js.map +1 -1
  134. package/package.json +1 -1
  135. package/src/__tests__/deployContract.test.ts +59 -50
  136. package/src/__tests__/exports.test.ts +32 -0
  137. package/src/__tests__/fixtures/sigint-deploy-harness.ts +8 -7
  138. package/src/__tests__/fork/api.test.ts +5 -0
  139. package/src/__tests__/fork/api.timeout.test.ts +150 -0
  140. package/src/cli.ts +4 -0
  141. package/src/commands/__tests__/compile.toml-mutation.test.ts +77 -0
  142. package/src/commands/__tests__/init.test.ts +96 -11
  143. package/src/commands/compile.ts +24 -15
  144. package/src/commands/init.ts +77 -6
  145. package/src/commands/test.ts +12 -19
  146. package/src/core/AccountManager.ts +18 -1
  147. package/src/core/Publisher.ts +103 -107
  148. package/src/core/__tests__/AccountManager.global-state.test.ts +83 -0
  149. package/src/core/__tests__/movementProfile.test.ts +131 -0
  150. package/src/core/config.ts +18 -11
  151. package/src/core/deployments.ts +5 -4
  152. package/src/core/movementProfile.ts +75 -127
  153. package/src/fork/__tests__/server.cors.test.ts +101 -0
  154. package/src/fork/api.ts +69 -10
  155. package/src/fork/manager.ts +10 -10
  156. package/src/fork/server.ts +59 -24
  157. package/src/fork/test.ts +3 -2
  158. package/src/harness/Harness.ts +11 -2
  159. package/src/harness/codeObject.ts +45 -48
  160. package/src/harness/script.ts +47 -43
  161. package/src/helpers/__tests__/setupLocalTesting.fork-network.test.ts +212 -0
  162. package/src/helpers/setupLocalTesting.ts +39 -5
  163. package/src/index.ts +9 -1
  164. package/src/node/LocalNodeManager.ts +87 -26
  165. package/src/node/__tests__/LocalNodeManager.api-port.test.ts +62 -0
  166. package/src/node/__tests__/LocalNodeManager.test.ts +144 -17
  167. package/src/templates/move/Move.toml +1 -1
  168. package/src/templates/move/sources/Counter.move +31 -4
  169. package/src/templates/scripts/deploy-counter.ts +10 -0
  170. package/src/types/config.ts +8 -1
  171. package/src/ui/__tests__/logger.test.ts +89 -0
  172. package/src/ui/formatters.ts +1 -1
  173. package/src/ui/logger.ts +62 -0
  174. package/src/ui/spinner.ts +47 -0
  175. package/src/utils/__tests__/childProcessAdapter.maxBuffer.test.ts +51 -0
  176. package/src/utils/childProcessAdapter.ts +32 -2
@@ -126,18 +126,18 @@ version = "0.0.1"
126
126
  // assertion fires before any real damage.
127
127
  expect(existsSync(join(tmpHome, ".aptos", "config.yaml"))).toBe(false);
128
128
  });
129
- it("two concurrent deploys do not corrupt ~/.aptos/config.yaml (#37)", async () => {
130
- // Pre-fix #37: both deploys overwrote ~/.aptos/config.yaml with the
131
- // SAME profile name ("default" by default), then both restored
132
- // independently. The second deploy's restore would overwrite the
133
- // first's profile mid-publish potential cross-contamination of
134
- // private keys / accounts. Post-fix: each deploy uses a unique
135
- // movehat-deploy-<uuid> profile name and only deletes its own key
136
- // on cleanup. The user's other profiles never get touched.
137
- //
138
- // The mutex is what makes this safe without it, the
139
- // read-modify-write cycles would race and silently drop a profile.
140
- // Seed the yaml with an unrelated user profile that MUST survive.
129
+ it("two concurrent deploys use distinct temp key files and never touch ~/.aptos/config.yaml", async () => {
130
+ // Each deploy writes its private key to a UUID-named temp file
131
+ // (see `core/movementProfile.ts:writeTempKeyFile`) and passes
132
+ // `--private-key-file <path>` to Movement CLI. Concurrent deploys
133
+ // have no shared state — no profile YAML, no mutex, no race.
134
+ // Asserts:
135
+ // 1. Each invocation records a DISTINCT --private-key-file path.
136
+ // 2. After both deploys finish, neither temp key file remains on
137
+ // disk (cleanup ran on both happy paths).
138
+ // 3. ~/.aptos/config.yaml is byte-identical to what was on disk
139
+ // before the new flow doesn't touch the user's CLI config.
140
+ // Seed an unrelated user profile that MUST survive untouched.
141
141
  const aptosDir = join(tmpHome, ".aptos");
142
142
  mkdirSync(aptosDir, { recursive: true });
143
143
  const preExisting = {
@@ -152,9 +152,10 @@ version = "0.0.1"
152
152
  };
153
153
  const configPath = join(aptosDir, "config.yaml");
154
154
  writeFileSync(configPath, yaml.dump(preExisting), { mode: 0o600 });
155
- // Set up two Publisher instances with fake adapters that record their
156
- // own --profile argument and inject a small delay on publish so the
157
- // critical sections overlap.
155
+ const initialConfigBytes = readFileSync(configPath, "utf8");
156
+ // Set up two Publisher instances with fake adapters that record
157
+ // their --private-key-file argument and inject a small delay on
158
+ // publish so the critical sections overlap.
158
159
  function makeDelayedAdapter(label) {
159
160
  const captured = {};
160
161
  const adapter = {
@@ -202,33 +203,37 @@ version = "0.0.1"
202
203
  packageDir: join(tmpCwd, "move"),
203
204
  }),
204
205
  ]);
205
- // Both publish calls captured distinct --profile args.
206
+ // Both publish calls captured distinct --private-key-file args.
206
207
  const argsA = a.captured.publishCall.args;
207
208
  const argsB = b.captured.publishCall.args;
208
- const profileArgA = argsA[argsA.indexOf("--profile") + 1];
209
- const profileArgB = argsB[argsB.indexOf("--profile") + 1];
210
- expect(profileArgA).toMatch(/^movehat-deploy-/);
211
- expect(profileArgB).toMatch(/^movehat-deploy-/);
212
- expect(profileArgA).not.toBe(profileArgB);
213
- // After both deploys finish, ~/.aptos/config.yaml contains the
214
- // user's original profile and zero movehat-deploy-* profiles.
215
- const finalYaml = yaml.load(readFileSync(configPath, "utf8"));
216
- expect(finalYaml.profiles).toBeDefined();
217
- expect(Object.keys(finalYaml.profiles)).toEqual(["user_main"]);
218
- expect(finalYaml.profiles.user_main.private_key).toBe(preExisting.profiles.user_main.private_key);
209
+ const keyFileArgA = argsA[argsA.indexOf("--private-key-file") + 1];
210
+ const keyFileArgB = argsB[argsB.indexOf("--private-key-file") + 1];
211
+ expect(keyFileArgA).toMatch(/movehat-key-/);
212
+ expect(keyFileArgB).toMatch(/movehat-key-/);
213
+ expect(keyFileArgA).not.toBe(keyFileArgB);
214
+ // Cleanup ran on both neither temp file persists after the
215
+ // deploys finished normally.
216
+ expect(existsSync(keyFileArgA)).toBe(false);
217
+ expect(existsSync(keyFileArgB)).toBe(false);
218
+ // ~/.aptos/config.yaml byte-identical to pre-deploy state — the new
219
+ // flow never touches the user's CLI config.
220
+ expect(readFileSync(configPath, "utf8")).toBe(initialConfigBytes);
219
221
  });
220
- it("SIGINT mid-deploy cleans the profile from ~/.aptos/config.yaml (#36)", async () => {
221
- // Pre-fix #36: between the yaml write (private key persisted) and the
222
- // finally block, a SIGINT would skip cleanup and leave the user's
223
- // private key sitting in ~/.aptos/config.yaml at mode 0o600.
224
- // Post-fix: a sync signal handler runs synchronously before exit,
225
- // removing the deploy's unique profile from the yaml.
222
+ it("SIGINT mid-deploy unlinks the temp key file", async () => {
223
+ // Without sync SIGINT cleanup, the temp private-key file written
224
+ // by `writeTempKeyFile` would persist on disk after an abnormal
225
+ // exit (chmod 0o600 prevents other users from reading it, but
226
+ // forensic recovery from /tmp is still possible). The sync signal
227
+ // handler runs synchronously before process.exit and unlinks
228
+ // every active deploy's key file.
226
229
  //
227
230
  // This test spawns a child process running a harness that drives
228
231
  // Publisher.deploy() with a 3-second-delayed publish, then sends
229
232
  // SIGINT mid-flight. Vitest's own process is unaffected because
230
233
  // the SIGINT goes to the child.
231
- // Seed an unrelated user profile that MUST survive.
234
+ // Seed an unrelated user profile that MUST be left untouched —
235
+ // the new flow doesn't read or write ~/.aptos/config.yaml at all,
236
+ // so this is an invariant check.
232
237
  const aptosDir = join(tmpHome, ".aptos");
233
238
  mkdirSync(aptosDir, { recursive: true });
234
239
  const configPath = join(aptosDir, "config.yaml");
@@ -242,6 +247,7 @@ version = "0.0.1"
242
247
  },
243
248
  },
244
249
  }), { mode: 0o600 });
250
+ const initialConfigBytes = readFileSync(configPath, "utf8");
245
251
  const harnessPath = join(__dirname, "fixtures", "sigint-deploy-harness.ts");
246
252
  // Resolve tsx's CLI binary by absolute path — the test's tmp cwd has
247
253
  // no node_modules, so a bare `tsx` import would fail to resolve.
@@ -255,8 +261,8 @@ version = "0.0.1"
255
261
  cwd: tmpCwd,
256
262
  stdio: ["ignore", "pipe", "pipe"],
257
263
  });
258
- // Wait for the harness to announce its unique profile name via stdout
259
- // (it writes a JSON line `{"profile":"movehat-deploy-XXXX"}` just
264
+ // Wait for the harness to announce its temp key file path via stdout
265
+ // (it writes a JSON line `{"keyFile":"/tmp/movehat-key-XXXX"}` just
260
266
  // before entering the slow publish step).
261
267
  let announced;
262
268
  let stdoutBuf = "";
@@ -269,8 +275,8 @@ version = "0.0.1"
269
275
  continue;
270
276
  try {
271
277
  const parsed = JSON.parse(trimmed);
272
- if (typeof parsed.profile === "string")
273
- announced = parsed.profile;
278
+ if (typeof parsed.keyFile === "string")
279
+ announced = parsed.keyFile;
274
280
  }
275
281
  catch {
276
282
  /* not a JSON line we care about */
@@ -286,23 +292,26 @@ version = "0.0.1"
286
292
  }
287
293
  if (!announced) {
288
294
  child.kill("SIGKILL");
289
- throw new Error(`harness never announced profile in 8s.\n` +
295
+ throw new Error(`harness never announced keyFile in 8s.\n` +
290
296
  `stdout so far:\n${stdoutBuf}\n---\nstderr so far:\n${stderrBuf}`);
291
297
  }
292
- expect(announced).toMatch(/^movehat-deploy-/);
298
+ expect(announced).toMatch(/movehat-key-/);
299
+ // The temp key file is present on disk while the harness is in
300
+ // the middle of the slow publish (the JSON announcement is emitted
301
+ // right before the simulated 3s wait, and the file is unlinked
302
+ // only on cleanup).
303
+ expect(existsSync(announced)).toBe(true);
293
304
  // Deliver SIGINT mid-publish and wait for the harness to exit.
294
305
  child.kill("SIGINT");
295
306
  const exitCode = await new Promise((resolve) => {
296
307
  child.on("exit", (code) => resolve(code));
297
308
  });
298
309
  expect(exitCode).toBe(130);
299
- // The yaml on disk contains the user's original profile and NO
300
- // movehat-deploy-* leftovers.
301
- expect(existsSync(configPath)).toBe(true);
302
- const finalYaml = yaml.load(readFileSync(configPath, "utf8"));
303
- expect(finalYaml.profiles).toBeDefined();
304
- expect(Object.keys(finalYaml.profiles).sort()).toEqual(["user_main"]);
305
- expect(finalYaml.profiles.user_main.private_key).toBe("0x" + "a".repeat(64));
310
+ // The temp key file has been unlinked by the SIGINT handler.
311
+ expect(existsSync(announced)).toBe(false);
312
+ // The user's ~/.aptos/config.yaml is byte-identical to pre-deploy
313
+ // the new flow never touches it.
314
+ expect(readFileSync(configPath, "utf8")).toBe(initialConfigBytes);
306
315
  }, 15000);
307
316
  it("does not mutate Move.toml during deploy (#38)", async () => {
308
317
  // Pre-fix #38: deployContract overwrote every entry under [addresses]
@@ -1 +1 @@
1
- {"version":3,"file":"deployContract.test.js","sourceRoot":"","sources":["../../src/__tests__/deployContract.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployContract.test.js","sourceRoot":"","sources":["../../src/__tests__/deployContract.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=exports.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import * as publicSurface from "../index.js";
3
+ /**
4
+ * Locks the public export surface of `movehat`. Adding a new symbol
5
+ * is a deliberate API change; removing one is a breaking change.
6
+ * Update this list (and the CHANGELOG) when the surface evolves.
7
+ */
8
+ const EXPECTED_RUNTIME_EXPORTS = [
9
+ "Harness",
10
+ "HarnessDisposedError",
11
+ "ForkManager",
12
+ "MovementApiClient",
13
+ "ForkStorage",
14
+ "ForkServer",
15
+ "ModuleAlreadyDeployedError",
16
+ "PostPublishError",
17
+ "initRuntime",
18
+ ];
19
+ describe("public export surface (movehat root)", () => {
20
+ it.each(EXPECTED_RUNTIME_EXPORTS)("exports %s as a runtime value", (name) => {
21
+ expect(publicSurface[name]).toBeDefined();
22
+ });
23
+ // Type-only exports cannot be probed at runtime; the assertion is
24
+ // that the module imports successfully (failing types-only export
25
+ // would surface as a TS error in `pnpm check:example`).
26
+ it("imports without errors", () => {
27
+ expect(typeof publicSurface).toBe("object");
28
+ });
29
+ });
30
+ //# sourceMappingURL=exports.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.test.js","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,aAAa,MAAM,aAAa,CAAC;AAE7C;;;;GAIG;AACH,MAAM,wBAAwB,GAAG;IAC/B,SAAS;IACT,sBAAsB;IACtB,aAAa;IACb,mBAAmB;IACnB,aAAa;IACb,YAAY;IACZ,4BAA4B;IAC5B,kBAAkB;IAClB,aAAa;CACL,CAAC;AAEX,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,+BAA+B,EAAE,CAAC,IAAI,EAAE,EAAE;QAC1E,MAAM,CAAC,aAAa,CAAC,IAAkC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAClE,kEAAkE;IAClE,wDAAwD;IACxD,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -9,9 +9,10 @@
9
9
  * send SIGINT mid-flight.
10
10
  * 2. Drive `Publisher.deploy()` against the fake adapter using a
11
11
  * synthetic MovehatConfig + Account read from env vars.
12
- * 3. Write the chosen `movehat-deploy-<uuid>` profile name to stdout
13
- * as JSON (`{"profile": "..."}`) before the slow publish so the
14
- * parent test knows which key to look for after SIGINT.
12
+ * 3. Write the temp key file path to stdout as JSON
13
+ * (`{"keyFile": "/tmp/movehat-key-<uuid>"}`) before the slow
14
+ * publish so the parent test knows which file to look for after
15
+ * SIGINT.
15
16
  * 4. If the deploy completes naturally (test failure case), exit 0.
16
17
  * 5. When SIGINT arrives, Publisher's signal handler runs synchronous
17
18
  * cleanup and `setImmediate(() => process.exit(130))`.
@@ -1 +1 @@
1
- {"version":3,"file":"sigint-deploy-harness.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/sigint-deploy-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
1
+ {"version":3,"file":"sigint-deploy-harness.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/sigint-deploy-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
@@ -9,9 +9,10 @@
9
9
  * send SIGINT mid-flight.
10
10
  * 2. Drive `Publisher.deploy()` against the fake adapter using a
11
11
  * synthetic MovehatConfig + Account read from env vars.
12
- * 3. Write the chosen `movehat-deploy-<uuid>` profile name to stdout
13
- * as JSON (`{"profile": "..."}`) before the slow publish so the
14
- * parent test knows which key to look for after SIGINT.
12
+ * 3. Write the temp key file path to stdout as JSON
13
+ * (`{"keyFile": "/tmp/movehat-key-<uuid>"}`) before the slow
14
+ * publish so the parent test knows which file to look for after
15
+ * SIGINT.
15
16
  * 4. If the deploy completes naturally (test failure case), exit 0.
16
17
  * 5. When SIGINT arrives, Publisher's signal handler runs synchronous
17
18
  * cleanup and `setImmediate(() => process.exit(130))`.
@@ -49,10 +50,10 @@ async function main() {
49
50
  return { exitCode: 0, stdout: "built", stderr: "" };
50
51
  }
51
52
  if (input.args[1] === "publish") {
52
- // Surface the unique profile name to the parent BEFORE blocking.
53
- const profileIdx = input.args.indexOf("--profile");
54
- const profile = profileIdx >= 0 ? input.args[profileIdx + 1] : "";
55
- process.stdout.write(JSON.stringify({ profile }) + "\n");
53
+ // Surface the temp key file path to the parent BEFORE blocking.
54
+ const keyFileIdx = input.args.indexOf("--private-key-file");
55
+ const keyFile = keyFileIdx >= 0 ? input.args[keyFileIdx + 1] : "";
56
+ process.stdout.write(JSON.stringify({ keyFile }) + "\n");
56
57
  // Hold long enough for the parent to deliver SIGINT.
57
58
  await new Promise((r) => setTimeout(r, 3000));
58
59
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"sigint-deploy-harness.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/sigint-deploy-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQpD,sFAAsF;AACtF,qEAAqE;AACrE,MAAM,gBAAgB,GACpB,oEAAoE,CAAC;AAEvE,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;QACrC,UAAU,EAAE,IAAI,iBAAiB,CAAC,gBAAgB,CAAC;KACpD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAkB;QAC5B,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,4BAA4B;QACjC,UAAU,EAAE,gBAAgB;QAC5B,WAAW,EAAE,CAAC,gBAAgB,CAAC;QAC/B,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;QAC1C,cAAc,EAAE,EAAE;QAClB,aAAa,EAAE;YACb,GAAG,EAAE,4BAA4B;YACjC,OAAO,EAAE,SAAS;SACnB;KACF,CAAC;IAEF,MAAM,kBAAkB,GAAwB;QAC9C,KAAK,CAAC,GAAG,CAAC,KAAe;YACvB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBAC9B,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACtD,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAChC,iEAAiE;gBACjE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACzD,qDAAqD;gBACrD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC9C,OAAO;oBACL,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/C,MAAM,EAAE,EAAE;iBACX,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK;YACH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACjE,MAAM,SAAS,CAAC,MAAM,CAAC;QACrB,UAAU,EAAE,gBAAgB;QAC5B,MAAM;QACN,OAAO;QACP,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAmB,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"sigint-deploy-harness.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/sigint-deploy-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQpD,sFAAsF;AACtF,qEAAqE;AACrE,MAAM,gBAAgB,GACpB,oEAAoE,CAAC;AAEvE,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;QACrC,UAAU,EAAE,IAAI,iBAAiB,CAAC,gBAAgB,CAAC;KACpD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAkB;QAC5B,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,4BAA4B;QACjC,UAAU,EAAE,gBAAgB;QAC5B,WAAW,EAAE,CAAC,gBAAgB,CAAC;QAC/B,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;QAC1C,cAAc,EAAE,EAAE;QAClB,aAAa,EAAE;YACb,GAAG,EAAE,4BAA4B;YACjC,OAAO,EAAE,SAAS;SACnB;KACF,CAAC;IAEF,MAAM,kBAAkB,GAAwB;QAC9C,KAAK,CAAC,GAAG,CAAC,KAAe;YACvB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBAC9B,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACtD,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAChC,gEAAgE;gBAChE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACzD,qDAAqD;gBACrD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC9C,OAAO;oBACL,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/C,MAAM,EAAE,EAAE;iBACX,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK;YACH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACjE,MAAM,SAAS,CAAC,MAAM,CAAC;QACrB,UAAU,EAAE,gBAAgB;QAC5B,MAAM;QACN,OAAO;QACP,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAmB,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -59,6 +59,11 @@ function setupGetCapture() {
59
59
  }
60
60
  const fakeReq = new EventEmitter();
61
61
  fakeReq.end = () => { };
62
+ // F3: api.ts now installs a setTimeout on the request and may call
63
+ // destroy() on overflow / timeout. Stub both so this happy-path
64
+ // capture mock still satisfies the new contract.
65
+ fakeReq.setTimeout = () => { };
66
+ fakeReq.destroy = () => { };
62
67
  if (callback) {
63
68
  const body = JSON.stringify({
64
69
  chain_id: 250,
@@ -1 +1 @@
1
- {"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../../src/__tests__/fork/api.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../../src/__tests__/fork/api.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=api.timeout.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.timeout.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fork/api.timeout.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,98 @@
1
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
2
+ import { EventEmitter } from "node:events";
3
+ const httpsGet = vi.fn();
4
+ const httpGet = vi.fn();
5
+ vi.mock("https", () => ({ default: { get: httpsGet }, get: httpsGet }));
6
+ vi.mock("http", () => ({ default: { get: httpGet }, get: httpGet }));
7
+ function makeFakeReq() {
8
+ const req = new EventEmitter();
9
+ req.destroyed = false;
10
+ let timeoutHandle;
11
+ req.end = () => { };
12
+ req.destroy = (err) => {
13
+ req.destroyed = true;
14
+ if (timeoutHandle)
15
+ clearTimeout(timeoutHandle);
16
+ setImmediate(() => req.emit("error", err ?? new Error("destroyed")));
17
+ };
18
+ req.setTimeout = (ms, cb) => {
19
+ timeoutHandle = setTimeout(() => {
20
+ req.emit("timeout");
21
+ if (cb)
22
+ cb();
23
+ }, ms);
24
+ // Don't keep the event loop alive — Node sets this itself but the
25
+ // mock has no native socket to inherit from.
26
+ timeoutHandle.unref?.();
27
+ };
28
+ return req;
29
+ }
30
+ function makeUnresolvableResponse() {
31
+ const res = new EventEmitter();
32
+ res.statusCode = 200;
33
+ return res;
34
+ }
35
+ function makeStreamingResponse(bytesPerChunk, chunks) {
36
+ const res = new EventEmitter();
37
+ res.statusCode = 200;
38
+ setImmediate(() => {
39
+ let i = 0;
40
+ const pump = () => {
41
+ if (i >= chunks) {
42
+ res.emit("end");
43
+ return;
44
+ }
45
+ res.emit("data", Buffer.alloc(bytesPerChunk, 0x61));
46
+ i++;
47
+ setImmediate(pump);
48
+ };
49
+ pump();
50
+ });
51
+ return res;
52
+ }
53
+ describe("F3 — MovementApiClient timeouts and byte cap", () => {
54
+ beforeEach(() => {
55
+ httpsGet.mockReset();
56
+ httpGet.mockReset();
57
+ });
58
+ afterEach(() => {
59
+ vi.restoreAllMocks();
60
+ });
61
+ it("rejects with a timeout error when the upstream never responds", async () => {
62
+ const fakeReq = makeFakeReq();
63
+ httpGet.mockImplementation((_url, options, cb) => {
64
+ const callback = typeof options === "function"
65
+ ? options
66
+ : cb;
67
+ if (callback)
68
+ callback(makeUnresolvableResponse());
69
+ return fakeReq;
70
+ });
71
+ const { MovementApiClient } = await import("../../fork/api.js");
72
+ const client = new MovementApiClient("http://hung.example/v1", undefined, {
73
+ timeoutMs: 25,
74
+ maxBytes: 1024 * 1024,
75
+ });
76
+ await expect(client.getLedgerInfo()).rejects.toThrow(/timed out|timeout/i);
77
+ expect(fakeReq.destroyed).toBe(true);
78
+ });
79
+ it("rejects and destroys the request when the response exceeds maxBytes", async () => {
80
+ const fakeReq = makeFakeReq();
81
+ httpGet.mockImplementation((_url, options, cb) => {
82
+ const callback = typeof options === "function"
83
+ ? options
84
+ : cb;
85
+ if (callback)
86
+ callback(makeStreamingResponse(2048, 100));
87
+ return fakeReq;
88
+ });
89
+ const { MovementApiClient } = await import("../../fork/api.js");
90
+ const client = new MovementApiClient("http://big.example/v1", undefined, {
91
+ timeoutMs: 5000,
92
+ maxBytes: 4096,
93
+ });
94
+ await expect(client.getLedgerInfo()).rejects.toThrow(/maxBytes|too large|exceeded/i);
95
+ expect(fakeReq.destroyed).toBe(true);
96
+ });
97
+ });
98
+ //# sourceMappingURL=api.timeout.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.timeout.test.js","sourceRoot":"","sources":["../../../src/__tests__/fork/api.timeout.test.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -44,6 +44,7 @@ program
44
44
  .version(version)
45
45
  .option('--network <name>', 'Network to use (testnet, mainnet, local, etc.)')
46
46
  .option('--redeploy', 'Force redeploy even if already deployed')
47
+ .option('-v, --verbose', 'Show subprocess output (movement node, aptos move) for debugging')
47
48
  .hook('preAction', (thisCommand) => {
48
49
  // Store network option in environment for commands to access
49
50
  const options = thisCommand.opts();
@@ -53,6 +54,9 @@ program
53
54
  if (options.redeploy) {
54
55
  process.env.MH_CLI_REDEPLOY = 'true';
55
56
  }
57
+ if (options.verbose) {
58
+ process.env.MOVEHAT_VERBOSE = '1';
59
+ }
56
60
  });
57
61
  program
58
62
  .command('init [project-name]')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compile.toml-mutation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.toml-mutation.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/compile.toml-mutation.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,69 @@
1
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
2
+ import { vol, fs as memfsFs } from "memfs";
3
+ vi.mock("fs", () => {
4
+ return {
5
+ default: memfsFs,
6
+ ...memfsFs,
7
+ };
8
+ });
9
+ import { updateMoveToml } from "../compile.js";
10
+ /**
11
+ * F7 — `movehat compile` mutates `Move.toml` when it detects a named
12
+ * address that isn't declared yet. This test pins down the current
13
+ * behavior so a future change (introducing a `--write` flag, moving
14
+ * the mutation to a dedicated `movehat update-toml` command, etc.)
15
+ * MUST update this test alongside the source change.
16
+ *
17
+ * Audit finding F7 is marked "no concluyente — requires product
18
+ * decision": the mutation may be the right UX default for the
19
+ * Hardhat-style workflow, but the asymmetry (compile reading + writing)
20
+ * deserves to be a deliberate choice. See ROADMAP follow-up.
21
+ */
22
+ describe("F7 — updateMoveToml mutates Move.toml on disk (current behavior captured)", () => {
23
+ beforeEach(() => vol.reset());
24
+ afterEach(() => vol.reset());
25
+ it("writes new named addresses into [addresses] and [dev-addresses] when missing", () => {
26
+ const before = `[package]
27
+ name = "captured"
28
+ version = "1.0.0"
29
+
30
+ [addresses]
31
+ existing = "_"
32
+
33
+ [dev-addresses]
34
+ existing = "0xcafe"
35
+
36
+ [dependencies]
37
+ `;
38
+ vol.fromJSON({ "/move/Move.toml": before });
39
+ const detected = new Set(["existing", "audit_module"]);
40
+ const added = updateMoveToml("/move", detected);
41
+ expect(added).toEqual(["audit_module"]);
42
+ // Source-of-truth assertion: the on-disk file CHANGED. F7 is the
43
+ // observation that a "compile" verb has a side effect on the user's
44
+ // working tree. The behavior is captured here so an unintended
45
+ // regression (or a deliberate revisit) cannot land silently.
46
+ const after = vol.readFileSync("/move/Move.toml", "utf-8");
47
+ expect(after).not.toBe(before);
48
+ expect(after).toContain("audit_module = \"_\"");
49
+ });
50
+ it("returns an empty list and leaves Move.toml byte-identical when all named addresses are already declared", () => {
51
+ const before = `[package]
52
+ name = "captured"
53
+
54
+ [addresses]
55
+ existing = "_"
56
+
57
+ [dev-addresses]
58
+ existing = "0xcafe"
59
+ `;
60
+ vol.fromJSON({ "/move/Move.toml": before });
61
+ const added = updateMoveToml("/move", new Set(["existing"]));
62
+ expect(added).toEqual([]);
63
+ // No mutation in the no-op path — the asymmetry only triggers when
64
+ // detected ⊄ declared. Useful boundary for the F7 product decision.
65
+ const after = vol.readFileSync("/move/Move.toml", "utf-8");
66
+ expect(after).toBe(before);
67
+ });
68
+ });
69
+ //# sourceMappingURL=compile.toml-mutation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.toml-mutation.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/compile.toml-mutation.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,OAAO,EAAE,MAAM,OAAO,CAAC;AAE3C,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;IACjB,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,QAAQ,CAAC,2EAA2E,EAAE,GAAG,EAAE;IACzF,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9B,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAE7B,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,MAAM,GAAG;;;;;;;;;;;CAWlB,CAAC;QACE,GAAG,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEhD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAExC,iEAAiE;QACjE,oEAAoE;QACpE,+DAA+D;QAC/D,6DAA6D;QAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAW,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yGAAyG,EAAE,GAAG,EAAE;QACjH,MAAM,MAAM,GAAG;;;;;;;;CAQlB,CAAC;QACE,GAAG,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1B,mEAAmE;QACnE,oEAAoE;QACpE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAW,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}