@mudah-cli/mudah 0.7.0 → 0.9.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/LICENSE +21 -0
- package/README.md +70 -0
- package/dist/autocomplete.d.ts +8 -0
- package/dist/autocomplete.js +38 -0
- package/dist/autocomplete.js.map +1 -0
- package/dist/built-ins.d.ts +9 -0
- package/dist/built-ins.js +144 -0
- package/dist/built-ins.js.map +1 -0
- package/dist/commands/autocomplete.command.d.ts +11 -0
- package/dist/commands/autocomplete.command.js +16 -0
- package/dist/commands/autocomplete.command.js.map +1 -0
- package/dist/commands/build.command.d.ts +1 -0
- package/dist/commands/build.command.js +2 -1
- package/dist/commands/build.command.js.map +1 -1
- package/dist/commands/cache.command.d.ts +11 -0
- package/dist/commands/cache.command.js +47 -0
- package/dist/commands/cache.command.js.map +1 -0
- package/dist/commands/complete.command.d.ts +13 -0
- package/dist/commands/complete.command.js +23 -0
- package/dist/commands/complete.command.js.map +1 -0
- package/dist/commands/config.diff.command.d.ts +8 -0
- package/dist/commands/config.diff.command.js +96 -0
- package/dist/commands/config.diff.command.js.map +1 -0
- package/dist/commands/config.set.command.d.ts +8 -0
- package/dist/commands/config.set.command.js +66 -0
- package/dist/commands/config.set.command.js.map +1 -0
- package/dist/commands/config.show.command.d.ts +8 -0
- package/dist/commands/config.show.command.js +38 -0
- package/dist/commands/config.show.command.js.map +1 -0
- package/dist/commands/config.source.command.d.ts +8 -0
- package/dist/commands/config.source.command.js +42 -0
- package/dist/commands/config.source.command.js.map +1 -0
- package/dist/commands/config.validate.command.d.ts +14 -0
- package/dist/commands/config.validate.command.js +63 -0
- package/dist/commands/config.validate.command.js.map +1 -0
- package/dist/commands/dev.command.d.ts +1 -0
- package/dist/commands/dev.command.js +1 -0
- package/dist/commands/dev.command.js.map +1 -1
- package/dist/commands/docs.widgets.command.d.ts +11 -0
- package/dist/commands/docs.widgets.command.js +17 -0
- package/dist/commands/docs.widgets.command.js.map +1 -0
- package/dist/commands/doctor.command.d.ts +1 -0
- package/dist/commands/doctor.command.js +36 -6
- package/dist/commands/doctor.command.js.map +1 -1
- package/dist/commands/graph.command.d.ts +10 -0
- package/dist/commands/graph.command.js +21 -0
- package/dist/commands/graph.command.js.map +1 -0
- package/dist/commands/help.command.d.ts +1 -0
- package/dist/commands/help.command.js +2 -2
- package/dist/commands/help.command.js.map +1 -1
- package/dist/commands/info.command.d.ts +8 -0
- package/dist/commands/info.command.js +61 -0
- package/dist/commands/info.command.js.map +1 -0
- package/dist/commands/lsp.command.d.ts +12 -0
- package/dist/commands/lsp.command.js +57 -0
- package/dist/commands/lsp.command.js.map +1 -0
- package/dist/commands/make.command.d.ts +2 -0
- package/dist/commands/make.command.js +75 -4
- package/dist/commands/make.command.js.map +1 -1
- package/dist/commands/plugins.list.command.d.ts +12 -0
- package/dist/commands/plugins.list.command.js +29 -0
- package/dist/commands/plugins.list.command.js.map +1 -0
- package/dist/commands/plugins.update.command.d.ts +29 -0
- package/dist/commands/plugins.update.command.js +78 -0
- package/dist/commands/plugins.update.command.js.map +1 -0
- package/dist/commands/plugins.watch.command.d.ts +10 -0
- package/dist/commands/plugins.watch.command.js +37 -0
- package/dist/commands/plugins.watch.command.js.map +1 -0
- package/dist/commands/replay.command.d.ts +10 -0
- package/dist/commands/replay.command.js +50 -0
- package/dist/commands/replay.command.js.map +1 -0
- package/dist/commands/storybook.command.d.ts +11 -0
- package/dist/commands/storybook.command.js +84 -0
- package/dist/commands/storybook.command.js.map +1 -0
- package/dist/commands/telemetry.command.d.ts +12 -0
- package/dist/commands/telemetry.command.js +55 -0
- package/dist/commands/telemetry.command.js.map +1 -0
- package/dist/commands/test.command.d.ts +13 -0
- package/dist/commands/test.command.js +83 -0
- package/dist/commands/test.command.js.map +1 -0
- package/dist/commands/tutorial.command.d.ts +12 -0
- package/dist/commands/tutorial.command.js +57 -0
- package/dist/commands/tutorial.command.js.map +1 -0
- package/dist/commands/version.command.d.ts +1 -0
- package/dist/commands/version.command.js +1 -0
- package/dist/commands/version.command.js.map +1 -1
- package/dist/commands/watch.command.d.ts +13 -0
- package/dist/commands/watch.command.js +62 -0
- package/dist/commands/watch.command.js.map +1 -0
- package/dist/index.d.ts +8 -5
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/lsp.d.ts +147 -0
- package/dist/lsp.js +497 -0
- package/dist/lsp.js.map +1 -0
- package/dist/run.d.ts +4 -2
- package/dist/run.js +372 -37
- package/dist/run.js.map +1 -1
- package/dist/watcher.d.ts +20 -1
- package/dist/watcher.js +41 -4
- package/dist/watcher.js.map +1 -1
- package/package.json +27 -10
package/dist/watcher.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { existsSync, watch } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
function ignored(path, ignore) {
|
|
4
|
+
return ignore.some((fragment) => fragment !== '' && path.includes(fragment));
|
|
5
|
+
}
|
|
2
6
|
/**
|
|
3
7
|
* Watch a set of files or directories (recursively where the platform
|
|
4
8
|
* supports it) and invoke `onChange` after a quiet debounce period.
|
|
@@ -6,13 +10,18 @@ import { watch, existsSync } from 'node:fs';
|
|
|
6
10
|
*/
|
|
7
11
|
export function createWatcher(paths, onChange, options = {}) {
|
|
8
12
|
const debounceMs = options.debounceMs ?? 150;
|
|
13
|
+
const ignore = options.ignore ?? ['node_modules', '.git', 'dist'];
|
|
9
14
|
let timer = null;
|
|
10
|
-
|
|
15
|
+
let lastFile;
|
|
16
|
+
const emit = (filename) => {
|
|
17
|
+
if (filename !== undefined && ignored(filename, ignore))
|
|
18
|
+
return;
|
|
19
|
+
lastFile = filename;
|
|
11
20
|
if (timer)
|
|
12
21
|
clearTimeout(timer);
|
|
13
22
|
timer = setTimeout(() => {
|
|
14
23
|
timer = null;
|
|
15
|
-
onChange();
|
|
24
|
+
onChange(lastFile);
|
|
16
25
|
}, debounceMs);
|
|
17
26
|
};
|
|
18
27
|
const watchers = [];
|
|
@@ -20,7 +29,9 @@ export function createWatcher(paths, onChange, options = {}) {
|
|
|
20
29
|
if (!existsSync(path))
|
|
21
30
|
continue;
|
|
22
31
|
try {
|
|
23
|
-
watchers.push(watch(path, { recursive: true },
|
|
32
|
+
watchers.push(watch(path, { recursive: true }, (_event, filename) => {
|
|
33
|
+
emit(typeof filename === 'string' ? filename : undefined);
|
|
34
|
+
}));
|
|
24
35
|
}
|
|
25
36
|
catch {
|
|
26
37
|
// Some platforms don't support recursive watch; skip that path.
|
|
@@ -34,4 +45,30 @@ export function createWatcher(paths, onChange, options = {}) {
|
|
|
34
45
|
}
|
|
35
46
|
};
|
|
36
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Watch a plugin directory (typically `node_modules` or a local plugin
|
|
50
|
+
* folder) and invoke `onReload` after a quiet debounce. Uses
|
|
51
|
+
* {@link createWatcher}.
|
|
52
|
+
*/
|
|
53
|
+
export function watchPlugins(dir, onReload, options = {}) {
|
|
54
|
+
return createWatcher([dir], onReload, { ignore: ['dist'], ...options });
|
|
55
|
+
}
|
|
56
|
+
/** Directories `mudah watch` should observe for a glob like `src/**`. */
|
|
57
|
+
export function pathsFromGlob(base, glob) {
|
|
58
|
+
const stripped = glob
|
|
59
|
+
.replace(/\/\*\*.*$/, '')
|
|
60
|
+
.replace(/\/\*$/, '')
|
|
61
|
+
.replace(/\/$/, '');
|
|
62
|
+
const dir = stripped === '' || stripped === '**' ? 'src' : stripped;
|
|
63
|
+
return [join(base, dir), join(base, 'src'), join(base, 'config'), join(base, 'mudah.json')];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Watch `node_modules` (or `dir`) and re-import providers via `reloadPlugins`.
|
|
67
|
+
*/
|
|
68
|
+
export function hotReloadPlugins(app, onReload, options = {}) {
|
|
69
|
+
const dir = options.dir ?? join(app.basePath, 'node_modules');
|
|
70
|
+
return watchPlugins(dir, (filename) => {
|
|
71
|
+
void app.reloadPlugins().then(() => onReload?.(filename));
|
|
72
|
+
}, options);
|
|
73
|
+
}
|
|
37
74
|
//# sourceMappingURL=watcher.js.map
|
package/dist/watcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mudah-cli/mudah",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.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",
|
|
7
|
+
"author": "Mudah Contributors",
|
|
8
|
+
"homepage": "https://github.com/thesimonharms/mudah#readme",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/thesimonharms/mudah.git",
|
|
12
|
+
"directory": "packages/mudah"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"cli",
|
|
16
|
+
"terminal",
|
|
17
|
+
"tui",
|
|
18
|
+
"framework",
|
|
19
|
+
"scaffold",
|
|
20
|
+
"bun",
|
|
21
|
+
"node",
|
|
22
|
+
"typescript"
|
|
23
|
+
],
|
|
7
24
|
"engines": {
|
|
8
25
|
"node": ">=26"
|
|
9
26
|
},
|
|
@@ -39,15 +56,15 @@
|
|
|
39
56
|
],
|
|
40
57
|
"sideEffects": false,
|
|
41
58
|
"dependencies": {
|
|
42
|
-
"@mudah-cli/animation": "^0.
|
|
43
|
-
"@mudah-cli/config": "^0.
|
|
44
|
-
"@mudah-cli/console": "^0.
|
|
45
|
-
"@mudah-cli/container": "^0.
|
|
46
|
-
"@mudah-cli/core": "^0.
|
|
47
|
-
"@mudah-cli/terminal": "^0.
|
|
48
|
-
"@mudah-cli/testing": "^0.
|
|
49
|
-
"@mudah-cli/tui": "^0.
|
|
50
|
-
"@mudah-cli/ui": "^0.
|
|
59
|
+
"@mudah-cli/animation": "^0.9.0",
|
|
60
|
+
"@mudah-cli/config": "^0.9.0",
|
|
61
|
+
"@mudah-cli/console": "^0.9.0",
|
|
62
|
+
"@mudah-cli/container": "^0.9.0",
|
|
63
|
+
"@mudah-cli/core": "^0.9.0",
|
|
64
|
+
"@mudah-cli/terminal": "^0.9.0",
|
|
65
|
+
"@mudah-cli/testing": "^0.9.0",
|
|
66
|
+
"@mudah-cli/tui": "^0.9.0",
|
|
67
|
+
"@mudah-cli/ui": "^0.9.0"
|
|
51
68
|
},
|
|
52
69
|
"publishConfig": {
|
|
53
70
|
"access": "public"
|