@nwire/cli 0.9.1 → 0.9.2

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 (59) hide show
  1. package/dist/cli.js +2 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/build.d.ts.map +1 -1
  4. package/dist/commands/build.js +13 -16
  5. package/dist/commands/build.js.map +1 -1
  6. package/dist/commands/cache.d.ts +3 -2
  7. package/dist/commands/cache.d.ts.map +1 -1
  8. package/dist/commands/cache.js +7 -16
  9. package/dist/commands/cache.js.map +1 -1
  10. package/dist/commands/check.d.ts +10 -2
  11. package/dist/commands/check.d.ts.map +1 -1
  12. package/dist/commands/check.js +34 -9
  13. package/dist/commands/check.js.map +1 -1
  14. package/dist/commands/fmt.d.ts +8 -3
  15. package/dist/commands/fmt.d.ts.map +1 -1
  16. package/dist/commands/fmt.js +35 -11
  17. package/dist/commands/fmt.js.map +1 -1
  18. package/dist/commands/lint.d.ts +7 -2
  19. package/dist/commands/lint.d.ts.map +1 -1
  20. package/dist/commands/lint.js +34 -12
  21. package/dist/commands/lint.js.map +1 -1
  22. package/dist/commands/ls.d.ts +1 -0
  23. package/dist/commands/ls.d.ts.map +1 -1
  24. package/dist/commands/ls.js +3 -0
  25. package/dist/commands/ls.js.map +1 -1
  26. package/dist/commands/mcp.d.ts.map +1 -1
  27. package/dist/commands/mcp.js +2 -1
  28. package/dist/commands/mcp.js.map +1 -1
  29. package/dist/lib/ensure-scan.d.ts +29 -0
  30. package/dist/lib/ensure-scan.d.ts.map +1 -0
  31. package/dist/lib/ensure-scan.js +42 -0
  32. package/dist/lib/ensure-scan.js.map +1 -0
  33. package/dist/lib/layout.d.ts +41 -0
  34. package/dist/lib/layout.d.ts.map +1 -0
  35. package/dist/lib/layout.js +129 -0
  36. package/dist/lib/layout.js.map +1 -0
  37. package/dist/lib/package-manager.d.ts +18 -0
  38. package/dist/lib/package-manager.d.ts.map +1 -0
  39. package/dist/lib/package-manager.js +68 -0
  40. package/dist/lib/package-manager.js.map +1 -0
  41. package/dist/lib/project.d.ts +3 -3
  42. package/dist/lib/project.d.ts.map +1 -1
  43. package/dist/lib/project.js +16 -33
  44. package/dist/lib/project.js.map +1 -1
  45. package/dist/lib/scan-cache.d.ts +28 -0
  46. package/dist/lib/scan-cache.d.ts.map +1 -0
  47. package/dist/lib/scan-cache.js +103 -0
  48. package/dist/lib/scan-cache.js.map +1 -0
  49. package/dist/lib/script-runner.d.ts +43 -0
  50. package/dist/lib/script-runner.d.ts.map +1 -0
  51. package/dist/lib/script-runner.js +91 -0
  52. package/dist/lib/script-runner.js.map +1 -0
  53. package/dist/lib/version.d.ts +9 -0
  54. package/dist/lib/version.d.ts.map +1 -0
  55. package/dist/lib/version.js +30 -0
  56. package/dist/lib/version.js.map +1 -0
  57. package/dist/ls-runner.js +34 -39
  58. package/dist/ls-runner.js.map +1 -1
  59. package/package.json +5 -5
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Run-an-operation-three-ways helper. Every CLI command that exists to
3
+ * orchestrate a check or build follows the same pattern:
4
+ *
5
+ * 1. If the consumer defined a `scripts.<name>` in their package.json,
6
+ * run that. Honors whatever the project already encodes.
7
+ * 2. Otherwise, if a list of sub-scripts is defined (e.g. `check`
8
+ * decomposes into `format:check`, `lint`, `typecheck`), run each
9
+ * that the consumer has defined.
10
+ * 3. Otherwise, fall back to spawning installed binaries — but only
11
+ * if the binary actually exists in `node_modules/.bin`. We never
12
+ * spawn a tool we haven't verified is present, so consumers that
13
+ * use a different formatter / linter / type checker don't see a
14
+ * surprise `ENOENT` from our hardcoded defaults.
15
+ *
16
+ * The result is that `nwire check` reads as "run the project's check,
17
+ * whatever that means in this project" rather than "run our chosen
18
+ * formatter on the project, hope they have it installed."
19
+ */
20
+ import { existsSync, readFileSync } from "node:fs";
21
+ import { resolve } from "node:path";
22
+ import { detectPackageManager, execBinaryCommand, runScriptCommand, } from "./package-manager.js";
23
+ import { runTaskList } from "./run-task.js";
24
+ function readScripts(cwd) {
25
+ const p = resolve(cwd, "package.json");
26
+ if (!existsSync(p))
27
+ return {};
28
+ try {
29
+ const pkg = JSON.parse(readFileSync(p, "utf8"));
30
+ return pkg.scripts ?? {};
31
+ }
32
+ catch {
33
+ return {};
34
+ }
35
+ }
36
+ function binaryInstalled(cwd, bin) {
37
+ return (existsSync(resolve(cwd, "node_modules", ".bin", bin)) ||
38
+ existsSync(resolve(cwd, "node_modules", ".bin", `${bin}.cmd`)));
39
+ }
40
+ function buildTasksForStrategy(cwd, pm, strategy) {
41
+ const scripts = readScripts(cwd);
42
+ if (strategy.consumerScript && scripts[strategy.consumerScript]) {
43
+ const [command, args] = runScriptCommand(pm, strategy.consumerScript);
44
+ return {
45
+ tasks: [
46
+ {
47
+ title: `${pm} run ${strategy.consumerScript}`,
48
+ command,
49
+ args,
50
+ },
51
+ ],
52
+ source: "consumer-script",
53
+ };
54
+ }
55
+ if (strategy.consumerSubScripts && strategy.consumerSubScripts.length > 0) {
56
+ const available = strategy.consumerSubScripts.filter((s) => scripts[s] !== undefined);
57
+ if (available.length > 0) {
58
+ return {
59
+ tasks: available.map((script) => {
60
+ const [command, args] = runScriptCommand(pm, script);
61
+ return { title: `${pm} run ${script}`, command, args };
62
+ }),
63
+ source: "consumer-subscripts",
64
+ };
65
+ }
66
+ }
67
+ if (strategy.fallback && strategy.fallback.length > 0) {
68
+ const available = strategy.fallback.filter((f) => binaryInstalled(cwd, f.bin));
69
+ if (available.length > 0) {
70
+ return {
71
+ tasks: available.map((f) => {
72
+ const [command, args] = execBinaryCommand(pm, f.bin, f.args);
73
+ return { title: f.title, command, args };
74
+ }),
75
+ source: "fallback",
76
+ };
77
+ }
78
+ }
79
+ return { tasks: [], source: "none" };
80
+ }
81
+ export async function runScriptStrategy(cwd, strategy) {
82
+ const pm = detectPackageManager(cwd);
83
+ const { tasks, source } = buildTasksForStrategy(cwd, pm, strategy);
84
+ if (source === "none") {
85
+ return { code: 0, ran: false };
86
+ }
87
+ void source;
88
+ const code = await runTaskList(tasks);
89
+ return { code, ran: true };
90
+ }
91
+ //# sourceMappingURL=script-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-runner.js","sourceRoot":"","sources":["../../src/lib/script-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Single-source the CLI version from its own package.json. Read once at
3
+ * module import; the result is stable across the process lifetime.
4
+ *
5
+ * Looks for `package.json` next to the compiled `dist/lib/version.js` or
6
+ * next to the source `src/lib/version.ts` (the dev runner path).
7
+ */
8
+ export declare function cliVersion(): string;
9
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoBH,wBAAgB,UAAU,IAAI,MAAM,CAKnC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Single-source the CLI version from its own package.json. Read once at
3
+ * module import; the result is stable across the process lifetime.
4
+ *
5
+ * Looks for `package.json` next to the compiled `dist/lib/version.js` or
6
+ * next to the source `src/lib/version.ts` (the dev runner path).
7
+ */
8
+ import { readFileSync, existsSync } from "node:fs";
9
+ import { dirname, resolve } from "node:path";
10
+ import { fileURLToPath } from "node:url";
11
+ const here = dirname(fileURLToPath(import.meta.url));
12
+ function locate() {
13
+ for (const candidate of [
14
+ resolve(here, "..", "..", "package.json"),
15
+ resolve(here, "..", "..", "..", "package.json"),
16
+ ]) {
17
+ if (existsSync(candidate))
18
+ return candidate;
19
+ }
20
+ throw new Error("nwire-cli: package.json not found relative to version.ts");
21
+ }
22
+ let cached;
23
+ export function cliVersion() {
24
+ if (cached)
25
+ return cached;
26
+ const pkg = JSON.parse(readFileSync(locate(), "utf8"));
27
+ cached = pkg.version ?? "0.0.0";
28
+ return cached;
29
+ }
30
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAErD,SAAS,MAAM;IACb,KAAK,MAAM,SAAS,IAAI;QACtB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;QACzC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;KAChD,EAAE,CAAC;QACF,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC9E,CAAC;AAED,IAAI,MAA0B,CAAC;AAE/B,MAAM,UAAU,UAAU;IACxB,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAyB,CAAC;IAC/E,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAChC,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/ls-runner.js CHANGED
@@ -1,52 +1,47 @@
1
1
  // `nwire ls` — list every wire + every action across all apps.
2
+ import { existsSync, readFileSync } from "node:fs";
2
3
  import { relative, resolve } from "node:path";
3
- import { readdirSync, statSync, existsSync } from "node:fs";
4
- function listWires(appsRoot) {
5
- if (!existsSync(appsRoot))
6
- return [];
7
- const wires = [];
8
- for (const app of readdirSync(appsRoot)) {
9
- const appDir = resolve(appsRoot, app);
10
- if (!statSync(appDir).isDirectory())
11
- continue;
12
- for (const file of readdirSync(appDir)) {
13
- if (!file.startsWith("run") || !file.endsWith(".ts"))
14
- continue;
15
- if (file.endsWith(".d.ts"))
16
- continue;
17
- const stem = file.slice(0, -3);
18
- const variant = stem === "run" ? "" : `.${stem.slice(4)}`;
19
- wires.push({ wire: `${app}${variant}`, path: resolve(appDir, file) });
20
- }
4
+ import { detectLayout } from "./lib/layout.js";
5
+ function loadManifest(cwd) {
6
+ const p = resolve(cwd, ".nwire", "manifest.json");
7
+ if (!existsSync(p))
8
+ return undefined;
9
+ try {
10
+ return JSON.parse(readFileSync(p, "utf8"));
11
+ }
12
+ catch {
13
+ return undefined;
21
14
  }
22
- return wires;
23
15
  }
24
16
  async function main() {
25
17
  const cwd = process.cwd();
26
- const appsRoot = resolve(cwd, "apps");
27
- const wires = listWires(appsRoot);
18
+ const layout = detectLayout(cwd);
28
19
  console.log("Wires:");
29
- for (const { wire, path } of wires) {
30
- const rel = relative(cwd, path);
31
- console.log(` ${wire.padEnd(28)} ${rel}`);
20
+ if (layout.wires.length === 0) {
21
+ console.log(" (none add an entry under app/, apps/<name>/, or src/)");
32
22
  }
33
- console.log();
34
- // Try to list actions from the apps registry.
35
- const appsPath = resolve(cwd, "apps/apps.ts");
36
- if (existsSync(appsPath)) {
37
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
- const mod = await import(/* @vite-ignore */ appsPath);
39
- const apps = mod.allApps ?? mod.apps ?? [];
40
- console.log("Actions:");
41
- for (const app of apps) {
42
- for (const module of app.modules) {
43
- for (const action of module.manifest.actions ?? []) {
44
- const label = `${action.name}`.padEnd(40);
45
- console.log(` ${label} ${app.name}/${module.name}`);
46
- }
47
- }
23
+ else {
24
+ for (const w of layout.wires) {
25
+ console.log(` ${w.name.padEnd(28)} ${relative(cwd, w.entry)}`);
48
26
  }
49
27
  }
28
+ console.log();
29
+ const manifest = loadManifest(cwd);
30
+ if (!manifest) {
31
+ console.log("Actions: (run `nwire cache` to populate)");
32
+ return;
33
+ }
34
+ const actions = manifest.actions ?? [];
35
+ if (actions.length === 0) {
36
+ console.log("Actions: (none registered)");
37
+ return;
38
+ }
39
+ console.log("Actions:");
40
+ for (const a of actions) {
41
+ const label = a.name.padEnd(40);
42
+ const owner = a.app && a.module ? `${a.app}/${a.module}` : "";
43
+ console.log(` ${label} ${owner}`);
44
+ }
50
45
  }
51
46
  main().catch((err) => {
52
47
  console.error(err);
@@ -1 +1 @@
1
- {"version":3,"file":"ls-runner.js","sourceRoot":"","sources":["../src/ls-runner.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE5D,SAAS,SAAS,CAAC,QAAgB;IACjC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,KAAK,GAA0C,EAAE,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;YAAE,SAAS;QAC9C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,8DAA8D;QAC9D,MAAM,GAAG,GAAQ,MAAM,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;oBACnD,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ls-runner.js","sourceRoot":"","sources":["../src/ls-runner.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAY5C,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAa,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nwire/cli",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
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.",
5
5
  "keywords": [
6
6
  "cli",
@@ -36,10 +36,10 @@
36
36
  "listr2": "^9.0.4",
37
37
  "picocolors": "^1.1.1",
38
38
  "react": "^18.3.1",
39
- "@nwire/kernel": "0.9.1",
40
- "@nwire/mcp": "0.9.1",
41
- "@nwire/scan": "0.9.1",
42
- "@nwire/hooks": "0.9.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"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^22.19.9",