@mudah-cli/mudah 0.2.0 → 0.3.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.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { run, type RunOptions } from './run.js';
2
2
  export { createWatcher, type WatcherOptions } from './watcher.js';
3
3
  export { Command } from '@mudah-cli/console';
4
- export { Application, EventBus, ServiceProvider, UsageError, ExitError, CommandCancelled, loadManifest, type MudahManifest, type LazyProviderOptions, type ProviderClass, type AppEvents, } from '@mudah-cli/core';
5
- export { ConfigRepository, defineConfig, env, loadEnvFile, loadConfigFiles } from '@mudah-cli/config';
4
+ export { Application, EventBus, ServiceProvider, UsageError, ExitError, CommandCancelled, checkForUpdate, clearUpdateCache, compareSemVer, discoverPlugins, findPluginPackages, formatUpdateNudge, loadManifest, loadPlugin, parseSemVer, type MudahManifest, type LazyProviderOptions, type PluginDiscoveryOptions, type PluginInfo, type ProviderClass, type AppEvents, type UpdateCheckOptions, type UpdateCheckResult, } from '@mudah-cli/core';
5
+ export { ConfigRepository, ConfigValidationError, assertSchema, defineConfig, env, loadEnvFile, loadConfigFiles, s, validateSchema, type Schema, type SchemaIssue, type SchemaResult, } from '@mudah-cli/config';
6
6
  export { Container } from '@mudah-cli/container';
7
7
  export { detectCapabilities, type TerminalCapabilities } from '@mudah-cli/terminal';
package/dist/index.js CHANGED
@@ -2,8 +2,8 @@ export { run } from './run.js';
2
2
  export { createWatcher } from './watcher.js';
3
3
  // App-facing re-exports: `import { Command } from '@mudah-cli/mudah'` is all users need.
4
4
  export { Command } from '@mudah-cli/console';
5
- export { Application, EventBus, ServiceProvider, UsageError, ExitError, CommandCancelled, loadManifest, } from '@mudah-cli/core';
6
- export { ConfigRepository, defineConfig, env, loadEnvFile, loadConfigFiles } from '@mudah-cli/config';
5
+ export { Application, EventBus, ServiceProvider, UsageError, ExitError, CommandCancelled, checkForUpdate, clearUpdateCache, compareSemVer, discoverPlugins, findPluginPackages, formatUpdateNudge, loadManifest, loadPlugin, parseSemVer, } from '@mudah-cli/core';
6
+ export { ConfigRepository, ConfigValidationError, assertSchema, defineConfig, env, loadEnvFile, loadConfigFiles, s, validateSchema, } from '@mudah-cli/config';
7
7
  export { Container } from '@mudah-cli/container';
8
8
  export { detectCapabilities } from '@mudah-cli/terminal';
9
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAmB,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,aAAa,EAAuB,MAAM,cAAc,CAAC;AAElE,yFAAyF;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,QAAQ,EACR,eAAe,EACf,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,YAAY,GAKb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAA6B,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAmB,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,aAAa,EAAuB,MAAM,cAAc,CAAC;AAElE,yFAAyF;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,QAAQ,EACR,eAAe,EACf,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,WAAW,GASZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,GAAG,EACH,WAAW,EACX,eAAe,EACf,CAAC,EACD,cAAc,GAIf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAA6B,MAAM,qBAAqB,CAAC"}
package/dist/run.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { type Application as App, type MudahManifest } from '@mudah-cli/core';
2
+ import { type ThemeQueryInput } from '@mudah-cli/terminal';
2
3
  import { type CommandModule } from '@mudah-cli/console';
3
4
  export interface RunOptions {
4
5
  /** Raw arguments (default: `process.argv.slice(2)`). */
@@ -16,6 +17,29 @@ export interface RunOptions {
16
17
  stderr?: {
17
18
  write(data: string): unknown;
18
19
  };
20
+ /**
21
+ * Stream the `'auto'` theme query reads from. Overriding it (and `stdout`)
22
+ * lets tests answer the query without a real terminal.
23
+ */
24
+ stdin?: ThemeQueryInput;
25
+ /**
26
+ * Set false to never query the terminal for its colors. Tests and
27
+ * non-interactive runs use it to keep startup synchronous.
28
+ */
29
+ allowThemeQuery?: boolean;
30
+ /**
31
+ * Publishable package name for the update nudge. Omit (or set
32
+ * `checkUpdates: false`) to skip the check entirely — the default, since
33
+ * only published apps can be compared against a registry.
34
+ */
35
+ updatePackage?: string;
36
+ /** Override the update-check cache directory (tests). */
37
+ updateCacheDir?: string;
38
+ /**
39
+ * Skip plugin discovery. Bundled apps with no `node_modules` (and tests
40
+ * that don't want filesystem scanning) set this.
41
+ */
42
+ disablePlugins?: boolean;
19
43
  /**
20
44
  * Bake the manifest instead of reading `mudah.json` from `cwd`. Use this
21
45
  * for bundled/single-file tools that run from arbitrary directories.
package/dist/run.js CHANGED
@@ -1,6 +1,6 @@
1
- import { Application, UsageError, loadManifest, } from '@mudah-cli/core';
1
+ import { Application, UsageError, loadManifest, checkForUpdate, formatUpdateNudge, } from '@mudah-cli/core';
2
2
  import { detectCapabilities } from '@mudah-cli/terminal';
3
- import { Output, resolveTheme } from '@mudah-cli/ui';
3
+ import { Output, detectTheme, renderTable } from '@mudah-cli/ui';
4
4
  import { ConsoleKernel, renderError, renderCommandHelp, renderCommandList, parseSignature } from '@mudah-cli/console';
5
5
  import HelpCommand from './commands/help.command.js';
6
6
  import VersionCommand from './commands/version.command.js';
@@ -26,20 +26,29 @@ export async function run(options = {}) {
26
26
  const argv = options.argv ?? process.argv.slice(2);
27
27
  const env = options.env;
28
28
  const caps = detectCapabilities({ env });
29
+ // Resolved once: every later write (envelopes included) targets these, so
30
+ // output modes work with or without injected streams.
31
+ const stdout = options.stdout ?? process.stdout;
32
+ const stderr = options.stderr ?? process.stderr;
29
33
  let manifest;
30
34
  try {
31
35
  manifest = options.manifest ?? loadManifest(cwd);
32
36
  }
33
37
  catch (error) {
34
38
  const message = error instanceof Error ? error.message : String(error);
35
- (options.stderr ?? process.stderr).write(message + '\n');
39
+ stderr.write(message + '\n');
36
40
  return 1;
37
41
  }
38
42
  const app = options.app ?? new Application(cwd, manifest);
39
- const theme = resolveTheme(manifest.ui?.theme);
43
+ const theme = await detectTheme({
44
+ name: manifest.ui?.theme,
45
+ allowQuery: caps.themeQuery && options.allowThemeQuery !== false,
46
+ stdout,
47
+ stdin: options.stdin,
48
+ });
40
49
  const output = new Output({
41
- stream: options.stdout ?? process.stdout,
42
- errorStream: options.stderr ?? process.stderr,
50
+ stream: stdout,
51
+ errorStream: stderr,
43
52
  theme,
44
53
  colorLevel: caps.colorLevel,
45
54
  unicode: caps.unicode,
@@ -53,10 +62,28 @@ export async function run(options = {}) {
53
62
  output.setMode('plain');
54
63
  }
55
64
  const jsonMode = output.isMachineReadable;
65
+ const profileMode = argv.includes('--profile');
56
66
  const startedAt = Date.now();
67
+ // Update nudge: opt-in per app (a package name must be given) and never in
68
+ // the way of scripts, CI, or machine-readable output.
69
+ const ci = env?.['CI'] ?? process.env['CI'];
70
+ const updateOptions = options.updatePackage === undefined ||
71
+ manifest.updates === false ||
72
+ jsonMode ||
73
+ !caps.isTty ||
74
+ (ci !== undefined && ci !== '' && ci !== 'false')
75
+ ? undefined
76
+ : {
77
+ packageName: options.updatePackage,
78
+ currentVersion: manifest.version,
79
+ cacheDir: options.updateCacheDir,
80
+ };
81
+ // Plugins first: their providers must be registered before boot, and their
82
+ // commands join the same discovery list as the app's own.
83
+ const plugins = options.disablePlugins === true ? [] : await app.discoverPlugins();
57
84
  // Providers: discover app providers, boot, then evaluate lazy predicates.
58
85
  await app.discoverProviders();
59
- await app.boot();
86
+ const bootProfile = await app.boot({ profile: profileMode });
60
87
  await app.evaluateLazy();
61
88
  // Kernel: built-ins first, then — in order — discovered app commands,
62
89
  // manifest extras, and explicitly injected modules (bundled apps).
@@ -68,6 +95,9 @@ export async function run(options = {}) {
68
95
  const candidates = [
69
96
  ...(await app.discoverCommandModules()),
70
97
  ...(options.commands ?? []),
98
+ // Plugin commands go last: registration is first-wins, so an app command
99
+ // with the same name keeps precedence over the plugin's.
100
+ ...plugins.flatMap((plugin) => plugin.commands),
71
101
  ];
72
102
  for (const extra of manifest.commands ?? []) {
73
103
  const mod = (await app.importModule(extra));
@@ -90,28 +120,29 @@ export async function run(options = {}) {
90
120
  kernel.register(mod);
91
121
  }
92
122
  catch (error) {
93
- (options.stderr ?? process.stderr).write((error instanceof Error ? error.message : String(error)) + '\n');
123
+ stderr.write((error instanceof Error ? error.message : String(error)) + '\n');
94
124
  }
95
125
  }
96
- // Strip the mode flags before dispatch so commands don't see them as
126
+ // Strip the global flags before dispatch so commands don't see them as
97
127
  // unknown options; remember the command name for envelopes/errors.
98
- const dispatchArgv = argv.filter((a) => a !== '--json' && a !== '--plain');
128
+ const dispatchArgv = argv.filter((a) => a !== '--json' && a !== '--plain' && a !== '--profile');
99
129
  const commandName = dispatchArgv[0];
100
130
  // Global flags.
101
131
  const [first] = dispatchArgv;
102
132
  if (first === undefined || first === '--help' || first === '-h') {
103
133
  if (jsonMode) {
104
- options.stdout?.write(output.jsonEnvelope({ ok: true, exitCode: 0, command: 'help', commands: kernel.list().map((c) => c.name) }));
134
+ stdout.write(output.jsonEnvelope({ ok: true, exitCode: 0, command: 'help', commands: kernel.list().map((c) => c.name) }));
105
135
  return 0;
106
136
  }
107
137
  const lines = [];
108
138
  renderCommandList(manifest.name, manifest.version, kernel.list(), lines);
109
139
  output.raw(lines.join('\n'));
140
+ output.raw('\n\nGlobal flags:\n --help/-h Show this help\n --version Show the version\n --json Machine-readable JSON output\n --plain Strip all ANSI styling\n --profile Print boot and command timings');
110
141
  return 0;
111
142
  }
112
143
  if (first === '--version') {
113
144
  if (jsonMode) {
114
- options.stdout?.write(output.jsonEnvelope({ ok: true, exitCode: 0, command: 'version', version: manifest.version }));
145
+ stdout.write(output.jsonEnvelope({ ok: true, exitCode: 0, command: 'version', version: manifest.version }));
115
146
  return 0;
116
147
  }
117
148
  output.info(`${manifest.name} v${manifest.version}`);
@@ -120,7 +151,7 @@ export async function run(options = {}) {
120
151
  if ((argv[1] === '--help' || argv[1] === '-h') && kernel.has(first)) {
121
152
  if (jsonMode) {
122
153
  const entry = kernel.get(first);
123
- options.stdout?.write(output.jsonEnvelope({
154
+ stdout.write(output.jsonEnvelope({
124
155
  ok: true,
125
156
  exitCode: 0,
126
157
  command: first,
@@ -134,15 +165,27 @@ export async function run(options = {}) {
134
165
  return 0;
135
166
  }
136
167
  try {
137
- const code = await kernel.dispatch(dispatchArgv);
168
+ const code = await kernel.dispatch(resolveGroup(kernel, dispatchArgv));
138
169
  if (jsonMode) {
139
- options.stdout?.write(output.jsonEnvelope({
170
+ stdout.write(output.jsonEnvelope({
140
171
  ok: code === 0,
141
172
  exitCode: code,
142
173
  command: commandName,
143
174
  durationMs: Date.now() - startedAt,
175
+ ...(bootProfile === undefined ? {} : { boot: bootProfile }),
144
176
  }));
145
177
  }
178
+ else {
179
+ if (profileMode) {
180
+ renderProfile(output, bootProfile, caps, {
181
+ command: commandName,
182
+ commandMs: Date.now() - startedAt - (bootProfile?.totalMs ?? 0),
183
+ totalMs: Date.now() - startedAt,
184
+ });
185
+ }
186
+ if (code === 0)
187
+ await nudgeUpdate(output, manifest, updateOptions);
188
+ }
146
189
  return code;
147
190
  }
148
191
  catch (rawError) {
@@ -158,17 +201,75 @@ export async function run(options = {}) {
158
201
  }
159
202
  const code = renderError(rawError, output);
160
203
  if (jsonMode) {
161
- options.stdout?.write(output.jsonEnvelope({
204
+ stdout.write(output.jsonEnvelope({
162
205
  ok: false,
163
206
  exitCode: code,
164
207
  command: commandName,
165
208
  durationMs: Date.now() - startedAt,
209
+ ...(bootProfile === undefined ? {} : { boot: bootProfile }),
166
210
  error: parsed,
167
211
  }));
168
212
  }
169
213
  return code;
170
214
  }
171
215
  }
216
+ /**
217
+ * Render the `--profile` report. Uses `Output` so it respects `--plain`
218
+ * (no ANSI) and keeps the timing data machine-readable under `--json`.
219
+ */
220
+ function renderProfile(output, boot, caps, totals) {
221
+ const rows = [['total', `${totals.totalMs}ms`]];
222
+ if (boot !== undefined) {
223
+ rows.push(['boot', `${boot.totalMs}ms`]);
224
+ // Every hook is listed, including sub-millisecond ones: which providers
225
+ // are effectively free is exactly what you profile for.
226
+ for (const timing of boot.providers) {
227
+ rows.push([` ${timing.provider}.${timing.hook}`, `${timing.durationMs}ms`]);
228
+ }
229
+ }
230
+ if (totals.command !== undefined) {
231
+ rows.push([`command ${totals.command}`, `${totals.commandMs}ms`]);
232
+ }
233
+ output.line();
234
+ output.raw(renderTable([
235
+ { header: 'stage', align: 'left' },
236
+ { header: 'time', align: 'right' },
237
+ ], rows, { level: caps.colorLevel, unicode: caps.unicode }));
238
+ }
239
+ /**
240
+ * Let a bare namespace run its group's `default` command, the way
241
+ * `git remote` falls back to `git remote -h` style helpers: `db` runs
242
+ * `db:default` when that command exists.
243
+ *
244
+ * Everything else is passed through untouched, so grouping never changes
245
+ * how a real command resolves.
246
+ */
247
+ function resolveGroup(kernel, argv) {
248
+ const [name, ...rest] = argv;
249
+ if (name === undefined || kernel.has(name) || !kernel.hasGroup(name))
250
+ return argv;
251
+ const fallback = `${name}:default`;
252
+ if (!kernel.has(fallback))
253
+ return argv;
254
+ return [fallback, ...rest];
255
+ }
256
+ /**
257
+ * Mention a newer published version, at most once per cache window.
258
+ *
259
+ * Deliberately narrow: only on success, only for a TTY, never in JSON mode,
260
+ * and off entirely when the manifest says `updates: false` or CI is set. The
261
+ * check is bounded by its own timeout, so a slow registry can't stall exit.
262
+ */
263
+ async function nudgeUpdate(output, manifest, options) {
264
+ if (options === undefined)
265
+ return;
266
+ const info = await checkForUpdate(options).catch(() => undefined);
267
+ if (info === undefined)
268
+ return;
269
+ const line = formatUpdateNudge(info, manifest.bin);
270
+ if (line !== null)
271
+ output.muted(line);
272
+ }
172
273
  function registerBuiltIns(kernel) {
173
274
  kernel.register({
174
275
  default: class extends HelpCommand {
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mudah-cli/mudah",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "An ergonomic, animation-rich CLI framework — speed, sleek design, and developer ergonomics for Node and Bun.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -39,15 +39,15 @@
39
39
  ],
40
40
  "sideEffects": false,
41
41
  "dependencies": {
42
- "@mudah-cli/animation": "^0.2.0",
43
- "@mudah-cli/config": "^0.2.0",
44
- "@mudah-cli/console": "^0.2.0",
45
- "@mudah-cli/container": "^0.2.0",
46
- "@mudah-cli/core": "^0.2.0",
47
- "@mudah-cli/terminal": "^0.2.0",
48
- "@mudah-cli/testing": "^0.2.0",
49
- "@mudah-cli/tui": "^0.2.0",
50
- "@mudah-cli/ui": "^0.2.0"
42
+ "@mudah-cli/animation": "^0.3.0",
43
+ "@mudah-cli/config": "^0.3.0",
44
+ "@mudah-cli/console": "^0.3.0",
45
+ "@mudah-cli/container": "^0.3.0",
46
+ "@mudah-cli/core": "^0.3.0",
47
+ "@mudah-cli/terminal": "^0.3.0",
48
+ "@mudah-cli/testing": "^0.3.0",
49
+ "@mudah-cli/tui": "^0.3.0",
50
+ "@mudah-cli/ui": "^0.3.0"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public"