@mudah-cli/mudah 0.1.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 +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/run.d.ts +37 -1
- package/dist/run.js +199 -20
- package/dist/run.js.map +1 -1
- package/dist/tui.d.ts +1 -0
- package/dist/tui.js +2 -0
- package/dist/tui.js.map +1 -0
- package/package.json +14 -9
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,
|
|
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,6 @@
|
|
|
1
|
-
import { type Application as App } from '@mudah-cli/core';
|
|
1
|
+
import { type Application as App, type MudahManifest } from '@mudah-cli/core';
|
|
2
|
+
import { type ThemeQueryInput } from '@mudah-cli/terminal';
|
|
3
|
+
import { type CommandModule } from '@mudah-cli/console';
|
|
2
4
|
export interface RunOptions {
|
|
3
5
|
/** Raw arguments (default: `process.argv.slice(2)`). */
|
|
4
6
|
argv?: string[];
|
|
@@ -15,6 +17,40 @@ export interface RunOptions {
|
|
|
15
17
|
stderr?: {
|
|
16
18
|
write(data: string): unknown;
|
|
17
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;
|
|
43
|
+
/**
|
|
44
|
+
* Bake the manifest instead of reading `mudah.json` from `cwd`. Use this
|
|
45
|
+
* for bundled/single-file tools that run from arbitrary directories.
|
|
46
|
+
*/
|
|
47
|
+
manifest?: MudahManifest;
|
|
48
|
+
/**
|
|
49
|
+
* Register command modules explicitly (bundled apps that can't rely on
|
|
50
|
+
* filesystem discovery). Registered after discovered commands; duplicates
|
|
51
|
+
* are skipped with a warning.
|
|
52
|
+
*/
|
|
53
|
+
commands?: CommandModule[];
|
|
18
54
|
}
|
|
19
55
|
/**
|
|
20
56
|
* The Mudah entry point. An app's `bin/<name>` stub is:
|
package/dist/run.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Application, 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,
|
|
4
|
-
import { ConsoleKernel, renderError, renderCommandHelp, renderCommandList } from '@mudah-cli/console';
|
|
3
|
+
import { Output, detectTheme, renderTable } from '@mudah-cli/ui';
|
|
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';
|
|
7
7
|
import MakeCommand from './commands/make.command.js';
|
|
@@ -26,70 +26,249 @@ 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
|
-
manifest = loadManifest(cwd);
|
|
35
|
+
manifest = options.manifest ?? loadManifest(cwd);
|
|
32
36
|
}
|
|
33
37
|
catch (error) {
|
|
34
38
|
const message = error instanceof Error ? error.message : String(error);
|
|
35
|
-
|
|
39
|
+
stderr.write(message + '\n');
|
|
36
40
|
return 1;
|
|
37
41
|
}
|
|
38
42
|
const app = options.app ?? new Application(cwd, manifest);
|
|
39
|
-
const 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:
|
|
42
|
-
errorStream:
|
|
50
|
+
stream: stdout,
|
|
51
|
+
errorStream: stderr,
|
|
43
52
|
theme,
|
|
44
53
|
colorLevel: caps.colorLevel,
|
|
45
54
|
unicode: caps.unicode,
|
|
46
55
|
osc9: caps.osc9,
|
|
47
56
|
});
|
|
57
|
+
// Output-mode flags (--json / --plain) may appear anywhere.
|
|
58
|
+
if (argv.includes('--json')) {
|
|
59
|
+
output.setMode('json');
|
|
60
|
+
}
|
|
61
|
+
else if (argv.includes('--plain')) {
|
|
62
|
+
output.setMode('plain');
|
|
63
|
+
}
|
|
64
|
+
const jsonMode = output.isMachineReadable;
|
|
65
|
+
const profileMode = argv.includes('--profile');
|
|
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();
|
|
48
84
|
// Providers: discover app providers, boot, then evaluate lazy predicates.
|
|
49
85
|
await app.discoverProviders();
|
|
50
|
-
await app.boot();
|
|
86
|
+
const bootProfile = await app.boot({ profile: profileMode });
|
|
51
87
|
await app.evaluateLazy();
|
|
52
|
-
// Kernel: built-ins first, then discovered app commands,
|
|
88
|
+
// Kernel: built-ins first, then — in order — discovered app commands,
|
|
89
|
+
// manifest extras, and explicitly injected modules (bundled apps).
|
|
90
|
+
// First registration of a name wins; later duplicates are skipped so a
|
|
91
|
+
// checkout that both discovers and injects the same command stays clean.
|
|
53
92
|
const kernel = new ConsoleKernel(app, output);
|
|
54
93
|
registerBuiltIns(kernel);
|
|
55
|
-
const
|
|
94
|
+
const seen = new Set(kernel.list().map((entry) => entry.name));
|
|
95
|
+
const candidates = [
|
|
96
|
+
...(await app.discoverCommandModules()),
|
|
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),
|
|
101
|
+
];
|
|
56
102
|
for (const extra of manifest.commands ?? []) {
|
|
57
103
|
const mod = (await app.importModule(extra));
|
|
58
104
|
if (mod.default)
|
|
59
|
-
|
|
105
|
+
candidates.push(mod);
|
|
60
106
|
}
|
|
61
|
-
for (const mod of
|
|
107
|
+
for (const mod of candidates) {
|
|
108
|
+
try {
|
|
109
|
+
const name = parseSignature(new mod.default().signature ?? '').name;
|
|
110
|
+
if (name === '')
|
|
111
|
+
continue;
|
|
112
|
+
if (seen.has(name))
|
|
113
|
+
continue;
|
|
114
|
+
seen.add(name);
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
// register() below surfaces the real error.
|
|
118
|
+
}
|
|
62
119
|
try {
|
|
63
120
|
kernel.register(mod);
|
|
64
121
|
}
|
|
65
122
|
catch (error) {
|
|
66
|
-
|
|
123
|
+
stderr.write((error instanceof Error ? error.message : String(error)) + '\n');
|
|
67
124
|
}
|
|
68
125
|
}
|
|
126
|
+
// Strip the global flags before dispatch so commands don't see them as
|
|
127
|
+
// unknown options; remember the command name for envelopes/errors.
|
|
128
|
+
const dispatchArgv = argv.filter((a) => a !== '--json' && a !== '--plain' && a !== '--profile');
|
|
129
|
+
const commandName = dispatchArgv[0];
|
|
69
130
|
// Global flags.
|
|
70
|
-
const [first] =
|
|
71
|
-
if (first ===
|
|
131
|
+
const [first] = dispatchArgv;
|
|
132
|
+
if (first === undefined || first === '--help' || first === '-h') {
|
|
133
|
+
if (jsonMode) {
|
|
134
|
+
stdout.write(output.jsonEnvelope({ ok: true, exitCode: 0, command: 'help', commands: kernel.list().map((c) => c.name) }));
|
|
135
|
+
return 0;
|
|
136
|
+
}
|
|
72
137
|
const lines = [];
|
|
73
138
|
renderCommandList(manifest.name, manifest.version, kernel.list(), lines);
|
|
74
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');
|
|
75
141
|
return 0;
|
|
76
142
|
}
|
|
77
143
|
if (first === '--version') {
|
|
144
|
+
if (jsonMode) {
|
|
145
|
+
stdout.write(output.jsonEnvelope({ ok: true, exitCode: 0, command: 'version', version: manifest.version }));
|
|
146
|
+
return 0;
|
|
147
|
+
}
|
|
78
148
|
output.info(`${manifest.name} v${manifest.version}`);
|
|
79
149
|
return 0;
|
|
80
150
|
}
|
|
81
|
-
if (
|
|
151
|
+
if ((argv[1] === '--help' || argv[1] === '-h') && kernel.has(first)) {
|
|
152
|
+
if (jsonMode) {
|
|
153
|
+
const entry = kernel.get(first);
|
|
154
|
+
stdout.write(output.jsonEnvelope({
|
|
155
|
+
ok: true,
|
|
156
|
+
exitCode: 0,
|
|
157
|
+
command: first,
|
|
158
|
+
help: { usage: entry.signature.name, description: entry.description },
|
|
159
|
+
}));
|
|
160
|
+
return 0;
|
|
161
|
+
}
|
|
82
162
|
const lines = [];
|
|
83
163
|
renderCommandHelp(manifest.name, kernel.get(first), lines);
|
|
84
164
|
output.raw(lines.join('\n'));
|
|
85
165
|
return 0;
|
|
86
166
|
}
|
|
87
167
|
try {
|
|
88
|
-
|
|
168
|
+
const code = await kernel.dispatch(resolveGroup(kernel, dispatchArgv));
|
|
169
|
+
if (jsonMode) {
|
|
170
|
+
stdout.write(output.jsonEnvelope({
|
|
171
|
+
ok: code === 0,
|
|
172
|
+
exitCode: code,
|
|
173
|
+
command: commandName,
|
|
174
|
+
durationMs: Date.now() - startedAt,
|
|
175
|
+
...(bootProfile === undefined ? {} : { boot: bootProfile }),
|
|
176
|
+
}));
|
|
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
|
+
}
|
|
189
|
+
return code;
|
|
89
190
|
}
|
|
90
|
-
catch (
|
|
91
|
-
|
|
191
|
+
catch (rawError) {
|
|
192
|
+
let parsed;
|
|
193
|
+
if (rawError instanceof UsageError) {
|
|
194
|
+
parsed = { message: rawError.message, hint: rawError.hint, usage: rawError.usage };
|
|
195
|
+
}
|
|
196
|
+
else if (rawError instanceof Error) {
|
|
197
|
+
parsed = { message: rawError.message };
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
parsed = { message: String(rawError) };
|
|
201
|
+
}
|
|
202
|
+
const code = renderError(rawError, output);
|
|
203
|
+
if (jsonMode) {
|
|
204
|
+
stdout.write(output.jsonEnvelope({
|
|
205
|
+
ok: false,
|
|
206
|
+
exitCode: code,
|
|
207
|
+
command: commandName,
|
|
208
|
+
durationMs: Date.now() - startedAt,
|
|
209
|
+
...(bootProfile === undefined ? {} : { boot: bootProfile }),
|
|
210
|
+
error: parsed,
|
|
211
|
+
}));
|
|
212
|
+
}
|
|
213
|
+
return code;
|
|
214
|
+
}
|
|
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
|
+
}
|
|
92
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);
|
|
93
272
|
}
|
|
94
273
|
function registerBuiltIns(kernel) {
|
|
95
274
|
kernel.register({
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,YAAY,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/tui.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@mudah-cli/tui';
|
package/dist/tui.js
ADDED
package/dist/tui.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mudah-cli/mudah",
|
|
3
|
-
"version": "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",
|
|
@@ -24,6 +24,10 @@
|
|
|
24
24
|
"types": "./dist/animation.d.ts",
|
|
25
25
|
"default": "./dist/animation.js"
|
|
26
26
|
},
|
|
27
|
+
"./tui": {
|
|
28
|
+
"types": "./dist/tui.d.ts",
|
|
29
|
+
"default": "./dist/tui.js"
|
|
30
|
+
},
|
|
27
31
|
"./testing": {
|
|
28
32
|
"types": "./dist/testing.d.ts",
|
|
29
33
|
"default": "./dist/testing.js"
|
|
@@ -35,14 +39,15 @@
|
|
|
35
39
|
],
|
|
36
40
|
"sideEffects": false,
|
|
37
41
|
"dependencies": {
|
|
38
|
-
"@mudah-cli/animation": "^0.
|
|
39
|
-
"@mudah-cli/config": "^0.
|
|
40
|
-
"@mudah-cli/console": "^0.
|
|
41
|
-
"@mudah-cli/container": "^0.
|
|
42
|
-
"@mudah-cli/core": "^0.
|
|
43
|
-
"@mudah-cli/terminal": "^0.
|
|
44
|
-
"@mudah-cli/testing": "^0.
|
|
45
|
-
"@mudah-cli/
|
|
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"
|
|
46
51
|
},
|
|
47
52
|
"publishConfig": {
|
|
48
53
|
"access": "public"
|