@nwire/cli 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/dist/cache-runner.d.ts +0 -1
  2. package/dist/cache-runner.js +107 -9
  3. package/dist/cli.d.ts +3 -6
  4. package/dist/cli.js +3 -6
  5. package/dist/commands/bench.d.ts +0 -1
  6. package/dist/commands/bench.js +0 -1
  7. package/dist/commands/build.d.ts +0 -1
  8. package/dist/commands/build.js +0 -1
  9. package/dist/commands/cache.d.ts +0 -1
  10. package/dist/commands/cache.js +0 -1
  11. package/dist/commands/check.d.ts +0 -1
  12. package/dist/commands/check.js +0 -1
  13. package/dist/commands/dev.d.ts +0 -1
  14. package/dist/commands/dev.js +0 -1
  15. package/dist/commands/doctor.d.ts +1 -2
  16. package/dist/commands/doctor.js +14 -15
  17. package/dist/commands/fmt.d.ts +0 -1
  18. package/dist/commands/fmt.js +0 -1
  19. package/dist/commands/greeting.d.ts +0 -1
  20. package/dist/commands/greeting.js +0 -1
  21. package/dist/commands/infra.d.ts +0 -1
  22. package/dist/commands/infra.js +0 -1
  23. package/dist/commands/lint.d.ts +0 -1
  24. package/dist/commands/lint.js +0 -1
  25. package/dist/commands/logs.d.ts +0 -1
  26. package/dist/commands/logs.js +0 -1
  27. package/dist/commands/ls.d.ts +0 -1
  28. package/dist/commands/ls.js +0 -1
  29. package/dist/commands/mcp.d.ts +0 -1
  30. package/dist/commands/mcp.js +0 -1
  31. package/dist/commands/please.d.ts +0 -1
  32. package/dist/commands/please.js +0 -1
  33. package/dist/commands/ps.d.ts +0 -1
  34. package/dist/commands/ps.js +0 -1
  35. package/dist/commands/replay.d.ts +0 -1
  36. package/dist/commands/replay.js +0 -1
  37. package/dist/commands/run.d.ts +0 -1
  38. package/dist/commands/run.js +0 -1
  39. package/dist/commands/studio.d.ts +0 -1
  40. package/dist/commands/studio.js +16 -6
  41. package/dist/commands/test.d.ts +0 -1
  42. package/dist/commands/test.js +0 -1
  43. package/dist/commands/trace.d.ts +0 -1
  44. package/dist/commands/trace.js +0 -1
  45. package/dist/commands/watch.d.ts +0 -1
  46. package/dist/commands/watch.js +0 -1
  47. package/dist/index.d.ts +0 -1
  48. package/dist/index.js +0 -1
  49. package/dist/lib/colors.d.ts +0 -1
  50. package/dist/lib/colors.js +0 -1
  51. package/dist/lib/dev-entry.d.ts +0 -1
  52. package/dist/lib/dev-entry.js +0 -1
  53. package/dist/lib/ensure-scan.d.ts +0 -1
  54. package/dist/lib/ensure-scan.js +0 -1
  55. package/dist/lib/exec.d.ts +0 -1
  56. package/dist/lib/exec.js +0 -1
  57. package/dist/lib/layout.d.ts +0 -1
  58. package/dist/lib/layout.js +0 -1
  59. package/dist/lib/package-manager.d.ts +0 -1
  60. package/dist/lib/package-manager.js +0 -1
  61. package/dist/lib/process-state.d.ts +0 -1
  62. package/dist/lib/process-state.js +0 -1
  63. package/dist/lib/project.d.ts +0 -1
  64. package/dist/lib/project.js +0 -1
  65. package/dist/lib/run-task.d.ts +0 -1
  66. package/dist/lib/run-task.js +0 -1
  67. package/dist/lib/scan-cache.d.ts +0 -1
  68. package/dist/lib/scan-cache.js +0 -1
  69. package/dist/lib/script-runner.d.ts +0 -1
  70. package/dist/lib/script-runner.js +0 -1
  71. package/dist/lib/sse.d.ts +0 -1
  72. package/dist/lib/sse.js +0 -1
  73. package/dist/lib/version.d.ts +0 -1
  74. package/dist/lib/version.js +0 -1
  75. package/dist/lib/vite-node.d.ts +0 -1
  76. package/dist/lib/vite-node.js +0 -1
  77. package/dist/lib/wire-discovery.d.ts +0 -1
  78. package/dist/lib/wire-discovery.js +0 -1
  79. package/dist/load-config.d.ts +0 -1
  80. package/dist/load-config.js +0 -1
  81. package/dist/ls-runner.d.ts +0 -1
  82. package/dist/ls-runner.js +0 -1
  83. package/dist/ui/dev-dashboard.d.ts +0 -1
  84. package/dist/ui/dev-dashboard.js +0 -1
  85. package/dist/ui/greeting.d.ts +0 -1
  86. package/dist/ui/greeting.js +0 -1
  87. package/dist/ui/process-table.d.ts +0 -1
  88. package/dist/ui/process-table.js +0 -1
  89. package/package.json +5 -6
  90. package/dist/__tests__/bench.test.d.ts +0 -2
  91. package/dist/__tests__/bench.test.d.ts.map +0 -1
  92. package/dist/__tests__/bench.test.js +0 -94
  93. package/dist/__tests__/bench.test.js.map +0 -1
  94. package/dist/__tests__/doctor.test.d.ts +0 -10
  95. package/dist/__tests__/doctor.test.d.ts.map +0 -1
  96. package/dist/__tests__/doctor.test.js +0 -105
  97. package/dist/__tests__/doctor.test.js.map +0 -1
  98. package/dist/__tests__/replay.test.d.ts +0 -2
  99. package/dist/__tests__/replay.test.d.ts.map +0 -1
  100. package/dist/__tests__/replay.test.js +0 -203
  101. package/dist/__tests__/replay.test.js.map +0 -1
  102. package/dist/__tests__/trace.test.d.ts +0 -2
  103. package/dist/__tests__/trace.test.d.ts.map +0 -1
  104. package/dist/__tests__/trace.test.js +0 -136
  105. package/dist/__tests__/trace.test.js.map +0 -1
  106. package/dist/__tests__/watch.test.d.ts +0 -2
  107. package/dist/__tests__/watch.test.d.ts.map +0 -1
  108. package/dist/__tests__/watch.test.js +0 -110
  109. package/dist/__tests__/watch.test.js.map +0 -1
  110. package/dist/cache-runner.d.ts.map +0 -1
  111. package/dist/cache-runner.js.map +0 -1
  112. package/dist/cli.d.ts.map +0 -1
  113. package/dist/cli.js.map +0 -1
  114. package/dist/commands/bench.d.ts.map +0 -1
  115. package/dist/commands/bench.js.map +0 -1
  116. package/dist/commands/build.d.ts.map +0 -1
  117. package/dist/commands/build.js.map +0 -1
  118. package/dist/commands/cache.d.ts.map +0 -1
  119. package/dist/commands/cache.js.map +0 -1
  120. package/dist/commands/check.d.ts.map +0 -1
  121. package/dist/commands/check.js.map +0 -1
  122. package/dist/commands/dev.d.ts.map +0 -1
  123. package/dist/commands/dev.js.map +0 -1
  124. package/dist/commands/doctor.d.ts.map +0 -1
  125. package/dist/commands/doctor.js.map +0 -1
  126. package/dist/commands/fmt.d.ts.map +0 -1
  127. package/dist/commands/fmt.js.map +0 -1
  128. package/dist/commands/greeting.d.ts.map +0 -1
  129. package/dist/commands/greeting.js.map +0 -1
  130. package/dist/commands/infra.d.ts.map +0 -1
  131. package/dist/commands/infra.js.map +0 -1
  132. package/dist/commands/lint.d.ts.map +0 -1
  133. package/dist/commands/lint.js.map +0 -1
  134. package/dist/commands/logs.d.ts.map +0 -1
  135. package/dist/commands/logs.js.map +0 -1
  136. package/dist/commands/ls.d.ts.map +0 -1
  137. package/dist/commands/ls.js.map +0 -1
  138. package/dist/commands/mcp.d.ts.map +0 -1
  139. package/dist/commands/mcp.js.map +0 -1
  140. package/dist/commands/please.d.ts.map +0 -1
  141. package/dist/commands/please.js.map +0 -1
  142. package/dist/commands/ps.d.ts.map +0 -1
  143. package/dist/commands/ps.js.map +0 -1
  144. package/dist/commands/replay.d.ts.map +0 -1
  145. package/dist/commands/replay.js.map +0 -1
  146. package/dist/commands/run.d.ts.map +0 -1
  147. package/dist/commands/run.js.map +0 -1
  148. package/dist/commands/studio.d.ts.map +0 -1
  149. package/dist/commands/studio.js.map +0 -1
  150. package/dist/commands/test.d.ts.map +0 -1
  151. package/dist/commands/test.js.map +0 -1
  152. package/dist/commands/trace.d.ts.map +0 -1
  153. package/dist/commands/trace.js.map +0 -1
  154. package/dist/commands/watch.d.ts.map +0 -1
  155. package/dist/commands/watch.js.map +0 -1
  156. package/dist/index.d.ts.map +0 -1
  157. package/dist/index.js.map +0 -1
  158. package/dist/kernel-instance.d.ts +0 -8
  159. package/dist/kernel-instance.d.ts.map +0 -1
  160. package/dist/kernel-instance.js +0 -13
  161. package/dist/kernel-instance.js.map +0 -1
  162. package/dist/lib/colors.d.ts.map +0 -1
  163. package/dist/lib/colors.js.map +0 -1
  164. package/dist/lib/dev-entry.d.ts.map +0 -1
  165. package/dist/lib/dev-entry.js.map +0 -1
  166. package/dist/lib/ensure-scan.d.ts.map +0 -1
  167. package/dist/lib/ensure-scan.js.map +0 -1
  168. package/dist/lib/exec.d.ts.map +0 -1
  169. package/dist/lib/exec.js.map +0 -1
  170. package/dist/lib/layout.d.ts.map +0 -1
  171. package/dist/lib/layout.js.map +0 -1
  172. package/dist/lib/package-manager.d.ts.map +0 -1
  173. package/dist/lib/package-manager.js.map +0 -1
  174. package/dist/lib/process-state.d.ts.map +0 -1
  175. package/dist/lib/process-state.js.map +0 -1
  176. package/dist/lib/project.d.ts.map +0 -1
  177. package/dist/lib/project.js.map +0 -1
  178. package/dist/lib/run-task.d.ts.map +0 -1
  179. package/dist/lib/run-task.js.map +0 -1
  180. package/dist/lib/scan-cache.d.ts.map +0 -1
  181. package/dist/lib/scan-cache.js.map +0 -1
  182. package/dist/lib/script-runner.d.ts.map +0 -1
  183. package/dist/lib/script-runner.js.map +0 -1
  184. package/dist/lib/sse.d.ts.map +0 -1
  185. package/dist/lib/sse.js.map +0 -1
  186. package/dist/lib/version.d.ts.map +0 -1
  187. package/dist/lib/version.js.map +0 -1
  188. package/dist/lib/vite-node.d.ts.map +0 -1
  189. package/dist/lib/vite-node.js.map +0 -1
  190. package/dist/lib/wire-discovery.d.ts.map +0 -1
  191. package/dist/lib/wire-discovery.js.map +0 -1
  192. package/dist/load-config.d.ts.map +0 -1
  193. package/dist/load-config.js.map +0 -1
  194. package/dist/ls-runner.d.ts.map +0 -1
  195. package/dist/ls-runner.js.map +0 -1
  196. package/dist/ui/dev-dashboard.d.ts.map +0 -1
  197. package/dist/ui/dev-dashboard.js.map +0 -1
  198. package/dist/ui/greeting.d.ts.map +0 -1
  199. package/dist/ui/greeting.js.map +0 -1
  200. package/dist/ui/process-table.d.ts.map +0 -1
  201. package/dist/ui/process-table.js.map +0 -1
package/dist/lib/exec.js CHANGED
@@ -73,4 +73,3 @@ export function spawnInteractive(cmd, args, opts = {}) {
73
73
  });
74
74
  return { child, done };
75
75
  }
76
- //# sourceMappingURL=exec.js.map
@@ -38,4 +38,3 @@ export declare function detectLayout(cwd?: string): ProjectLayout;
38
38
  * with `foo`; we return the entry path or `undefined` if unknown.
39
39
  */
40
40
  export declare function resolveWire(layout: ProjectLayout, name: string): string | undefined;
41
- //# sourceMappingURL=layout.d.ts.map
@@ -126,4 +126,3 @@ export function detectLayout(cwd = process.cwd()) {
126
126
  export function resolveWire(layout, name) {
127
127
  return layout.wires.find((w) => w.name === name)?.entry;
128
128
  }
129
- //# sourceMappingURL=layout.js.map
@@ -15,4 +15,3 @@ export declare function runScriptCommand(pm: PackageManager, script: string): [s
15
15
  * directly for that case.
16
16
  */
17
17
  export declare function execBinaryCommand(pm: PackageManager, bin: string, args?: readonly string[]): [string, string[]];
18
- //# sourceMappingURL=package-manager.d.ts.map
@@ -65,4 +65,3 @@ export function execBinaryCommand(pm, bin, args = []) {
65
65
  return ["npx", ["--no-install", bin, ...args]];
66
66
  }
67
67
  }
68
- //# sourceMappingURL=package-manager.js.map
@@ -27,4 +27,3 @@ export declare function writeRecord(cwd: string, record: ProcessRecord): void;
27
27
  export declare function readRecord(cwd: string, id: string): ProcessRecord | undefined;
28
28
  export declare function listRecords(cwd: string): ProcessRecord[];
29
29
  export declare function removeRecord(cwd: string, id: string): void;
30
- //# sourceMappingURL=process-state.d.ts.map
@@ -65,4 +65,3 @@ export function removeRecord(cwd, id) {
65
65
  // already gone
66
66
  }
67
67
  }
68
- //# sourceMappingURL=process-state.js.map
@@ -12,4 +12,3 @@ export interface ProjectInfo {
12
12
  readonly hasPlease: boolean;
13
13
  }
14
14
  export declare function detectProject(cwd?: string): ProjectInfo;
15
- //# sourceMappingURL=project.d.ts.map
@@ -32,4 +32,3 @@ export function detectProject(cwd = process.cwd()) {
32
32
  hasPlease,
33
33
  };
34
34
  }
35
- //# sourceMappingURL=project.js.map
@@ -29,4 +29,3 @@ export declare function runCommand(spec: TaskRunSpec): Promise<{
29
29
  * is set). Returns the aggregate exit code.
30
30
  */
31
31
  export declare function runTaskList(tasks: readonly TaskRunSpec[]): Promise<number>;
32
- //# sourceMappingURL=run-task.d.ts.map
@@ -72,4 +72,3 @@ export async function runTaskList(tasks) {
72
72
  }
73
73
  return aggregate;
74
74
  }
75
- //# sourceMappingURL=run-task.js.map
@@ -25,4 +25,3 @@ export declare function writeFingerprint(cwd: string, value: string): void;
25
25
  * new fingerprint to save?"
26
26
  */
27
27
  export declare function isFresh(cwd: string, currentFingerprint: string): boolean;
28
- //# sourceMappingURL=scan-cache.d.ts.map
@@ -100,4 +100,3 @@ export function isFresh(cwd, currentFingerprint) {
100
100
  return saved === currentFingerprint;
101
101
  }
102
102
  void dirname; // silence "imported but unused" in some builds
103
- //# sourceMappingURL=scan-cache.js.map
@@ -40,4 +40,3 @@ export declare function runScriptStrategy(cwd: string, strategy: ScriptStrategy)
40
40
  ran: boolean;
41
41
  }>;
42
42
  export {};
43
- //# sourceMappingURL=script-runner.d.ts.map
@@ -88,4 +88,3 @@ export async function runScriptStrategy(cwd, strategy) {
88
88
  const code = await runTaskList(tasks);
89
89
  return { code, ran: true };
90
90
  }
91
- //# sourceMappingURL=script-runner.js.map
package/dist/lib/sse.d.ts CHANGED
@@ -21,4 +21,3 @@ export declare class SseParser {
21
21
  */
22
22
  feed(chunk: string): unknown[];
23
23
  }
24
- //# sourceMappingURL=sse.d.ts.map
package/dist/lib/sse.js CHANGED
@@ -60,4 +60,3 @@ function parseFrame(frame) {
60
60
  return undefined;
61
61
  }
62
62
  }
63
- //# sourceMappingURL=sse.js.map
@@ -6,4 +6,3 @@
6
6
  * next to the source `src/lib/version.ts` (the dev runner path).
7
7
  */
8
8
  export declare function cliVersion(): string;
9
- //# sourceMappingURL=version.d.ts.map
@@ -27,4 +27,3 @@ export function cliVersion() {
27
27
  cached = pkg.version ?? "0.0.0";
28
28
  return cached;
29
29
  }
30
- //# sourceMappingURL=version.js.map
@@ -7,4 +7,3 @@ export declare function viteNodeWatch(scriptPath: string): {
7
7
  child: import("child_process").ChildProcess;
8
8
  done: Promise<number>;
9
9
  };
10
- //# sourceMappingURL=vite-node.d.ts.map
@@ -11,4 +11,3 @@ export function viteNodeWatch(scriptPath) {
11
11
  stoppedMessage: "Dev server stopped.",
12
12
  });
13
13
  }
14
- //# sourceMappingURL=vite-node.js.map
@@ -6,4 +6,3 @@
6
6
  * whose `/_nwire/events/recent?limit=1` responds with a JSON array.
7
7
  */
8
8
  export declare function findWireUrl(): Promise<string | null>;
9
- //# sourceMappingURL=wire-discovery.d.ts.map
@@ -78,4 +78,3 @@ function isNwireWire(port, timeoutMs) {
78
78
  });
79
79
  });
80
80
  }
81
- //# sourceMappingURL=wire-discovery.js.map
@@ -24,4 +24,3 @@ export interface NwireConfig {
24
24
  export declare function defineConfig(cfg: NwireConfig): NwireConfig;
25
25
  export declare function loadConfig(cwd: string): Promise<NwireConfig>;
26
26
  export declare function resolveAppsEntry(cwd: string, config: NwireConfig): string;
27
- //# sourceMappingURL=load-config.d.ts.map
@@ -47,4 +47,3 @@ export function resolveAppsEntry(cwd, config) {
47
47
  }
48
48
  return resolve(cwd, "apps/apps.ts"); // canonical default; will error if missing
49
49
  }
50
- //# sourceMappingURL=load-config.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=ls-runner.d.ts.map
package/dist/ls-runner.js CHANGED
@@ -47,4 +47,3 @@ main().catch((err) => {
47
47
  console.error(err);
48
48
  process.exit(1);
49
49
  });
50
- //# sourceMappingURL=ls-runner.js.map
@@ -20,4 +20,3 @@ interface DevDashboardProps {
20
20
  }
21
21
  export declare function DevDashboard({ title, subtitle, subscribe, maxLines, }: DevDashboardProps): React.ReactElement;
22
22
  export {};
23
- //# sourceMappingURL=dev-dashboard.d.ts.map
@@ -50,4 +50,3 @@ export function DevDashboard({ title, subtitle, subscribe, maxLines = 18, }) {
50
50
  const statusLabel = ready.ready ? "running" : "booting";
51
51
  return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { borderStyle: "round", borderColor: "cyan", flexDirection: "column", paddingX: 2, children: [_jsxs(Box, { children: [_jsx(Text, { bold: true, color: "cyan", children: title }), subtitle ? _jsx(Text, { dimColor: true, children: ` · ${subtitle}` }) : null] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Box, { width: 10, children: _jsx(Text, { dimColor: true, children: "status" }) }), _jsx(Text, { color: statusColor, children: statusLabel }), ready.url ? _jsx(Text, { dimColor: true, children: ` · ${ready.url}` }) : null, ready.elapsed ? _jsx(Text, { dimColor: true, children: ` · ${ready.elapsed}` }) : null] }), _jsxs(Box, { children: [_jsx(Box, { width: 10, children: _jsx(Text, { dimColor: true, children: "output" }) }), _jsx(Text, { dimColor: true, children: `${counter} line${counter === 1 ? "" : "s"}` })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Press Ctrl+C to stop." }) })] }), _jsx(Box, { flexDirection: "column", marginTop: 1, marginLeft: 1, children: _jsx(Static, { items: lines, children: (chunk) => (_jsx(Box, { children: _jsx(Text, { color: chunk.stream === "stderr" ? "red" : undefined, children: chunk.text }) }, chunk.id)) }) })] }));
52
52
  }
53
- //# sourceMappingURL=dev-dashboard.js.map
@@ -13,4 +13,3 @@ interface GreetingProps {
13
13
  }
14
14
  export declare function Greeting({ project, version }: GreetingProps): React.ReactElement;
15
15
  export {};
16
- //# sourceMappingURL=greeting.d.ts.map
@@ -13,4 +13,3 @@ export function Greeting({ project, version }) {
13
13
  ? project.wires.join(", ")
14
14
  : "(none detected — expected apps/<name>/{run,main}.ts)" })] }), _jsxs(Box, { children: [_jsx(Box, { width: 10, children: _jsx(Text, { dimColor: true, children: "please" }) }), _jsx(Text, { color: project.hasPlease ? "green" : undefined, children: project.hasPlease ? "ready" : "—" })] }), _jsxs(Box, { children: [_jsx(Box, { width: 10, children: _jsx(Text, { dimColor: true, children: "config" }) }), _jsx(Text, { color: project.hasNwireConfig ? "green" : undefined, children: project.hasNwireConfig ? "nwire.config.ts" : "(default)" })] })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, marginLeft: 1, children: [_jsx(Text, { dimColor: true, children: "Try:" }), suggestions.map((s) => (_jsxs(Box, { children: [_jsx(Text, { color: "magenta", children: " › " }), _jsx(Text, { children: s })] }, s)))] })] }));
15
15
  }
16
- //# sourceMappingURL=greeting.js.map
@@ -10,4 +10,3 @@ interface ProcessTableProps {
10
10
  }
11
11
  export declare function ProcessTable({ records }: ProcessTableProps): React.ReactElement;
12
12
  export {};
13
- //# sourceMappingURL=process-table.d.ts.map
@@ -23,4 +23,3 @@ export function ProcessTable({ records }) {
23
23
  }
24
24
  return (_jsxs(Box, { flexDirection: "column", paddingY: 1, paddingX: 1, children: [_jsxs(Box, { children: [_jsx(Box, { width: 10, children: _jsx(Text, { dimColor: true, children: "ID" }) }), _jsx(Box, { width: 24, children: _jsx(Text, { dimColor: true, children: "NAME" }) }), _jsx(Box, { width: 10, children: _jsx(Text, { dimColor: true, children: "STATUS" }) }), _jsx(Box, { width: 8, children: _jsx(Text, { dimColor: true, children: "PORT" }) }), _jsx(Box, { width: 8, children: _jsx(Text, { dimColor: true, children: "PID" }) }), _jsx(Box, { children: _jsx(Text, { dimColor: true, children: "STARTED" }) })] }), records.map((r) => (_jsxs(Box, { children: [_jsx(Box, { width: 10, children: _jsx(Text, { children: shortId(r.id) }) }), _jsx(Box, { width: 24, children: _jsx(Text, { children: r.name }) }), _jsx(Box, { width: 10, children: _jsx(Text, { color: statusColor(r.status), children: r.status }) }), _jsx(Box, { width: 8, children: _jsx(Text, { children: r.port ?? "—" }) }), _jsx(Box, { width: 8, children: _jsx(Text, { children: r.pid }) }), _jsx(Box, { children: _jsx(Text, { dimColor: true, children: r.startedAt }) })] }, r.id)))] }));
25
25
  }
26
- //# sourceMappingURL=process-table.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nwire/cli",
3
- "version": "0.9.2",
4
- "description": "Nwire CLI — branded TUI on top of @nwire/kernel. Dev, run, please, build, test, fmt, lint, check, ps, logs, cache, ls, studio. One surface for the whole framework.",
3
+ "version": "0.10.0",
4
+ "description": "Nwire CLI — branded TUI. Dev, run, please, build, test, fmt, lint, check, ps, logs, cache, ls, studio. One surface for the whole framework.",
5
5
  "keywords": [
6
6
  "cli",
7
7
  "dev-tool",
@@ -36,10 +36,9 @@
36
36
  "listr2": "^9.0.4",
37
37
  "picocolors": "^1.1.1",
38
38
  "react": "^18.3.1",
39
- "@nwire/mcp": "0.9.2",
40
- "@nwire/hooks": "0.9.2",
41
- "@nwire/kernel": "0.9.2",
42
- "@nwire/scan": "0.9.2"
39
+ "@nwire/hooks": "0.10.0",
40
+ "@nwire/mcp": "0.10.0",
41
+ "@nwire/scan": "0.10.0"
43
42
  },
44
43
  "devDependencies": {
45
44
  "@types/node": "^22.19.9",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=bench.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bench.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/bench.test.ts"],"names":[],"mappings":""}
@@ -1,94 +0,0 @@
1
- /**
2
- * Unit tests for `nwire bench`.
3
- *
4
- * The command shells out to a real `k6` binary at runtime, so we don't
5
- * exercise the full execution path here. We do test the pieces that
6
- * deserve assertions:
7
- *
8
- * - scenario path resolution (walks up from CWD and finds the right file)
9
- * - the k6 argv builder (env flags + script tail)
10
- * - the command meta + arg shape
11
- */
12
- import { describe, it, expect, afterEach, beforeEach } from "vitest";
13
- import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from "node:fs";
14
- import { tmpdir } from "node:os";
15
- import { join } from "node:path";
16
- import { benchCommand, buildK6Args, resolveScenarioPath } from "../commands/bench.js";
17
- let target;
18
- beforeEach(() => {
19
- target = mkdtempSync(join(tmpdir(), "bench-test-"));
20
- });
21
- afterEach(() => {
22
- if (target)
23
- rmSync(target, { recursive: true, force: true });
24
- });
25
- describe("nwire bench — command meta", () => {
26
- it("registers a `bench` subcommand with the expected flags", () => {
27
- const meta = benchCommand.meta;
28
- expect(meta.name).toBe("bench");
29
- expect(benchCommand.args).toMatchObject({
30
- scenario: expect.any(Object),
31
- vus: expect.any(Object),
32
- duration: expect.any(Object),
33
- ramp: expect.any(Object),
34
- "base-url": expect.any(Object),
35
- out: expect.any(Object),
36
- });
37
- });
38
- });
39
- describe("resolveScenarioPath", () => {
40
- it("returns null when no scripts/k6 folder exists anywhere in the walk", () => {
41
- expect(resolveScenarioPath("action", target, [target])).toBeNull();
42
- });
43
- it("finds a script when scripts/k6/<file> exists in CWD", () => {
44
- mkdirSync(join(target, "scripts", "k6"), { recursive: true });
45
- writeFileSync(join(target, "scripts", "k6", "action-dispatch.js"), "// stub\n");
46
- const found = resolveScenarioPath("action", target, [target]);
47
- expect(found).toBe(join(target, "scripts", "k6", "action-dispatch.js"));
48
- });
49
- it("walks up from a root to find the framework's scripts/k6", () => {
50
- mkdirSync(join(target, "scripts", "k6"), { recursive: true });
51
- writeFileSync(join(target, "scripts", "k6", "mixed-workload.js"), "// stub\n");
52
- mkdirSync(join(target, "nested", "deeper"), { recursive: true });
53
- const found = resolveScenarioPath("mixed", target, [join(target, "nested", "deeper")]);
54
- expect(found).toBe(join(target, "scripts", "k6", "mixed-workload.js"));
55
- });
56
- });
57
- describe("buildK6Args", () => {
58
- it("emits run + env vars + script path", () => {
59
- const argv = buildK6Args({
60
- script: "/path/to/action-dispatch.js",
61
- args: {
62
- scenario: "action",
63
- vus: 50,
64
- duration: "30s",
65
- ramp: "10s",
66
- baseUrl: "http://localhost:3030",
67
- },
68
- });
69
- expect(argv[0]).toBe("run");
70
- expect(argv).toContain("-e");
71
- expect(argv).toContain("VUS=50");
72
- expect(argv).toContain("DURATION=30s");
73
- expect(argv).toContain("RAMP=10s");
74
- expect(argv).toContain("BASE_URL=http://localhost:3030");
75
- expect(argv[argv.length - 1]).toBe("/path/to/action-dispatch.js");
76
- });
77
- it("inserts --summary-export when a summaryOut path is provided", () => {
78
- const argv = buildK6Args({
79
- script: "/x.js",
80
- args: {
81
- scenario: "read",
82
- vus: 1,
83
- duration: "1s",
84
- ramp: "1s",
85
- baseUrl: "http://localhost:1",
86
- },
87
- summaryOut: "/tmp/read.json",
88
- });
89
- expect(argv).toContain("--summary-export");
90
- const i = argv.indexOf("--summary-export");
91
- expect(argv[i + 1]).toBe("/tmp/read.json");
92
- });
93
- });
94
- //# sourceMappingURL=bench.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bench.test.js","sourceRoot":"","sources":["../../src/__tests__/bench.test.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * `nwire doctor` — checks run cleanly against fixture directories.
3
- *
4
- * Each test builds a tmpdir with the right shape (empty / L4-with-inspect /
5
- * L4-without-inspect / docker-compose-collision) and asserts the relevant
6
- * check produces the expected status. Live port probes are exercised
7
- * against ephemeral bindings.
8
- */
9
- export {};
10
- //# sourceMappingURL=doctor.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctor.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/doctor.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,105 +0,0 @@
1
- /**
2
- * `nwire doctor` — checks run cleanly against fixture directories.
3
- *
4
- * Each test builds a tmpdir with the right shape (empty / L4-with-inspect /
5
- * L4-without-inspect / docker-compose-collision) and asserts the relevant
6
- * check produces the expected status. Live port probes are exercised
7
- * against ephemeral bindings.
8
- */
9
- import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from "node:fs";
10
- import { tmpdir } from "node:os";
11
- import { join } from "node:path";
12
- import { createServer } from "node:net";
13
- import { describe, it, expect, beforeEach, afterEach } from "vitest";
14
- import { runDoctor } from "../commands/doctor.js";
15
- let target;
16
- beforeEach(() => {
17
- target = mkdtempSync(join(tmpdir(), "doctor-test-"));
18
- });
19
- afterEach(() => {
20
- if (target)
21
- rmSync(target, { recursive: true, force: true });
22
- });
23
- function pickCheck(results, name) {
24
- const hit = results.find((r) => r.check.name === name);
25
- if (!hit)
26
- throw new Error(`expected check "${name}" in results`);
27
- return hit.result;
28
- }
29
- describe("nwire doctor — workspace shape detection", () => {
30
- it("workspace fails on a totally empty dir", async () => {
31
- const results = await runDoctor({ cwd: target });
32
- expect(pickCheck(results, "workspace").status).toBe("fail");
33
- });
34
- it("workspace warns when package.json exists but no apps/src/nwire.config", async () => {
35
- writeFileSync(join(target, "package.json"), JSON.stringify({ name: "x" }));
36
- const results = await runDoctor({ cwd: target });
37
- expect(pickCheck(results, "workspace").status).toBe("warn");
38
- });
39
- it("workspace passes when apps/ is present", async () => {
40
- writeFileSync(join(target, "package.json"), JSON.stringify({ name: "x" }));
41
- mkdirSync(join(target, "apps"));
42
- const results = await runDoctor({ cwd: target });
43
- expect(pickCheck(results, "workspace").status).toBe("pass");
44
- });
45
- });
46
- describe("nwire doctor — inspect-mount audit", () => {
47
- it("warns when an L4-shaped main.ts is missing api.inspect(app)", async () => {
48
- writeFileSync(join(target, "package.json"), "{}");
49
- mkdirSync(join(target, "apps", "svc"), { recursive: true });
50
- writeFileSync(join(target, "apps", "svc", "main.ts"), `import { createApp } from "@nwire/forge";\n` +
51
- `const app = createApp({ modules: [] });\n` +
52
- `await app.start();\n`);
53
- const results = await runDoctor({ cwd: target, filter: "inspect-mount" });
54
- const r = pickCheck(results, "inspect-mount");
55
- expect(r.status).toBe("warn");
56
- expect(r.hint).toContain("apps/svc/main.ts");
57
- });
58
- it("passes when L4 main.ts calls .inspect(app)", async () => {
59
- writeFileSync(join(target, "package.json"), "{}");
60
- mkdirSync(join(target, "apps", "svc"), { recursive: true });
61
- writeFileSync(join(target, "apps", "svc", "main.ts"), `import { createApp } from "@nwire/forge";\n` +
62
- `const app = createApp({ modules: [] });\n` +
63
- `await app.start();\n` +
64
- `api.inspect(app);\n`);
65
- const results = await runDoctor({ cwd: target, filter: "inspect-mount" });
66
- expect(pickCheck(results, "inspect-mount").status).toBe("pass");
67
- });
68
- });
69
- describe("nwire doctor — port collision detection", () => {
70
- it("warns when probe port 9_400 is taken", async () => {
71
- const srv = createServer();
72
- await new Promise((res) => srv.listen(9_400, "127.0.0.1", res));
73
- try {
74
- const results = await runDoctor({ cwd: target, filter: "probe-port" });
75
- expect(pickCheck(results, "probe-port").status).toBe("warn");
76
- }
77
- finally {
78
- await new Promise((res) => srv.close(() => res()));
79
- }
80
- });
81
- it("compose-port-collisions fails when docker-compose maps :9400", async () => {
82
- writeFileSync(join(target, "package.json"), "{}");
83
- writeFileSync(join(target, "docker-compose.yml"), `services:\n badservice:\n image: foo\n ports:\n - "9400:9400"\n`);
84
- const results = await runDoctor({ cwd: target, filter: "compose" });
85
- const r = pickCheck(results, "compose-port-collisions");
86
- expect(r.status).toBe("fail");
87
- expect(r.message).toContain("9400");
88
- });
89
- it("compose check passes with no compose file", async () => {
90
- const results = await runDoctor({ cwd: target, filter: "compose" });
91
- expect(pickCheck(results, "compose-port-collisions").status).toBe("info");
92
- });
93
- });
94
- describe("nwire doctor — filter", () => {
95
- it("returns only matching checks", async () => {
96
- const results = await runDoctor({ cwd: target, filter: "node-version" });
97
- expect(results.length).toBe(1);
98
- expect(results[0].check.name).toBe("node-version");
99
- });
100
- it("returns empty array when nothing matches", async () => {
101
- const results = await runDoctor({ cwd: target, filter: "zzzzzz" });
102
- expect(results.length).toBe(0);
103
- });
104
- });
105
- //# sourceMappingURL=doctor.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctor.test.js","sourceRoot":"","sources":["../../src/__tests__/doctor.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=replay.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replay.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/replay.test.ts"],"names":[],"mappings":""}