dashb 1.0.3 → 1.0.5
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/README.md +66 -0
- package/dist/autocomplete.d.ts +1 -0
- package/dist/autocomplete.js +117 -0
- package/dist/autocomplete.js.map +1 -0
- package/dist/cli.js +163 -46
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +3 -0
- package/dist/commands.js +1 -1
- package/dist/commands.js.map +1 -1
- package/dist/custom.d.ts +3 -2
- package/dist/custom.js +87 -16
- package/dist/custom.js.map +1 -1
- package/dist/display.js +21 -1
- package/dist/display.js.map +1 -1
- package/dist/env.d.ts +1 -0
- package/dist/env.js +89 -0
- package/dist/env.js.map +1 -0
- package/dist/kill.d.ts +1 -0
- package/dist/kill.js +199 -0
- package/dist/kill.js.map +1 -0
- package/dist/run.d.ts +2 -1
- package/dist/run.js +59 -4
- package/dist/run.js.map +1 -1
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
|
|
2
|
+
# dashb ⚡️
|
|
3
|
+
|
|
4
|
+
> Developer dashboard for your terminal.
|
|
5
|
+
|
|
6
|
+
**dashb** is a smart CLI tool that automatically detects your project stack and provides instant shortcuts for common tasks like running tests, starting servers, and building your app. It also tracks your usage stats and lets you create custom shortcuts.
|
|
7
|
+
|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install -g dashb
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
Simply run `db` in any project directory:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
db
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
It will detect if you're in a Node, Python, Rust, Go, or Docker project and show relevant commands.
|
|
25
|
+
|
|
26
|
+
### Stack Specific
|
|
27
|
+
To force a specific stack's commands:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
db py # Python commands
|
|
31
|
+
db js # Node.js commands
|
|
32
|
+
db rs # Rust commands
|
|
33
|
+
db go # Go commands
|
|
34
|
+
db dk # Docker commands
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Features
|
|
38
|
+
|
|
39
|
+
- **Auto-Detection**: Works with Node.js, Python, Rust, Go, Ruby, Java, C/C++, and Docker.
|
|
40
|
+
- **Performance**: Extremely fast startup.
|
|
41
|
+
- **Custom Shortcuts**: Add your own project-specific commands.
|
|
42
|
+
```bash
|
|
43
|
+
db add
|
|
44
|
+
```
|
|
45
|
+
- **Stats Tracking**: Visualize your most used commands.
|
|
46
|
+
```bash
|
|
47
|
+
db stats
|
|
48
|
+
```
|
|
49
|
+
- **Doctor**: Check project health.
|
|
50
|
+
```bash
|
|
51
|
+
db doc
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Development
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
git clone https://github.com/ratnamshah/dashb.git
|
|
58
|
+
cd dashb
|
|
59
|
+
npm install
|
|
60
|
+
npm run build
|
|
61
|
+
npm link
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## License
|
|
65
|
+
|
|
66
|
+
MIT © [Jpdz Labs](https://github.com/ratnamshah)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function setupAutocomplete(): void;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync, appendFileSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
import { execSync } from 'node:child_process';
|
|
5
|
+
const TTY = process.stdout.isTTY !== false && !process.env['NO_COLOR'];
|
|
6
|
+
const GREEN = TTY ? '\x1b[38;2;110;210;130m' : '';
|
|
7
|
+
const ORANGE = TTY ? '\x1b[38;2;255;165;0m' : '';
|
|
8
|
+
const RED = TTY ? '\x1b[38;2;255;80;80m' : '';
|
|
9
|
+
const DIM = TTY ? '\x1b[90m' : '';
|
|
10
|
+
const RESET = TTY ? '\x1b[0m' : '';
|
|
11
|
+
function detectShell() {
|
|
12
|
+
const shellEnv = process.env.SHELL || '';
|
|
13
|
+
if (shellEnv.includes('zsh'))
|
|
14
|
+
return 'zsh';
|
|
15
|
+
if (shellEnv.includes('bash'))
|
|
16
|
+
return 'bash';
|
|
17
|
+
try {
|
|
18
|
+
const parentShell = execSync('ps -p $PPID -o comm=', { encoding: 'utf-8' }).trim();
|
|
19
|
+
if (parentShell.includes('zsh'))
|
|
20
|
+
return 'zsh';
|
|
21
|
+
if (parentShell.includes('bash'))
|
|
22
|
+
return 'bash';
|
|
23
|
+
}
|
|
24
|
+
catch { }
|
|
25
|
+
return 'unknown';
|
|
26
|
+
}
|
|
27
|
+
function getZshCompletion() {
|
|
28
|
+
const lines = [
|
|
29
|
+
'_dashb_completions() {',
|
|
30
|
+
' local output',
|
|
31
|
+
' output=$(dashb --completion 2>/dev/null)',
|
|
32
|
+
' ',
|
|
33
|
+
' if [[ -n "$output" ]]; then',
|
|
34
|
+
' local -a completions',
|
|
35
|
+
' completions=("${(@f)output}")',
|
|
36
|
+
' _describe \'dashb commands\' completions',
|
|
37
|
+
' fi',
|
|
38
|
+
'}',
|
|
39
|
+
'',
|
|
40
|
+
'compdef _dashb_completions dashb db',
|
|
41
|
+
];
|
|
42
|
+
return lines.join('\n');
|
|
43
|
+
}
|
|
44
|
+
function getBashCompletion() {
|
|
45
|
+
const lines = [
|
|
46
|
+
'_dashb_completions() {',
|
|
47
|
+
' local cur="${COMP_WORDS[COMP_CWORD]}"',
|
|
48
|
+
' local output',
|
|
49
|
+
' ',
|
|
50
|
+
' output=$(dashb --completion 2>/dev/null)',
|
|
51
|
+
' ',
|
|
52
|
+
' if [[ -n "$output" ]]; then',
|
|
53
|
+
' local keys=$(echo "$output" | cut -d\':\' -f1)',
|
|
54
|
+
' COMPREPLY=( $(compgen -W "$keys" -- "$cur") )',
|
|
55
|
+
' fi',
|
|
56
|
+
'}',
|
|
57
|
+
'',
|
|
58
|
+
'complete -F _dashb_completions dashb db',
|
|
59
|
+
];
|
|
60
|
+
return lines.join('\n');
|
|
61
|
+
}
|
|
62
|
+
export function setupAutocomplete() {
|
|
63
|
+
console.log('\n ' + ORANGE + '\u25b6' + RESET + ' Setting up dashb autocomplete...');
|
|
64
|
+
const shell = detectShell();
|
|
65
|
+
if (shell === 'unknown') {
|
|
66
|
+
console.log('\n ' + RED + '\u2716' + RESET + ' Could not automatically detect shell (zsh or bash supported).');
|
|
67
|
+
console.log(' Please set up autocomplete manually.\n');
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
const dashbDir = join(homedir(), '.dashb');
|
|
71
|
+
if (!existsSync(dashbDir)) {
|
|
72
|
+
mkdirSync(dashbDir, { recursive: true });
|
|
73
|
+
}
|
|
74
|
+
const scriptName = 'completion.' + shell;
|
|
75
|
+
const scriptPath = join(dashbDir, scriptName);
|
|
76
|
+
const rcName = shell === 'zsh' ? '.zshrc' : '.bashrc';
|
|
77
|
+
const rcPath = join(homedir(), rcName);
|
|
78
|
+
// 1. Write the completion script
|
|
79
|
+
try {
|
|
80
|
+
const scriptContent = shell === 'zsh' ? getZshCompletion() : getBashCompletion();
|
|
81
|
+
writeFileSync(scriptPath, scriptContent + '\n', 'utf-8');
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
console.error('\n ' + RED + '\u2716' + RESET + ' Failed to write completion script: ' + err.message + '\n');
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}
|
|
87
|
+
// 2. Check if already sourced in rc file
|
|
88
|
+
const sourceLine = 'source "' + scriptPath + '"';
|
|
89
|
+
let alreadySourced = false;
|
|
90
|
+
try {
|
|
91
|
+
if (existsSync(rcPath)) {
|
|
92
|
+
const rcContent = readFileSync(rcPath, 'utf-8');
|
|
93
|
+
alreadySourced = rcContent.includes(scriptPath);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch { }
|
|
97
|
+
// 3. Append to rc file if needed
|
|
98
|
+
if (!alreadySourced) {
|
|
99
|
+
try {
|
|
100
|
+
appendFileSync(rcPath, '\n# dashb autocomplete\n' + sourceLine + '\n', 'utf-8');
|
|
101
|
+
console.log(' ' + GREEN + '\u2714' + RESET + ' Appended source line to ~/' + rcName);
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
console.log('\n ' + RED + '\u2716' + RESET + ' Could not append to ~/' + rcName + '.');
|
|
105
|
+
console.log(' ' + DIM + 'Please add this line manually:' + RESET);
|
|
106
|
+
console.log(' ' + sourceLine + '\n');
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
console.log(' ' + GREEN + '\u2714' + RESET + ' Autocomplete already configured in ~/' + rcName);
|
|
112
|
+
}
|
|
113
|
+
console.log('\n ' + GREEN + '\u2714' + RESET + ' Autocomplete installed for ' + shell + '!');
|
|
114
|
+
console.log(' ' + ORANGE + 'Please restart your terminal or run:' + RESET);
|
|
115
|
+
console.log(' source ~/' + rcName + '\n');
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=autocomplete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete.js","sourceRoot":"","sources":["../source/autocomplete.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -11,12 +11,32 @@ import { getDownloads } from './downloads.js';
|
|
|
11
11
|
import { runDoctor } from './doctor.js';
|
|
12
12
|
import { loadCustom, interactiveAdd, removeShortcut } from './custom.js';
|
|
13
13
|
import { showStats, trackCommand } from './stats.js';
|
|
14
|
+
import { setupAutocomplete } from './autocomplete.js';
|
|
15
|
+
import { checkEnv } from './env.js';
|
|
16
|
+
import { killPort } from './kill.js';
|
|
14
17
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
15
18
|
const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8'));
|
|
16
19
|
const args = process.argv.slice(2);
|
|
17
20
|
const cwd = process.cwd();
|
|
18
21
|
const stacks = detectStacks(cwd);
|
|
19
22
|
const project = detectProject(cwd);
|
|
23
|
+
// --completion hidden flag for shell hook
|
|
24
|
+
if (args[0] === '--completion') {
|
|
25
|
+
const builtInCommands = [
|
|
26
|
+
{ key: 'doc', label: 'Doctor' },
|
|
27
|
+
{ key: 'stats', label: 'Stats' },
|
|
28
|
+
{ key: 'add', label: 'Add Shortcut' },
|
|
29
|
+
{ key: 'setup-autocomplete', label: 'Setup Autocomplete' },
|
|
30
|
+
];
|
|
31
|
+
const commands = getCommands(project.type, cwd);
|
|
32
|
+
const customCommands = loadCustom(cwd, stacks);
|
|
33
|
+
const allCmds = [...builtInCommands, ...commands, ...customCommands];
|
|
34
|
+
for (const cmd of allCmds) {
|
|
35
|
+
// Format: key:Label (spaces in label are okay for zsh, bash ignores label)
|
|
36
|
+
console.log(`${cmd.key}:${cmd.label.replace(/:/g, '-')}`);
|
|
37
|
+
}
|
|
38
|
+
process.exit(0);
|
|
39
|
+
}
|
|
20
40
|
// Detect which bin name was used (dashb or db)
|
|
21
41
|
const rawBin = basename(process.argv[1] ?? '');
|
|
22
42
|
const bin = rawBin.replace(/\.js$/, '');
|
|
@@ -40,25 +60,15 @@ if (args[0] === '--version' || args[0] === '-v') {
|
|
|
40
60
|
async function main() {
|
|
41
61
|
// Fetch downloads in background (non-blocking)
|
|
42
62
|
const downloadsPromise = getDownloads();
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
showStats();
|
|
53
|
-
process.exit(0);
|
|
54
|
-
}
|
|
55
|
-
// db add — interactive custom shortcut creation
|
|
56
|
-
if (args[0] === 'add') {
|
|
57
|
-
trackCommand('add');
|
|
58
|
-
await interactiveAdd(cwd);
|
|
59
|
-
process.exit(0);
|
|
60
|
-
}
|
|
61
|
-
// db rm <key> — remove a custom shortcut
|
|
63
|
+
const builtInCommands = [
|
|
64
|
+
{ key: 'doc', label: 'Doctor', command: 'doc', isBuiltIn: true },
|
|
65
|
+
{ key: 'stats', label: 'Stats', command: 'stats', isBuiltIn: true },
|
|
66
|
+
{ key: 'env', label: 'Check Env', command: 'env', isBuiltIn: true },
|
|
67
|
+
{ key: 'kill', label: 'Kill Port', command: 'kill', isBuiltIn: true },
|
|
68
|
+
{ key: 'add', label: 'Add Shortcut', command: 'add', isBuiltIn: true },
|
|
69
|
+
{ key: 'setup-autocomplete', label: 'Setup Autocomplete', command: 'setup-autocomplete', isBuiltIn: true }
|
|
70
|
+
];
|
|
71
|
+
// db rm <key> — remove a custom shortcut (special case, not stackable)
|
|
62
72
|
if (args[0] === 'rm') {
|
|
63
73
|
const key = args[1];
|
|
64
74
|
if (!key) {
|
|
@@ -77,16 +87,32 @@ async function main() {
|
|
|
77
87
|
// Stack-specific mode: db py, db js, db rs, etc.
|
|
78
88
|
const selectedStack = stacks.find(s => s.id === stackFromAlias);
|
|
79
89
|
if (!selectedStack) {
|
|
90
|
+
// It's not detected as an active project type here.
|
|
91
|
+
// BUT they might be trying to run a specific file using the runner
|
|
92
|
+
// e.g. "db py hello.py"
|
|
93
|
+
const stackArgs = args.slice(1);
|
|
94
|
+
if (stackArgs.length > 0) {
|
|
95
|
+
const { findFileRunner } = await import('./run.js');
|
|
96
|
+
const fileRunnerCmd = await findFileRunner(stackArgs[0], cwd, stackFromAlias);
|
|
97
|
+
if (fileRunnerCmd) {
|
|
98
|
+
// Manually execute it here since it bypassed normal parsing
|
|
99
|
+
const code = runShortcut(fileRunnerCmd, shortName, stackArgs.slice(1));
|
|
100
|
+
process.exit(code);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// If we reach here, it's not an active project AND they aren't executing a valid file
|
|
80
104
|
const o = process.stdout.isTTY !== false && !process.env['NO_COLOR']
|
|
81
105
|
? '\x1b[38;2;255;80;80m' : '';
|
|
82
106
|
const r = o ? '\x1b[0m' : '';
|
|
83
107
|
console.error(`\n ${o}✖${r} Stack "${args[0]}" not detected in this directory`);
|
|
108
|
+
console.error(` Also could not match "${stackArgs[0] || ''}" to a runnable file.`);
|
|
84
109
|
const detected = stacks.map(s => s.alias).join(', ');
|
|
85
110
|
console.error(` Detected stacks: ${detected || 'none'}\n`);
|
|
86
111
|
process.exit(1);
|
|
87
112
|
}
|
|
88
113
|
const stackArgs = args.slice(1);
|
|
89
114
|
const commands = getCommands(selectedStack.id, cwd);
|
|
115
|
+
const customCommands = loadCustom(cwd, stacks);
|
|
90
116
|
if (stackArgs.length === 0 || stackArgs[0] === '--help' || stackArgs[0] === '-h') {
|
|
91
117
|
const downloads = await downloadsPromise;
|
|
92
118
|
display({
|
|
@@ -97,25 +123,59 @@ async function main() {
|
|
|
97
123
|
bin: shortName,
|
|
98
124
|
selectedStack,
|
|
99
125
|
downloads,
|
|
126
|
+
customCommands,
|
|
100
127
|
});
|
|
101
128
|
process.exit(0);
|
|
102
129
|
}
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
const
|
|
107
|
-
|
|
130
|
+
const execQueue = await parseCommands(stackArgs, builtInCommands, commands, customCommands, cwd, selectedStack.id);
|
|
131
|
+
if (execQueue.length === 0) {
|
|
132
|
+
// It couldn't find ANY valid command to start with
|
|
133
|
+
const key = stackArgs[0];
|
|
134
|
+
const o = process.stdout.isTTY !== false && !process.env['NO_COLOR'] ? '\x1b[38;2;255;80;80m' : '';
|
|
108
135
|
const r = o ? '\x1b[0m' : '';
|
|
109
136
|
console.error(`\n ${o}✖${r} Unknown shortcut: "${key}" for ${selectedStack.label}`);
|
|
110
137
|
console.error(` Run '${shortName} ${args[0]}' to see available shortcuts\n`);
|
|
111
138
|
process.exit(1);
|
|
112
139
|
}
|
|
113
|
-
|
|
114
|
-
|
|
140
|
+
for (const { cmd, cmdArgs } of execQueue) {
|
|
141
|
+
if (cmd.isBuiltIn) {
|
|
142
|
+
if (cmd.key === 'doc') {
|
|
143
|
+
trackCommand('doc');
|
|
144
|
+
await runDoctor(cwd, stacks);
|
|
145
|
+
}
|
|
146
|
+
else if (cmd.key === 'stats') {
|
|
147
|
+
trackCommand('stats');
|
|
148
|
+
showStats();
|
|
149
|
+
}
|
|
150
|
+
else if (cmd.key === 'add') {
|
|
151
|
+
trackCommand('add');
|
|
152
|
+
await interactiveAdd(cwd, stacks);
|
|
153
|
+
}
|
|
154
|
+
else if (cmd.key === 'env') {
|
|
155
|
+
trackCommand('env');
|
|
156
|
+
checkEnv(cwd);
|
|
157
|
+
}
|
|
158
|
+
else if (cmd.key === 'kill') {
|
|
159
|
+
trackCommand('kill');
|
|
160
|
+
await killPort(cmdArgs);
|
|
161
|
+
}
|
|
162
|
+
else if (cmd.key === 'setup-autocomplete') {
|
|
163
|
+
trackCommand('setup-autocomplete');
|
|
164
|
+
setupAutocomplete();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
const code = runShortcut(cmd, shortName, cmdArgs);
|
|
169
|
+
if (code !== 0) {
|
|
170
|
+
process.exit(code); // Stop on first failure
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
process.exit(0);
|
|
115
175
|
}
|
|
116
176
|
// Default mode (no stack selector)
|
|
117
177
|
const commands = getCommands(project.type, cwd);
|
|
118
|
-
const customCommands = loadCustom(cwd);
|
|
178
|
+
const customCommands = loadCustom(cwd, stacks);
|
|
119
179
|
// No args / --help / -h → show the reference card
|
|
120
180
|
if (args.length === 0 || args[0] === '--help' || args[0] === '-h') {
|
|
121
181
|
const downloads = await downloadsPromise;
|
|
@@ -130,27 +190,84 @@ async function main() {
|
|
|
130
190
|
});
|
|
131
191
|
process.exit(0);
|
|
132
192
|
}
|
|
133
|
-
//
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
193
|
+
// Default mode: parse stacked commands + args
|
|
194
|
+
const execQueue = await parseCommands(args, builtInCommands, commands, customCommands, cwd);
|
|
195
|
+
if (execQueue.length === 0) {
|
|
196
|
+
const key = args[0];
|
|
197
|
+
const o = process.stdout.isTTY !== false && !process.env['NO_COLOR'] ? '\x1b[38;2;255;80;80m' : '';
|
|
198
|
+
const r = o ? '\x1b[0m' : '';
|
|
199
|
+
console.error(`\n ${o}✖${r} Unknown shortcut: "${key}"`);
|
|
200
|
+
console.error(` Run '${shortName}' to see available shortcuts\n`);
|
|
201
|
+
process.exit(1);
|
|
202
|
+
}
|
|
203
|
+
for (const { cmd, cmdArgs } of execQueue) {
|
|
204
|
+
if (cmd.isBuiltIn) {
|
|
205
|
+
if (cmd.key === 'doc') {
|
|
206
|
+
trackCommand('doc');
|
|
207
|
+
await runDoctor(cwd, stacks);
|
|
208
|
+
}
|
|
209
|
+
else if (cmd.key === 'stats') {
|
|
210
|
+
trackCommand('stats');
|
|
211
|
+
showStats();
|
|
212
|
+
}
|
|
213
|
+
else if (cmd.key === 'add') {
|
|
214
|
+
trackCommand('add');
|
|
215
|
+
await interactiveAdd(cwd, stacks);
|
|
216
|
+
}
|
|
217
|
+
else if (cmd.key === 'env') {
|
|
218
|
+
trackCommand('env');
|
|
219
|
+
checkEnv(cwd);
|
|
220
|
+
}
|
|
221
|
+
else if (cmd.key === 'kill') {
|
|
222
|
+
trackCommand('kill');
|
|
223
|
+
await killPort(cmdArgs);
|
|
224
|
+
}
|
|
225
|
+
else if (cmd.key === 'setup-autocomplete') {
|
|
226
|
+
trackCommand('setup-autocomplete');
|
|
227
|
+
setupAutocomplete();
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
const code = runShortcut(cmd, shortName, cmdArgs);
|
|
232
|
+
if (code !== 0) {
|
|
233
|
+
process.exit(code); // Stop on first failure
|
|
234
|
+
}
|
|
235
|
+
}
|
|
139
236
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
237
|
+
process.exit(0);
|
|
238
|
+
}
|
|
239
|
+
async function parseCommands(inputArgs, builtIn, builtInScripts, customScripts, cwd, stack) {
|
|
240
|
+
const allCmds = [...builtIn, ...builtInScripts, ...customScripts];
|
|
241
|
+
const queue = [];
|
|
242
|
+
for (const arg of inputArgs) {
|
|
243
|
+
const matchedCmd = allCmds.find(c => c.key === arg);
|
|
244
|
+
if (matchedCmd) {
|
|
245
|
+
// Start a new command execution block
|
|
246
|
+
queue.push({ cmd: matchedCmd, cmdArgs: [] });
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
// If we haven't matched anything yet (it's the first execution item)
|
|
250
|
+
if (queue.length === 0) {
|
|
251
|
+
// Try the smart file runner fallback
|
|
252
|
+
const { findFileRunner } = await import('./run.js');
|
|
253
|
+
const fileRunnerCmd = await findFileRunner(arg, cwd, stack);
|
|
254
|
+
if (fileRunnerCmd) {
|
|
255
|
+
queue.push({ cmd: fileRunnerCmd, cmdArgs: [] });
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
// It's an argument. Append it to the LAST matched command
|
|
260
|
+
if (queue.length > 0) {
|
|
261
|
+
queue[queue.length - 1].cmdArgs.push(arg);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
// If the VERY FIRST argument doesn't match a command, it's invalid.
|
|
265
|
+
// Return empty queue to trigger the "Unknown shortcut" error.
|
|
266
|
+
return [];
|
|
267
|
+
}
|
|
268
|
+
}
|
|
145
269
|
}
|
|
146
|
-
|
|
147
|
-
const o = process.stdout.isTTY !== false && !process.env['NO_COLOR']
|
|
148
|
-
? '\x1b[38;2;255;80;80m'
|
|
149
|
-
: '';
|
|
150
|
-
const r = o ? '\x1b[0m' : '';
|
|
151
|
-
console.error(`\n ${o}✖${r} Unknown shortcut: "${key}"`);
|
|
152
|
-
console.error(` Run '${shortName}' to see available shortcuts\n`);
|
|
153
|
-
process.exit(1);
|
|
270
|
+
return queue;
|
|
154
271
|
}
|
|
155
272
|
main();
|
|
156
273
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../source/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../source/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { StackID } from './detect.js';
|
|
2
|
+
export declare function getPythonExecutable(): string;
|
|
2
3
|
export type ProjectType = StackID;
|
|
3
4
|
export interface CommandInfo {
|
|
4
5
|
key: string;
|
|
5
6
|
label: string;
|
|
6
7
|
command: string;
|
|
8
|
+
isBuiltIn?: boolean;
|
|
9
|
+
scopes?: string[];
|
|
7
10
|
}
|
|
8
11
|
export declare function getCommands(projectType: ProjectType, cwd?: string): CommandInfo[];
|
package/dist/commands.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { execSync } from 'node:child_process';
|
|
4
|
-
function getPythonExecutable() {
|
|
4
|
+
export function getPythonExecutable() {
|
|
5
5
|
try {
|
|
6
6
|
execSync('python3 --version', { stdio: 'ignore' });
|
|
7
7
|
return 'python3';
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../source/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../source/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/custom.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CommandInfo } from './commands.js';
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
2
|
+
import type { DetectedStack } from './detect.js';
|
|
3
|
+
export declare function loadCustom(cwd: string, detectedStacks?: DetectedStack[]): CommandInfo[];
|
|
4
|
+
export declare function interactiveAdd(cwd: string, detectedStacks?: DetectedStack[]): Promise<void>;
|
|
4
5
|
export declare function removeShortcut(cwd: string, key: string): void;
|