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/dist/run.js
CHANGED
|
@@ -6,13 +6,14 @@ const DIM = TTY ? '\x1b[90m' : '';
|
|
|
6
6
|
const GREEN = TTY ? '\x1b[38;2;110;210;130m' : '';
|
|
7
7
|
const RED = TTY ? '\x1b[38;2;255;80;80m' : '';
|
|
8
8
|
const RESET = TTY ? '\x1b[0m' : '';
|
|
9
|
-
export function runShortcut(cmd, bin) {
|
|
9
|
+
export function runShortcut(cmd, bin, args = []) {
|
|
10
10
|
// Track usage
|
|
11
11
|
trackCommand(cmd.key);
|
|
12
|
+
const fullCmd = args.length > 0 ? `${cmd.command} ${args.join(' ')}` : cmd.command;
|
|
12
13
|
// Print what we're running
|
|
13
|
-
console.log(`\n ${ORANGE}▶${RESET} ${cmd.label} ${DIM}$ ${
|
|
14
|
+
console.log(`\n ${ORANGE}▶${RESET} ${cmd.label} ${DIM}$ ${fullCmd}${RESET}\n`);
|
|
14
15
|
const isWin = process.platform === 'win32';
|
|
15
|
-
const result = spawnSync(isWin ? 'cmd' : 'sh', isWin ? ['/c',
|
|
16
|
+
const result = spawnSync(isWin ? 'cmd' : 'sh', isWin ? ['/c', fullCmd] : ['-c', fullCmd], {
|
|
16
17
|
stdio: 'inherit',
|
|
17
18
|
cwd: process.cwd(),
|
|
18
19
|
env: process.env,
|
|
@@ -24,6 +25,60 @@ export function runShortcut(cmd, bin) {
|
|
|
24
25
|
else {
|
|
25
26
|
console.log(`\n ${RED}✖${RESET} Failed ${DIM}(exit ${code})${RESET}\n`);
|
|
26
27
|
}
|
|
27
|
-
|
|
28
|
+
return code;
|
|
29
|
+
}
|
|
30
|
+
export async function findFileRunner(arg, cwd, stack) {
|
|
31
|
+
const fs = await import('node:fs');
|
|
32
|
+
const path = await import('node:path');
|
|
33
|
+
// Try exact match first
|
|
34
|
+
const exactPath = path.join(cwd, arg);
|
|
35
|
+
if (fs.existsSync(exactPath) && fs.statSync(exactPath).isFile()) {
|
|
36
|
+
return await createRunnerCommand(arg, exactPath, stack);
|
|
37
|
+
}
|
|
38
|
+
// Try common extensions
|
|
39
|
+
const extensions = ['.py', '.js', '.ts', '.rs', '.go', '.rb'];
|
|
40
|
+
for (const ext of extensions) {
|
|
41
|
+
const extPath = path.join(cwd, arg + ext);
|
|
42
|
+
if (fs.existsSync(extPath) && fs.statSync(extPath).isFile()) {
|
|
43
|
+
return await createRunnerCommand(arg + ext, extPath, stack);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
async function createRunnerCommand(fileName, fullPath, stack) {
|
|
49
|
+
let runner = '';
|
|
50
|
+
if (fileName.endsWith('.py')) {
|
|
51
|
+
const { getPythonExecutable } = await import('./commands.js');
|
|
52
|
+
runner = getPythonExecutable();
|
|
53
|
+
}
|
|
54
|
+
else if (fileName.endsWith('.ts')) {
|
|
55
|
+
// Check if tsx or ts-node is available, fallback to node (which might fail but it's the best guess)
|
|
56
|
+
const fs = await import('node:fs');
|
|
57
|
+
const path = await import('node:path');
|
|
58
|
+
const hasTsx = fs.existsSync(path.join(path.dirname(fullPath), 'node_modules', '.bin', 'tsx'));
|
|
59
|
+
runner = hasTsx ? 'npx tsx' : 'npx ts-node';
|
|
60
|
+
}
|
|
61
|
+
else if (fileName.endsWith('.js')) {
|
|
62
|
+
runner = 'node';
|
|
63
|
+
}
|
|
64
|
+
else if (fileName.endsWith('.rs')) {
|
|
65
|
+
runner = 'rustc';
|
|
66
|
+
}
|
|
67
|
+
else if (fileName.endsWith('.go')) {
|
|
68
|
+
runner = 'go run';
|
|
69
|
+
}
|
|
70
|
+
else if (fileName.endsWith('.rb')) {
|
|
71
|
+
runner = 'ruby';
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
// Unknown, attempt to run directly (e.g., bash scripts)
|
|
75
|
+
runner = './';
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
key: fileName,
|
|
79
|
+
label: `Run ${fileName}`,
|
|
80
|
+
command: runner === './' ? `./${fileName}` : `${runner} ${fileName}`,
|
|
81
|
+
isBuiltIn: false
|
|
82
|
+
};
|
|
28
83
|
}
|
|
29
84
|
//# sourceMappingURL=run.js.map
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../source/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAEvE,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;AAClC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAEnC,MAAM,UAAU,WAAW,CAAC,GAAgB,EAAE,GAAW;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../source/run.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dashb",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Developer dashboard for your terminal — shows project-specific shortcuts you can run instantly",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -39,6 +39,6 @@
|
|
|
39
39
|
},
|
|
40
40
|
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e",
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"dashb": "^1.0.
|
|
42
|
+
"dashb": "^1.0.4"
|
|
43
43
|
}
|
|
44
44
|
}
|