@fnndsc/chell 4.2.8
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 +325 -0
- package/dist/builtins/debug.d.ts +6 -0
- package/dist/builtins/debug.js +47 -0
- package/dist/builtins/debug.js.map +1 -0
- package/dist/builtins/executable.d.ts +22 -0
- package/dist/builtins/executable.js +115 -0
- package/dist/builtins/executable.js.map +1 -0
- package/dist/builtins/fs/cat.d.ts +16 -0
- package/dist/builtins/fs/cat.js +249 -0
- package/dist/builtins/fs/cat.js.map +1 -0
- package/dist/builtins/fs/cd.d.ts +41 -0
- package/dist/builtins/fs/cd.js +178 -0
- package/dist/builtins/fs/cd.js.map +1 -0
- package/dist/builtins/fs/cp.d.ts +7 -0
- package/dist/builtins/fs/cp.js +73 -0
- package/dist/builtins/fs/cp.js.map +1 -0
- package/dist/builtins/fs/download.d.ts +6 -0
- package/dist/builtins/fs/download.js +41 -0
- package/dist/builtins/fs/download.js.map +1 -0
- package/dist/builtins/fs/du.d.ts +58 -0
- package/dist/builtins/fs/du.js +210 -0
- package/dist/builtins/fs/du.js.map +1 -0
- package/dist/builtins/fs/edit.d.ts +7 -0
- package/dist/builtins/fs/edit.js +86 -0
- package/dist/builtins/fs/edit.js.map +1 -0
- package/dist/builtins/fs/ls.d.ts +8 -0
- package/dist/builtins/fs/ls.js +68 -0
- package/dist/builtins/fs/ls.js.map +1 -0
- package/dist/builtins/fs/mkdir.d.ts +6 -0
- package/dist/builtins/fs/mkdir.js +38 -0
- package/dist/builtins/fs/mkdir.js.map +1 -0
- package/dist/builtins/fs/mv.d.ts +7 -0
- package/dist/builtins/fs/mv.js +75 -0
- package/dist/builtins/fs/mv.js.map +1 -0
- package/dist/builtins/fs/pull.args.d.ts +22 -0
- package/dist/builtins/fs/pull.args.js +30 -0
- package/dist/builtins/fs/pull.args.js.map +1 -0
- package/dist/builtins/fs/pull.d.ts +26 -0
- package/dist/builtins/fs/pull.js +413 -0
- package/dist/builtins/fs/pull.js.map +1 -0
- package/dist/builtins/fs/pwd.d.ts +7 -0
- package/dist/builtins/fs/pwd.js +75 -0
- package/dist/builtins/fs/pwd.js.map +1 -0
- package/dist/builtins/fs/rm.d.ts +31 -0
- package/dist/builtins/fs/rm.js +148 -0
- package/dist/builtins/fs/rm.js.map +1 -0
- package/dist/builtins/fs/touch.d.ts +6 -0
- package/dist/builtins/fs/touch.js +64 -0
- package/dist/builtins/fs/touch.js.map +1 -0
- package/dist/builtins/fs/tree.d.ts +15 -0
- package/dist/builtins/fs/tree.js +84 -0
- package/dist/builtins/fs/tree.js.map +1 -0
- package/dist/builtins/fs/upload.d.ts +6 -0
- package/dist/builtins/fs/upload.js +45 -0
- package/dist/builtins/fs/upload.js.map +1 -0
- package/dist/builtins/help.d.ts +74 -0
- package/dist/builtins/help.js +1217 -0
- package/dist/builtins/help.js.map +1 -0
- package/dist/builtins/index.d.ts +45 -0
- package/dist/builtins/index.js +45 -0
- package/dist/builtins/index.js.map +1 -0
- package/dist/builtins/net/connect.d.ts +7 -0
- package/dist/builtins/net/connect.js +42 -0
- package/dist/builtins/net/connect.js.map +1 -0
- package/dist/builtins/net/cubepath.d.ts +18 -0
- package/dist/builtins/net/cubepath.js +102 -0
- package/dist/builtins/net/cubepath.js.map +1 -0
- package/dist/builtins/net/logout.d.ts +6 -0
- package/dist/builtins/net/logout.js +24 -0
- package/dist/builtins/net/logout.js.map +1 -0
- package/dist/builtins/net/pacs.d.ts +24 -0
- package/dist/builtins/net/pacs.js +121 -0
- package/dist/builtins/net/pacs.js.map +1 -0
- package/dist/builtins/net/pacsUtils.d.ts +85 -0
- package/dist/builtins/net/pacsUtils.js +184 -0
- package/dist/builtins/net/pacsUtils.js.map +1 -0
- package/dist/builtins/net/query.d.ts +60 -0
- package/dist/builtins/net/query.js +304 -0
- package/dist/builtins/net/query.js.map +1 -0
- package/dist/builtins/parametersofplugin.d.ts +13 -0
- package/dist/builtins/parametersofplugin.js +43 -0
- package/dist/builtins/parametersofplugin.js.map +1 -0
- package/dist/builtins/pluginExecute.d.ts +27 -0
- package/dist/builtins/pluginExecute.js +165 -0
- package/dist/builtins/pluginExecute.js.map +1 -0
- package/dist/builtins/proc.d.ts +6 -0
- package/dist/builtins/proc.helpers.d.ts +68 -0
- package/dist/builtins/proc.helpers.js +102 -0
- package/dist/builtins/proc.helpers.js.map +1 -0
- package/dist/builtins/proc.js +289 -0
- package/dist/builtins/proc.js.map +1 -0
- package/dist/builtins/res/compute.d.ts +6 -0
- package/dist/builtins/res/compute.js +55 -0
- package/dist/builtins/res/compute.js.map +1 -0
- package/dist/builtins/res/feed.d.ts +6 -0
- package/dist/builtins/res/feed.js +244 -0
- package/dist/builtins/res/feed.js.map +1 -0
- package/dist/builtins/res/feed.notes.d.ts +28 -0
- package/dist/builtins/res/feed.notes.js +24 -0
- package/dist/builtins/res/feed.notes.js.map +1 -0
- package/dist/builtins/res/files.d.ts +18 -0
- package/dist/builtins/res/files.js +85 -0
- package/dist/builtins/res/files.js.map +1 -0
- package/dist/builtins/res/group.d.ts +6 -0
- package/dist/builtins/res/group.js +54 -0
- package/dist/builtins/res/group.js.map +1 -0
- package/dist/builtins/res/pipeline.args.d.ts +22 -0
- package/dist/builtins/res/pipeline.args.js +28 -0
- package/dist/builtins/res/pipeline.args.js.map +1 -0
- package/dist/builtins/res/pipeline.d.ts +20 -0
- package/dist/builtins/res/pipeline.js +252 -0
- package/dist/builtins/res/pipeline.js.map +1 -0
- package/dist/builtins/res/plugin.d.ts +13 -0
- package/dist/builtins/res/plugin.js +140 -0
- package/dist/builtins/res/plugin.js.map +1 -0
- package/dist/builtins/res/plugininstance.d.ts +6 -0
- package/dist/builtins/res/plugininstance.js +53 -0
- package/dist/builtins/res/plugininstance.js.map +1 -0
- package/dist/builtins/res/pluginmeta.d.ts +6 -0
- package/dist/builtins/res/pluginmeta.js +53 -0
- package/dist/builtins/res/pluginmeta.js.map +1 -0
- package/dist/builtins/res/tag.d.ts +6 -0
- package/dist/builtins/res/tag.js +53 -0
- package/dist/builtins/res/tag.js.map +1 -0
- package/dist/builtins/res/workflow.d.ts +6 -0
- package/dist/builtins/res/workflow.js +53 -0
- package/dist/builtins/res/workflow.js.map +1 -0
- package/dist/builtins/store.d.ts +6 -0
- package/dist/builtins/store.js +108 -0
- package/dist/builtins/store.js.map +1 -0
- package/dist/builtins/sys/context.d.ts +6 -0
- package/dist/builtins/sys/context.js +50 -0
- package/dist/builtins/sys/context.js.map +1 -0
- package/dist/builtins/sys/physicalmode.d.ts +6 -0
- package/dist/builtins/sys/physicalmode.js +41 -0
- package/dist/builtins/sys/physicalmode.js.map +1 -0
- package/dist/builtins/sys/prompt.d.ts +13 -0
- package/dist/builtins/sys/prompt.helpers.d.ts +31 -0
- package/dist/builtins/sys/prompt.helpers.js +36 -0
- package/dist/builtins/sys/prompt.helpers.js.map +1 -0
- package/dist/builtins/sys/prompt.js +182 -0
- package/dist/builtins/sys/prompt.js.map +1 -0
- package/dist/builtins/sys/timing.d.ts +6 -0
- package/dist/builtins/sys/timing.js +41 -0
- package/dist/builtins/sys/timing.js.map +1 -0
- package/dist/builtins/sys/whoami.d.ts +12 -0
- package/dist/builtins/sys/whoami.js +37 -0
- package/dist/builtins/sys/whoami.js.map +1 -0
- package/dist/builtins/utils.d.ts +55 -0
- package/dist/builtins/utils.js +145 -0
- package/dist/builtins/utils.js.map +1 -0
- package/dist/builtins/wildcard.d.ts +26 -0
- package/dist/builtins/wildcard.js +120 -0
- package/dist/builtins/wildcard.js.map +1 -0
- package/dist/chell.d.ts +16 -0
- package/dist/chell.js +1193 -0
- package/dist/chell.js.map +1 -0
- package/dist/command-keys.d.ts +8 -0
- package/dist/command-keys.js +32 -0
- package/dist/command-keys.js.map +1 -0
- package/dist/config/settings.d.ts +39 -0
- package/dist/config/settings.js +93 -0
- package/dist/config/settings.js.map +1 -0
- package/dist/core/bootFlags.d.ts +32 -0
- package/dist/core/bootFlags.js +25 -0
- package/dist/core/bootFlags.js.map +1 -0
- package/dist/core/cli.d.ts +58 -0
- package/dist/core/cli.js +251 -0
- package/dist/core/cli.js.map +1 -0
- package/dist/core/prompt/index.d.ts +80 -0
- package/dist/core/prompt/index.js +29 -0
- package/dist/core/prompt/index.js.map +1 -0
- package/dist/core/prompt/theme_default.d.ts +19 -0
- package/dist/core/prompt/theme_default.js +47 -0
- package/dist/core/prompt/theme_default.js.map +1 -0
- package/dist/core/prompt/theme_p10k.d.ts +22 -0
- package/dist/core/prompt/theme_p10k.js +164 -0
- package/dist/core/prompt/theme_p10k.js.map +1 -0
- package/dist/core/prompt/utils.d.ts +23 -0
- package/dist/core/prompt/utils.js +40 -0
- package/dist/core/prompt/utils.js.map +1 -0
- package/dist/core/question.d.ts +34 -0
- package/dist/core/question.js +76 -0
- package/dist/core/question.js.map +1 -0
- package/dist/core/repl.d.ts +31 -0
- package/dist/core/repl.js +146 -0
- package/dist/core/repl.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/bootsequence.d.ts +62 -0
- package/dist/lib/bootsequence.js +222 -0
- package/dist/lib/bootsequence.js.map +1 -0
- package/dist/lib/completer/index.d.ts +15 -0
- package/dist/lib/completer/index.js +212 -0
- package/dist/lib/completer/index.js.map +1 -0
- package/dist/lib/completer/pathComplete.helpers.d.ts +22 -0
- package/dist/lib/completer/pathComplete.helpers.js +49 -0
- package/dist/lib/completer/pathComplete.helpers.js.map +1 -0
- package/dist/lib/logo.d.ts +47 -0
- package/dist/lib/logo.js +313 -0
- package/dist/lib/logo.js.map +1 -0
- package/dist/lib/parser.d.ts +13 -0
- package/dist/lib/parser.js +52 -0
- package/dist/lib/parser.js.map +1 -0
- package/dist/lib/pipe.d.ts +11 -0
- package/dist/lib/pipe.js +90 -0
- package/dist/lib/pipe.js.map +1 -0
- package/dist/lib/prefetch.d.ts +25 -0
- package/dist/lib/prefetch.js +64 -0
- package/dist/lib/prefetch.js.map +1 -0
- package/dist/lib/semicolonParser.d.ts +22 -0
- package/dist/lib/semicolonParser.js +53 -0
- package/dist/lib/semicolonParser.js.map +1 -0
- package/dist/lib/spinner.d.ts +23 -0
- package/dist/lib/spinner.js +68 -0
- package/dist/lib/spinner.js.map +1 -0
- package/dist/lib/vfs/providers/static.d.ts +65 -0
- package/dist/lib/vfs/providers/static.js +164 -0
- package/dist/lib/vfs/providers/static.js.map +1 -0
- package/dist/lib/vfs/providers/static_content.d.ts +27 -0
- package/dist/lib/vfs/providers/static_content.js +180 -0
- package/dist/lib/vfs/providers/static_content.js.map +1 -0
- package/dist/lib/vfs/vfs.d.ts +59 -0
- package/dist/lib/vfs/vfs.js +198 -0
- package/dist/lib/vfs/vfs.js.map +1 -0
- package/dist/session/index.d.ts +76 -0
- package/dist/session/index.js +120 -0
- package/dist/session/index.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chell.js","sourceRoot":"","sources":["../src/chell.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Canonical list of all registered command keys in COMMAND_HANDLERS.
|
|
3
|
+
*
|
|
4
|
+
* Kept separate from chell.ts so tests can verify wiring without importing
|
|
5
|
+
* the full application entry point and all its transitive dependencies.
|
|
6
|
+
* Must stay in sync with COMMAND_HANDLERS in chell.ts.
|
|
7
|
+
*/
|
|
8
|
+
export declare const COMMAND_HANDLERS_KEYS: string[];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Canonical list of all registered command keys in COMMAND_HANDLERS.
|
|
3
|
+
*
|
|
4
|
+
* Kept separate from chell.ts so tests can verify wiring without importing
|
|
5
|
+
* the full application entry point and all its transitive dependencies.
|
|
6
|
+
* Must stay in sync with COMMAND_HANDLERS in chell.ts.
|
|
7
|
+
*/
|
|
8
|
+
export const COMMAND_HANDLERS_KEYS = [
|
|
9
|
+
// filesystem
|
|
10
|
+
'cd', 'pwd', 'ls', 'cat', 'cp', 'mv', 'rm', 'touch', 'mkdir', 'tree', 'du',
|
|
11
|
+
'upload', 'download', 'pull',
|
|
12
|
+
// net
|
|
13
|
+
'connect', 'logout', 'pacs', 'query', 'cubepath',
|
|
14
|
+
// sys
|
|
15
|
+
'context', 'physicalmode', 'prompt', 'timing', 'whoami', 'whereami', 'debug', 'help', 'proc',
|
|
16
|
+
// resources — canonical + aliases
|
|
17
|
+
'plugin', 'plugins',
|
|
18
|
+
'feed', 'feeds',
|
|
19
|
+
'pipeline', 'pipelines',
|
|
20
|
+
'compute', 'computes',
|
|
21
|
+
'files', 'links', 'dirs',
|
|
22
|
+
'store',
|
|
23
|
+
'tag', 'tags',
|
|
24
|
+
'group', 'groups',
|
|
25
|
+
'pluginmeta', 'pluginmetas', 'meta', 'metas',
|
|
26
|
+
'plugininstance', 'plugininstances', 'instance', 'instances', 'job', 'jobs',
|
|
27
|
+
'workflow', 'workflows',
|
|
28
|
+
'parametersofplugin',
|
|
29
|
+
// pacs delegation
|
|
30
|
+
'pacsservers', 'pacsqueries', 'pacsretrieve',
|
|
31
|
+
];
|
|
32
|
+
//# sourceMappingURL=command-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-keys.js","sourceRoot":"","sources":["../src/command-keys.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAa;IAC7C,aAAa;IACb,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI;IAC1E,QAAQ,EAAE,UAAU,EAAE,MAAM;IAC5B,MAAM;IACN,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;IAChD,MAAM;IACN,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAC5F,kCAAkC;IAClC,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,OAAO;IACf,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;IACrB,OAAO,EAAE,OAAO,EAAE,MAAM;IACxB,OAAO;IACP,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,QAAQ;IACjB,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO;IAC5C,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM;IAC3E,UAAU,EAAE,WAAW;IACvB,oBAAoB;IACpB,kBAAkB;IAClB,aAAa,EAAE,aAAa,EAAE,cAAc;CAC7C,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file ChELL Settings Configuration
|
|
3
|
+
*
|
|
4
|
+
* Manages application-level settings and preferences.
|
|
5
|
+
* Config file location follows platform conventions:
|
|
6
|
+
* Linux: $XDG_CONFIG_HOME/chell/settings.json (default ~/.config/chell/settings.json)
|
|
7
|
+
* macOS: ~/Library/Application Support/chell/settings.json
|
|
8
|
+
* Windows: %APPDATA%\chell\settings.json
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import type { ThemeName, P10kSegmentConfig } from '../core/prompt/index.js';
|
|
13
|
+
/**
|
|
14
|
+
* User-configurable chell settings.
|
|
15
|
+
*/
|
|
16
|
+
export interface Settings {
|
|
17
|
+
config: {
|
|
18
|
+
historyFile: string;
|
|
19
|
+
historySize: number;
|
|
20
|
+
/** Prompt theme — 'default' (single-line smart truncation) or 'p10k' (two-line segment bar). */
|
|
21
|
+
promptTheme: ThemeName;
|
|
22
|
+
/** Which optional p10k segments are enabled. */
|
|
23
|
+
p10kSegments: P10kSegmentConfig;
|
|
24
|
+
/** Peer store URL. Undefined means use the built-in default. */
|
|
25
|
+
storeUrl?: string;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The active in-memory settings object.
|
|
30
|
+
*/
|
|
31
|
+
export declare const settings: Settings;
|
|
32
|
+
/**
|
|
33
|
+
* Loads settings from disk into the active settings object.
|
|
34
|
+
*/
|
|
35
|
+
export declare function settings_load(): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Persists the active settings object to disk.
|
|
38
|
+
*/
|
|
39
|
+
export declare function settings_save(): Promise<void>;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file ChELL Settings Configuration
|
|
3
|
+
*
|
|
4
|
+
* Manages application-level settings and preferences.
|
|
5
|
+
* Config file location follows platform conventions:
|
|
6
|
+
* Linux: $XDG_CONFIG_HOME/chell/settings.json (default ~/.config/chell/settings.json)
|
|
7
|
+
* macOS: ~/Library/Application Support/chell/settings.json
|
|
8
|
+
* Windows: %APPDATA%\chell\settings.json
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import * as fs from 'fs';
|
|
13
|
+
import * as path from 'path';
|
|
14
|
+
import * as os from 'os';
|
|
15
|
+
import { THEME_NAMES, P10K_OPTIONAL_SEGMENTS } from '../core/prompt/index.js';
|
|
16
|
+
/**
|
|
17
|
+
* Returns the platform-appropriate config directory for chell.
|
|
18
|
+
*/
|
|
19
|
+
function configDir_get() {
|
|
20
|
+
const platform = os.platform();
|
|
21
|
+
const home = os.homedir();
|
|
22
|
+
let base;
|
|
23
|
+
if (platform === 'win32') {
|
|
24
|
+
base = process.env.APPDATA ?? path.join(home, 'AppData', 'Roaming');
|
|
25
|
+
}
|
|
26
|
+
else if (platform === 'darwin') {
|
|
27
|
+
base = path.join(home, 'Library', 'Application Support');
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
base = process.env.XDG_CONFIG_HOME ?? path.join(home, '.config');
|
|
31
|
+
}
|
|
32
|
+
return path.join(base, 'chell');
|
|
33
|
+
}
|
|
34
|
+
const CONFIG_FILE = path.join(configDir_get(), 'settings.json');
|
|
35
|
+
/**
|
|
36
|
+
* The active in-memory settings object.
|
|
37
|
+
*/
|
|
38
|
+
export const settings = {
|
|
39
|
+
config: {
|
|
40
|
+
historyFile: '.chell_history',
|
|
41
|
+
historySize: 1000,
|
|
42
|
+
promptTheme: 'default',
|
|
43
|
+
p10kSegments: { pacs: true, time: false, duration: false, status: true },
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Loads settings from disk into the active settings object.
|
|
48
|
+
*/
|
|
49
|
+
export async function settings_load() {
|
|
50
|
+
try {
|
|
51
|
+
const raw = await fs.promises.readFile(CONFIG_FILE, 'utf-8');
|
|
52
|
+
const parsed = JSON.parse(raw);
|
|
53
|
+
if (parsed && typeof parsed === 'object') {
|
|
54
|
+
const obj = parsed;
|
|
55
|
+
if (typeof obj.promptTheme === 'string' && THEME_NAMES.includes(obj.promptTheme)) {
|
|
56
|
+
settings.config.promptTheme = obj.promptTheme;
|
|
57
|
+
}
|
|
58
|
+
if (obj.p10kSegments && typeof obj.p10kSegments === 'object') {
|
|
59
|
+
const segs = obj.p10kSegments;
|
|
60
|
+
for (const key of P10K_OPTIONAL_SEGMENTS) {
|
|
61
|
+
if (typeof segs[key] === 'boolean') {
|
|
62
|
+
settings.config.p10kSegments[key] = segs[key];
|
|
63
|
+
}
|
|
64
|
+
// pacs defaults true if not present in older config files
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (typeof obj.storeUrl === 'string') {
|
|
68
|
+
settings.config.storeUrl = obj.storeUrl;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// No config file yet — use defaults
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Persists the active settings object to disk.
|
|
78
|
+
*/
|
|
79
|
+
export async function settings_save() {
|
|
80
|
+
try {
|
|
81
|
+
await fs.promises.mkdir(configDir_get(), { recursive: true });
|
|
82
|
+
const data = {
|
|
83
|
+
promptTheme: settings.config.promptTheme,
|
|
84
|
+
p10kSegments: settings.config.p10kSegments,
|
|
85
|
+
...(settings.config.storeUrl !== undefined ? { storeUrl: settings.config.storeUrl } : {}),
|
|
86
|
+
};
|
|
87
|
+
await fs.promises.writeFile(CONFIG_FILE, JSON.stringify(data, null, 2) + '\n');
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// Silently fail
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Pure derivation of chell boot flags from the parsed CLI config.
|
|
3
|
+
*
|
|
4
|
+
* Centralizes the interactive/prefetch/logo flag logic so it can be unit-tested
|
|
5
|
+
* independently of the boot sequence. Dependency-free (type-only import).
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import type { ChellCLIConfig } from './cli.js';
|
|
10
|
+
/**
|
|
11
|
+
* Resolved boot flags controlling interactivity, prefetching, and the splash.
|
|
12
|
+
*/
|
|
13
|
+
export interface BootFlags {
|
|
14
|
+
isInteractiveSession: boolean;
|
|
15
|
+
useAsciiBoot: boolean;
|
|
16
|
+
prefetchPlugins: boolean;
|
|
17
|
+
prefetchFeeds: boolean;
|
|
18
|
+
prefetchPublicFeeds: boolean;
|
|
19
|
+
prefetchJobs: boolean;
|
|
20
|
+
showLogo: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Computes the boot flags from the CLI config and TTY availability.
|
|
24
|
+
*
|
|
25
|
+
* Prefetch and logo flags are gated on an interactive session; ASCII boot is
|
|
26
|
+
* forced when not attached to a TTY.
|
|
27
|
+
*
|
|
28
|
+
* @param config - The parsed CLI config.
|
|
29
|
+
* @param isTTY - Whether stdout is a TTY.
|
|
30
|
+
* @returns The resolved boot flags.
|
|
31
|
+
*/
|
|
32
|
+
export declare function bootFlags_compute(config: ChellCLIConfig, isTTY: boolean): BootFlags;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Computes the boot flags from the CLI config and TTY availability.
|
|
3
|
+
*
|
|
4
|
+
* Prefetch and logo flags are gated on an interactive session; ASCII boot is
|
|
5
|
+
* forced when not attached to a TTY.
|
|
6
|
+
*
|
|
7
|
+
* @param config - The parsed CLI config.
|
|
8
|
+
* @param isTTY - Whether stdout is a TTY.
|
|
9
|
+
* @returns The resolved boot flags.
|
|
10
|
+
*/
|
|
11
|
+
export function bootFlags_compute(config, isTTY) {
|
|
12
|
+
const isInteractiveSession = config.mode !== 'execute' && config.mode !== 'script';
|
|
13
|
+
const useAsciiBoot = (config.asciiBoot ?? false) || !isTTY;
|
|
14
|
+
const prefetchFeeds = isInteractiveSession && (config.prefetchFeeds ?? true);
|
|
15
|
+
return {
|
|
16
|
+
isInteractiveSession,
|
|
17
|
+
useAsciiBoot,
|
|
18
|
+
prefetchPlugins: isInteractiveSession && (config.prefetchPlugins ?? true),
|
|
19
|
+
prefetchFeeds,
|
|
20
|
+
prefetchPublicFeeds: isInteractiveSession && prefetchFeeds && (config.prefetchPublicFeeds ?? true),
|
|
21
|
+
prefetchJobs: isInteractiveSession && (config.prefetchJobs ?? true),
|
|
22
|
+
showLogo: isInteractiveSession && isTTY && (config.showLogo ?? true),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=bootFlags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootFlags.js","sourceRoot":"","sources":["../../src/core/bootFlags.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB,EAAE,KAAc;IACtE,MAAM,oBAAoB,GAAY,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;IAC5F,MAAM,YAAY,GAAY,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACpE,MAAM,aAAa,GAAY,oBAAoB,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;IACtF,OAAO;QACL,oBAAoB;QACpB,YAAY;QACZ,eAAe,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;QACzE,aAAa;QACb,mBAAmB,EAAE,oBAAoB,IAAI,aAAa,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAClG,YAAY,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;QACnE,QAAQ,EAAE,oBAAoB,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;KACrE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parsed chell CLI configuration.
|
|
3
|
+
*/
|
|
4
|
+
export interface ChellCLIConfig {
|
|
5
|
+
mode: 'interactive' | 'connect' | 'help' | 'version' | 'execute' | 'script';
|
|
6
|
+
physicalFS?: boolean;
|
|
7
|
+
prefetchPlugins?: boolean;
|
|
8
|
+
prefetchFeeds?: boolean;
|
|
9
|
+
prefetchPublicFeeds?: boolean;
|
|
10
|
+
prefetchJobs?: boolean;
|
|
11
|
+
asciiBoot?: boolean;
|
|
12
|
+
showLogo?: boolean;
|
|
13
|
+
commandToExecute?: string;
|
|
14
|
+
scriptFile?: string;
|
|
15
|
+
stopOnError?: boolean;
|
|
16
|
+
connectConfig?: {
|
|
17
|
+
user?: string;
|
|
18
|
+
password?: string;
|
|
19
|
+
url?: string;
|
|
20
|
+
};
|
|
21
|
+
output?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Options accepted by the chell CLI action handler.
|
|
25
|
+
*/
|
|
26
|
+
export interface CliActionOptions {
|
|
27
|
+
user?: string;
|
|
28
|
+
password?: string;
|
|
29
|
+
command?: string;
|
|
30
|
+
file?: string;
|
|
31
|
+
e?: boolean;
|
|
32
|
+
physicalFS?: boolean;
|
|
33
|
+
prefetchFeeds?: boolean;
|
|
34
|
+
prefetchPublicFeeds?: boolean;
|
|
35
|
+
prefetchPlugins?: boolean;
|
|
36
|
+
prefetchJobs?: boolean;
|
|
37
|
+
asciiBoot?: boolean;
|
|
38
|
+
logo?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Builds a {@link ChellCLIConfig} from the parsed target/options, determining
|
|
42
|
+
* the run mode (script/execute/connect/interactive) and applying startup
|
|
43
|
+
* preference toggles.
|
|
44
|
+
*
|
|
45
|
+
* @param target - The positional target argument (user@url, url, or script path).
|
|
46
|
+
* @param options - The parsed CLI options.
|
|
47
|
+
* @param fileExists - Predicate testing whether a path exists (for script auto-detect).
|
|
48
|
+
* @returns The resolved configuration.
|
|
49
|
+
*/
|
|
50
|
+
export declare function cliConfig_fromArgs(target: string | undefined, options: CliActionOptions, fileExists: (path: string) => boolean): ChellCLIConfig;
|
|
51
|
+
/**
|
|
52
|
+
* Parses command line arguments and extracts configuration for the Chell interactive shell.
|
|
53
|
+
*
|
|
54
|
+
* @param argv - The command line arguments (typically process.argv).
|
|
55
|
+
* @param version - The version string of the package.
|
|
56
|
+
* @returns A Promise resolving to a ChellCLIConfig containing the parsed parameters.
|
|
57
|
+
*/
|
|
58
|
+
export declare function cli_parse(argv: string[], version: string): Promise<ChellCLIConfig>;
|
package/dist/core/cli.js
ADDED
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file CLI Parser
|
|
3
|
+
*
|
|
4
|
+
* Extracts the logic for parsing command line arguments for `chell`.
|
|
5
|
+
* This allows testing the argument parsing logic without side effects.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import { Command } from 'commander';
|
|
10
|
+
import { existsSync } from 'fs';
|
|
11
|
+
import chalk from 'chalk';
|
|
12
|
+
/**
|
|
13
|
+
* Builds a {@link ChellCLIConfig} from the parsed target/options, determining
|
|
14
|
+
* the run mode (script/execute/connect/interactive) and applying startup
|
|
15
|
+
* preference toggles.
|
|
16
|
+
*
|
|
17
|
+
* @param target - The positional target argument (user@url, url, or script path).
|
|
18
|
+
* @param options - The parsed CLI options.
|
|
19
|
+
* @param fileExists - Predicate testing whether a path exists (for script auto-detect).
|
|
20
|
+
* @returns The resolved configuration.
|
|
21
|
+
*/
|
|
22
|
+
export function cliConfig_fromArgs(target, options, fileExists) {
|
|
23
|
+
let user = options.user;
|
|
24
|
+
let url = target;
|
|
25
|
+
const password = options.password;
|
|
26
|
+
let connectConfig;
|
|
27
|
+
if (url && url.includes('@')) {
|
|
28
|
+
const parts = url.split('@');
|
|
29
|
+
user = parts[0];
|
|
30
|
+
url = parts[1];
|
|
31
|
+
}
|
|
32
|
+
if (url) {
|
|
33
|
+
if (!url.startsWith('http://') && !url.startsWith('https://')) {
|
|
34
|
+
url = 'http://' + url;
|
|
35
|
+
}
|
|
36
|
+
connectConfig = { user, password, url };
|
|
37
|
+
}
|
|
38
|
+
let config;
|
|
39
|
+
if (options.file) {
|
|
40
|
+
config = { mode: 'script', scriptFile: options.file, stopOnError: options.e || false, physicalFS: options.physicalFS, connectConfig };
|
|
41
|
+
}
|
|
42
|
+
else if (options.command) {
|
|
43
|
+
config = { mode: 'execute', commandToExecute: options.command, stopOnError: options.e || false, physicalFS: options.physicalFS, connectConfig };
|
|
44
|
+
}
|
|
45
|
+
else if (target && fileExists(target)) {
|
|
46
|
+
// Auto-detect script file: if target exists as a file, treat as script
|
|
47
|
+
config = { mode: 'script', scriptFile: target, stopOnError: options.e || false, physicalFS: options.physicalFS };
|
|
48
|
+
}
|
|
49
|
+
else if (connectConfig) {
|
|
50
|
+
config = { mode: 'connect', physicalFS: options.physicalFS, connectConfig };
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
config = { mode: 'interactive', physicalFS: options.physicalFS };
|
|
54
|
+
}
|
|
55
|
+
// Apply startup preference toggles when provided
|
|
56
|
+
if (typeof options.prefetchFeeds === 'boolean')
|
|
57
|
+
config.prefetchFeeds = options.prefetchFeeds;
|
|
58
|
+
if (typeof options.prefetchPublicFeeds === 'boolean')
|
|
59
|
+
config.prefetchPublicFeeds = options.prefetchPublicFeeds;
|
|
60
|
+
if (typeof options.prefetchPlugins === 'boolean')
|
|
61
|
+
config.prefetchPlugins = options.prefetchPlugins;
|
|
62
|
+
if (typeof options.prefetchJobs === 'boolean')
|
|
63
|
+
config.prefetchJobs = options.prefetchJobs;
|
|
64
|
+
if (typeof options.asciiBoot === 'boolean')
|
|
65
|
+
config.asciiBoot = options.asciiBoot;
|
|
66
|
+
if (typeof options.logo === 'boolean')
|
|
67
|
+
config.showLogo = options.logo;
|
|
68
|
+
return config;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Custom man-page-style help formatter for the chell program.
|
|
72
|
+
*
|
|
73
|
+
* @param cmd - The command being rendered.
|
|
74
|
+
* @param helper - Commander's help helper.
|
|
75
|
+
* @returns The formatted help string.
|
|
76
|
+
*/
|
|
77
|
+
function chellHelp_format(cmd, helper) {
|
|
78
|
+
const termWidth = helper.padWidth(cmd, helper);
|
|
79
|
+
const helpWidth = helper.helpWidth || 80;
|
|
80
|
+
const itemIndentWidth = 2;
|
|
81
|
+
const itemSeparatorWidth = 2; // between term and description
|
|
82
|
+
const item_format = (term, description) => {
|
|
83
|
+
if (description) {
|
|
84
|
+
const fullText = `${term.padEnd(termWidth + itemSeparatorWidth)}${description}`;
|
|
85
|
+
return helper.wrap(fullText, helpWidth - itemIndentWidth, termWidth + itemSeparatorWidth);
|
|
86
|
+
}
|
|
87
|
+
return term;
|
|
88
|
+
};
|
|
89
|
+
const list_format = (textArray) => textArray.join('\n').replace(/^/gm, ' '.repeat(itemIndentWidth));
|
|
90
|
+
// Usage
|
|
91
|
+
let output = [`${chalk.bold.cyan('USAGE')}\n ${helper.commandUsage(cmd)}`, ''];
|
|
92
|
+
// Description
|
|
93
|
+
const commandDescription = helper.commandDescription(cmd);
|
|
94
|
+
if (commandDescription.length > 0) {
|
|
95
|
+
output = output.concat([' ' + helper.wrap(commandDescription, helpWidth - 2, 0).replace(/\n/g, '\n '), '']);
|
|
96
|
+
}
|
|
97
|
+
// Arguments
|
|
98
|
+
const argumentList = helper.visibleArguments(cmd).map((argument) => item_format(helper.argumentTerm(argument), helper.argumentDescription(argument)));
|
|
99
|
+
if (argumentList.length > 0) {
|
|
100
|
+
output = output.concat([chalk.bold.cyan('ARGUMENTS'), list_format(argumentList), '']);
|
|
101
|
+
}
|
|
102
|
+
// Options
|
|
103
|
+
const optionList = helper.visibleOptions(cmd).map((option) => item_format(helper.optionTerm(option), helper.optionDescription(option)));
|
|
104
|
+
if (optionList.length > 0) {
|
|
105
|
+
output = output.concat([chalk.bold.cyan('OPTIONS'), list_format(optionList), '']);
|
|
106
|
+
}
|
|
107
|
+
return output.join('\n');
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Builds the configured commander program (name, version, help text, and
|
|
111
|
+
* options) for chell, without an action handler attached.
|
|
112
|
+
*
|
|
113
|
+
* @param version - The package version string.
|
|
114
|
+
* @returns The configured commander Command.
|
|
115
|
+
*/
|
|
116
|
+
function cliProgram_build(version) {
|
|
117
|
+
const program = new Command();
|
|
118
|
+
program
|
|
119
|
+
.name('chell')
|
|
120
|
+
.version(version)
|
|
121
|
+
.description('ChRIS Interactive Shell (ChELL) - A powerful, terminal-based virtual file system (VFS) and interactive REPL for ChRIS.')
|
|
122
|
+
.addHelpText('before', `
|
|
123
|
+
${chalk.bold.cyan('NAME')}
|
|
124
|
+
${chalk.bold('chell')} - ChRIS Interactive Shell (ChELL Executes Layered Logic)
|
|
125
|
+
|
|
126
|
+
${chalk.bold.cyan('DESCRIPTION')}
|
|
127
|
+
${chalk.bold('ChELL')} is a terminal-based interface and Virtual File System (VFS)
|
|
128
|
+
router for the ChRIS medical image processing platform. It bridges the gap
|
|
129
|
+
between complex web APIs and terminal muscle-memory.
|
|
130
|
+
|
|
131
|
+
It maps remote ChRIS CUBE resources to an intuitive local folder experience:
|
|
132
|
+
- Feeds, pipelines, and files are structured as navigable directories.
|
|
133
|
+
- Registered CUBE plugins are mapped as executable binaries inside ${chalk.yellow('/bin')}.
|
|
134
|
+
- Standard utilities (${chalk.green('cd')}, ${chalk.green('ls')}, ${chalk.green('pwd')}, ${chalk.green('cat')}) run directly on remote storage.
|
|
135
|
+
|
|
136
|
+
Whether navigating data or running pipelines, ChELL leverages your current
|
|
137
|
+
working directory as execution context, letting you run containerized medical
|
|
138
|
+
image analyses using command-line muscle-memory.
|
|
139
|
+
`)
|
|
140
|
+
.argument('[target]', 'Target CUBE (user@url or url)')
|
|
141
|
+
.option('-u, --user <user>', 'Username')
|
|
142
|
+
.option('-p, --password <password>', 'Password')
|
|
143
|
+
.option('-c, --command <command>', 'Execute command(s) and exit (use ; to separate multiple commands)')
|
|
144
|
+
.option('-f, --file <path>', 'Execute commands from script file')
|
|
145
|
+
.option('-e', 'Stop on first error (like bash set -e). Default: continue on error')
|
|
146
|
+
.option('--physicalFS', 'Use physical filesystem paths (skip logical-to-physical mapping)')
|
|
147
|
+
.option('--prefetch-feeds', 'Prefetch user feeds at startup (interactive mode)')
|
|
148
|
+
.option('--no-prefetch-feeds', 'Disable feed prefetch at startup')
|
|
149
|
+
.option('--prefetch-public-feeds', 'Prefetch public feeds at startup (interactive mode)')
|
|
150
|
+
.option('--no-prefetch-plugins', 'Skip plugin cache prefetch at startup')
|
|
151
|
+
.option('--no-prefetch-jobs', 'Skip /proc/jobs job cache prefetch at startup')
|
|
152
|
+
.option('--ascii-boot', 'Force ASCII-only boot UI (no box-drawing characters)')
|
|
153
|
+
.option('--no-logo', 'Hide the ChRIS logo on startup (interactive mode)')
|
|
154
|
+
.addHelpText('after', `
|
|
155
|
+
${chalk.bold.cyan('INTERACTIVE COMMANDS')}
|
|
156
|
+
${chalk.bold.green('connect')} Connect to a ChRIS CUBE
|
|
157
|
+
${chalk.bold.green('logout')} Log out from the current CUBE session
|
|
158
|
+
${chalk.bold.green('cd')} Change the current virtual directory
|
|
159
|
+
${chalk.bold.green('ls')} List virtual directory contents
|
|
160
|
+
${chalk.bold.green('pwd')} Print the current virtual working directory
|
|
161
|
+
${chalk.bold.green('cat')} Display file contents
|
|
162
|
+
${chalk.bold.green('exit')} Exit the interactive shell
|
|
163
|
+
${chalk.bold.yellow('<other>')} Any unrecognized command is passed directly to the chili CLI
|
|
164
|
+
|
|
165
|
+
${chalk.bold.cyan('SHELL FEATURES')}
|
|
166
|
+
${chalk.bold('Pipes')} Chain command stdout: ${chalk.dim('cat file.txt | wc -l')}
|
|
167
|
+
${chalk.bold('Output Redirection')} Write/append to virtual files: ${chalk.dim('ls -lh > output.txt')}
|
|
168
|
+
${chalk.bold('Semicolons')} Run sequentially: ${chalk.dim('cd /tmp; ls; pwd')}
|
|
169
|
+
${chalk.bold('Shell Escape')} Run host OS commands inside the REPL with ${chalk.bold.green('!')} prefix
|
|
170
|
+
|
|
171
|
+
${chalk.bold.cyan('AUTOMATION & SCRIPTING')}
|
|
172
|
+
${chalk.bold('Shebang Support')} Prepend ${chalk.yellow('#!/usr/bin/env chell')} to make scripts executable
|
|
173
|
+
${chalk.bold('Comments')} Lines beginning with ${chalk.bold('#')} are ignored
|
|
174
|
+
${chalk.bold('Error Handling')} Default: continue on error. Use ${chalk.bold.green('-e')} to stop on first failure
|
|
175
|
+
|
|
176
|
+
${chalk.bold.cyan('EXAMPLES')}
|
|
177
|
+
${chalk.bold('chell')} ${chalk.bold.green('-c')} ${chalk.yellow('"ls /PIPELINES"')} # Execute single command and exit
|
|
178
|
+
${chalk.bold('chell')} ${chalk.bold.green('-c')} ${chalk.yellow('"cd /PIPELINES; ls; cat main.yml"')} # Sequential CLI command pipeline
|
|
179
|
+
${chalk.bold('chell')} ${chalk.yellow('script.chell')} # Run script file (auto-detect)
|
|
180
|
+
${chalk.bold('chell')} ${chalk.bold.green('-e')} ${chalk.yellow('script.chell')} # Run script file, stopping on first error
|
|
181
|
+
${chalk.bold('./script.chell')} # Execute direct script via shebang
|
|
182
|
+
`)
|
|
183
|
+
.configureHelp({ formatHelp: chellHelp_format });
|
|
184
|
+
return program;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Parses command line arguments and extracts configuration for the Chell interactive shell.
|
|
188
|
+
*
|
|
189
|
+
* @param argv - The command line arguments (typically process.argv).
|
|
190
|
+
* @param version - The version string of the package.
|
|
191
|
+
* @returns A Promise resolving to a ChellCLIConfig containing the parsed parameters.
|
|
192
|
+
*/
|
|
193
|
+
export function cli_parse(argv, version) {
|
|
194
|
+
return new Promise((resolve) => {
|
|
195
|
+
const program = cliProgram_build(version);
|
|
196
|
+
let config = { mode: 'interactive' };
|
|
197
|
+
let capturedOutput = '';
|
|
198
|
+
program
|
|
199
|
+
.action((target, options) => {
|
|
200
|
+
config = cliConfig_fromArgs(target, options, existsSync);
|
|
201
|
+
});
|
|
202
|
+
// Capture help/version output instead of writing to stdout
|
|
203
|
+
program.configureOutput({
|
|
204
|
+
writeOut: (str) => {
|
|
205
|
+
capturedOutput += str;
|
|
206
|
+
config = { mode: 'help', output: capturedOutput };
|
|
207
|
+
},
|
|
208
|
+
writeErr: (str) => {
|
|
209
|
+
capturedOutput += str;
|
|
210
|
+
config = { mode: 'help', output: capturedOutput };
|
|
211
|
+
},
|
|
212
|
+
outputError: (str) => {
|
|
213
|
+
capturedOutput += str;
|
|
214
|
+
config = { mode: 'help', output: capturedOutput };
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
// We need to handle exit events to prevent process.exit() during tests
|
|
218
|
+
program.exitOverride((err) => {
|
|
219
|
+
if (err.code === 'commander.helpDisplayed') {
|
|
220
|
+
resolve({ mode: 'help', output: capturedOutput || program.helpInformation() });
|
|
221
|
+
}
|
|
222
|
+
else if (err.code === 'commander.version') {
|
|
223
|
+
resolve({ mode: 'version', output: version });
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
// For other errors (e.g. missing arg), we might want to reject or return help
|
|
227
|
+
resolve({ mode: 'help', output: err.message });
|
|
228
|
+
}
|
|
229
|
+
// We return a promise that never resolves here to stop execution flow in main?
|
|
230
|
+
// No, in `cli_parse` we resolve.
|
|
231
|
+
throw err; // Rethrow to be caught by parseAsync catch block
|
|
232
|
+
});
|
|
233
|
+
program.parseAsync(argv)
|
|
234
|
+
.then(() => {
|
|
235
|
+
resolve(config);
|
|
236
|
+
})
|
|
237
|
+
.catch((err) => {
|
|
238
|
+
// If exitOverride threw, we handled it above mostly?
|
|
239
|
+
// Actually exitOverride throws.
|
|
240
|
+
if (err.code === 'commander.helpDisplayed' || err.code === 'commander.version') {
|
|
241
|
+
resolve(config);
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
// Real error
|
|
245
|
+
// For now, treat as help/error output
|
|
246
|
+
resolve({ mode: 'help', output: err.message });
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=cli.js.map
|