typescript-virtual-container 1.2.6 → 1.2.7
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/biome.json +1 -1
- package/bun.lock +15 -41
- package/dist/commands/env.d.ts +1 -0
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +2 -11
- package/dist/commands/sh.d.ts.map +1 -1
- package/dist/commands/sh.js +2 -1
- package/package.json +3 -3
- package/src/commands/env.ts +1 -0
- package/src/commands/help.ts +3 -12
- package/src/commands/sh.ts +2 -1
package/biome.json
CHANGED
package/bun.lock
CHANGED
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
"name": "virtual-env-js",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"ssh2": "^1.17.0",
|
|
9
|
-
"tar-stream": "^3.1.8",
|
|
10
9
|
},
|
|
11
10
|
"devDependencies": {
|
|
12
|
-
"@biomejs/biome": "^2.4.
|
|
13
|
-
"@types/bun": "
|
|
11
|
+
"@biomejs/biome": "^2.4.13",
|
|
12
|
+
"@types/bun": "^1.3.13",
|
|
14
13
|
"@types/node": "^25.6.0",
|
|
15
14
|
"@types/ssh2": "^1.15.5",
|
|
15
|
+
"typescript": "^6.0.3",
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
18
|
"typescript": "^5",
|
|
@@ -20,25 +20,25 @@
|
|
|
20
20
|
},
|
|
21
21
|
},
|
|
22
22
|
"packages": {
|
|
23
|
-
"@biomejs/biome": ["@biomejs/biome@2.4.
|
|
23
|
+
"@biomejs/biome": ["@biomejs/biome@2.4.13", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.4.13", "@biomejs/cli-darwin-x64": "2.4.13", "@biomejs/cli-linux-arm64": "2.4.13", "@biomejs/cli-linux-arm64-musl": "2.4.13", "@biomejs/cli-linux-x64": "2.4.13", "@biomejs/cli-linux-x64-musl": "2.4.13", "@biomejs/cli-win32-arm64": "2.4.13", "@biomejs/cli-win32-x64": "2.4.13" }, "bin": { "biome": "bin/biome" } }, "sha512-gLXOwkOBBg0tr7bDsqlkIh4uFeKuMjxvqsrb1Tukww1iDmHcfr4Uu8MoQxp0Rcte+69+osRNWXwHsu/zxT6XqA=="],
|
|
24
24
|
|
|
25
|
-
"@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.4.
|
|
25
|
+
"@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.4.13", "", { "os": "darwin", "cpu": "arm64" }, "sha512-2KImO1jhNFBa2oWConyr0x6flxbQpGKv6902uGXpYM62Xyem8U80j441SyUJ8KyngsmKbQjeIv1q2CQfDkNnYg=="],
|
|
26
26
|
|
|
27
|
-
"@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.4.
|
|
27
|
+
"@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.4.13", "", { "os": "darwin", "cpu": "x64" }, "sha512-BKrJklbaFN4p1Ts4kPBczo+PkbsHQg57kmJ+vON9u2t6uN5okYHaSr7h/MutPCWQgg2lglaWoSmm+zhYW+oOkg=="],
|
|
28
28
|
|
|
29
|
-
"@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.4.
|
|
29
|
+
"@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.4.13", "", { "os": "linux", "cpu": "arm64" }, "sha512-NzkUDSqfvMBrPplKgVr3aXLHZ2NEELvvF4vZxXulEylKWIGqlvNEcwUcj9OLrn75TD3lJ/GIqCVlBwd1MZCuYQ=="],
|
|
30
30
|
|
|
31
|
-
"@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.4.
|
|
31
|
+
"@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.4.13", "", { "os": "linux", "cpu": "arm64" }, "sha512-U5MsuBQW25dXaYtqWWSPM3P96H6Y+fHuja3TQpMNnylocHW0tEbtFTDlUj6oM+YJLntvEkQy4grBvQNUD4+RCg=="],
|
|
32
32
|
|
|
33
|
-
"@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.4.
|
|
33
|
+
"@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.4.13", "", { "os": "linux", "cpu": "x64" }, "sha512-Az3ZZedYRBo9EQzNnD9SxFcR1G5QsGo6VEc2hIyVPZ1rdKwee/7E9oeBBZFpE8Z44ekxsDQBqbiWGW5ShOhUSQ=="],
|
|
34
34
|
|
|
35
|
-
"@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.4.
|
|
35
|
+
"@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.4.13", "", { "os": "linux", "cpu": "x64" }, "sha512-Z601MienRgTBDza/+u2CH3RSrWoXo9rtr8NK6A4KJzqGgfxx+H3VlyLgTJ4sRo40T3pIsqpTmiOQEvYzQvBRvQ=="],
|
|
36
36
|
|
|
37
|
-
"@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.4.
|
|
37
|
+
"@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.4.13", "", { "os": "win32", "cpu": "arm64" }, "sha512-Px9PS2B5/Q183bUwy/5VHqp3J2lzdOCeVGzMpphYfl8oSa7VDCqenBdqWpy6DCy/en4Rbf/Y1RieZF6dJPcc9A=="],
|
|
38
38
|
|
|
39
|
-
"@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.4.
|
|
39
|
+
"@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.4.13", "", { "os": "win32", "cpu": "x64" }, "sha512-tTcMkXyBrmHi9BfrD2VNHs/5rYIUKETqsBlYOvSAABwBkJhSDVb5e7wPukftsQbO3WzQkXe6kaztC6WtUOXSoQ=="],
|
|
40
40
|
|
|
41
|
-
"@types/bun": ["@types/bun@1.3.
|
|
41
|
+
"@types/bun": ["@types/bun@1.3.13", "", { "dependencies": { "bun-types": "1.3.13" } }, "sha512-9fqXWk5YIHGGnUau9TEi+qdlTYDAnOj+xLCmSTwXfAIqXr2x4tytJb43E9uCvt09zJURKXwAtkoH4nLQfzeTXw=="],
|
|
42
42
|
|
|
43
43
|
"@types/node": ["@types/node@25.6.0", "", { "dependencies": { "undici-types": "~7.19.0" } }, "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ=="],
|
|
44
44
|
|
|
@@ -46,49 +46,23 @@
|
|
|
46
46
|
|
|
47
47
|
"asn1": ["asn1@0.2.6", "", { "dependencies": { "safer-buffer": "~2.1.0" } }, "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ=="],
|
|
48
48
|
|
|
49
|
-
"b4a": ["b4a@1.8.0", "", { "peerDependencies": { "react-native-b4a": "*" }, "optionalPeers": ["react-native-b4a"] }, "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg=="],
|
|
50
|
-
|
|
51
|
-
"bare-events": ["bare-events@2.8.2", "", { "peerDependencies": { "bare-abort-controller": "*" }, "optionalPeers": ["bare-abort-controller"] }, "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ=="],
|
|
52
|
-
|
|
53
|
-
"bare-fs": ["bare-fs@4.7.0", "", { "dependencies": { "bare-events": "^2.5.4", "bare-path": "^3.0.0", "bare-stream": "^2.6.4", "bare-url": "^2.2.2", "fast-fifo": "^1.3.2" }, "peerDependencies": { "bare-buffer": "*" }, "optionalPeers": ["bare-buffer"] }, "sha512-xzqKsCFxAek9aezYhjJuJRXBIaYlg/0OGDTZp+T8eYmYMlm66cs6cYko02drIyjN2CBbi+I6L7YfXyqpqtKRXA=="],
|
|
54
|
-
|
|
55
|
-
"bare-os": ["bare-os@3.8.7", "", {}, "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w=="],
|
|
56
|
-
|
|
57
|
-
"bare-path": ["bare-path@3.0.0", "", { "dependencies": { "bare-os": "^3.0.1" } }, "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw=="],
|
|
58
|
-
|
|
59
|
-
"bare-stream": ["bare-stream@2.13.0", "", { "dependencies": { "streamx": "^2.25.0", "teex": "^1.0.1" }, "peerDependencies": { "bare-abort-controller": "*", "bare-buffer": "*", "bare-events": "*" }, "optionalPeers": ["bare-abort-controller", "bare-buffer", "bare-events"] }, "sha512-3zAJRZMDFGjdn+RVnNpF9kuELw+0Fl3lpndM4NcEOhb9zwtSo/deETfuIwMSE5BXanA0FrN1qVjffGwAg2Y7EA=="],
|
|
60
|
-
|
|
61
|
-
"bare-url": ["bare-url@2.4.0", "", { "dependencies": { "bare-path": "^3.0.0" } }, "sha512-NSTU5WN+fy/L0DDenfE8SXQna4voXuW0FHM7wH8i3/q9khUSchfPbPezO4zSFMnDGIf9YE+mt/RWhZgNRKRIXA=="],
|
|
62
|
-
|
|
63
49
|
"bcrypt-pbkdf": ["bcrypt-pbkdf@1.0.2", "", { "dependencies": { "tweetnacl": "^0.14.3" } }, "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w=="],
|
|
64
50
|
|
|
65
51
|
"buildcheck": ["buildcheck@0.0.7", "", {}, "sha512-lHblz4ahamxpTmnsk+MNTRWsjYKv965MwOrSJyeD588rR3Jcu7swE+0wN5F+PbL5cjgu/9ObkhfzEPuofEMwLA=="],
|
|
66
52
|
|
|
67
|
-
"bun-types": ["bun-types@1.3.
|
|
53
|
+
"bun-types": ["bun-types@1.3.13", "", { "dependencies": { "@types/node": "*" } }, "sha512-QXKeHLlOLqQX9LgYaHJfzdBaV21T63HhFJnvuRCcjZiaUDpbs5ED1MgxbMra71CsryN/1dAoXuJJJwIv/2drVA=="],
|
|
68
54
|
|
|
69
55
|
"cpu-features": ["cpu-features@0.0.10", "", { "dependencies": { "buildcheck": "~0.0.6", "nan": "^2.19.0" } }, "sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA=="],
|
|
70
56
|
|
|
71
|
-
"events-universal": ["events-universal@1.0.1", "", { "dependencies": { "bare-events": "^2.7.0" } }, "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw=="],
|
|
72
|
-
|
|
73
|
-
"fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="],
|
|
74
|
-
|
|
75
57
|
"nan": ["nan@2.26.2", "", {}, "sha512-0tTvBTYkt3tdGw22nrAy50x7gpbGCCFH3AFcyS5WiUu7Eu4vWlri1woE6qHBSfy11vksDqkiwjOnlR7WV8G1Hw=="],
|
|
76
58
|
|
|
77
59
|
"safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
|
|
78
60
|
|
|
79
61
|
"ssh2": ["ssh2@1.17.0", "", { "dependencies": { "asn1": "^0.2.6", "bcrypt-pbkdf": "^1.0.2" }, "optionalDependencies": { "cpu-features": "~0.0.10", "nan": "^2.23.0" } }, "sha512-wPldCk3asibAjQ/kziWQQt1Wh3PgDFpC0XpwclzKcdT1vql6KeYxf5LIt4nlFkUeR8WuphYMKqUA56X4rjbfgQ=="],
|
|
80
62
|
|
|
81
|
-
"streamx": ["streamx@2.25.0", "", { "dependencies": { "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" } }, "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg=="],
|
|
82
|
-
|
|
83
|
-
"tar-stream": ["tar-stream@3.1.8", "", { "dependencies": { "b4a": "^1.6.4", "bare-fs": "^4.5.5", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ=="],
|
|
84
|
-
|
|
85
|
-
"teex": ["teex@1.0.1", "", { "dependencies": { "streamx": "^2.12.5" } }, "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg=="],
|
|
86
|
-
|
|
87
|
-
"text-decoder": ["text-decoder@1.2.7", "", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ=="],
|
|
88
|
-
|
|
89
63
|
"tweetnacl": ["tweetnacl@0.14.5", "", {}, "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="],
|
|
90
64
|
|
|
91
|
-
"typescript": ["typescript@
|
|
65
|
+
"typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="],
|
|
92
66
|
|
|
93
67
|
"undici-types": ["undici-types@7.19.2", "", {}, "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg=="],
|
|
94
68
|
|
package/dist/commands/env.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,UAAU,EAAE,WASxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,UAAU,EAAE,WASxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAoBrD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,MAAM,EAAE,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAoBrD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,MAAM,EAAE,GAAG,WAAW,CAyDxE"}
|
package/dist/commands/help.js
CHANGED
|
@@ -59,20 +59,11 @@ export function createHelpCommand(_getNames) {
|
|
|
59
59
|
if (!mods || mods.length === 0)
|
|
60
60
|
continue;
|
|
61
61
|
lines.push(`\x1b[33m${CATEGORY_LABELS[cat] ?? cat}\x1b[0m`);
|
|
62
|
-
// Two-column layout
|
|
63
62
|
const sorted = [...mods].sort((a, b) => a.name.localeCompare(b.name));
|
|
64
|
-
for (
|
|
65
|
-
|
|
66
|
-
const right = sorted[i + 1];
|
|
67
|
-
const leftStr = ` \x1b[36m${padRight(left.name, 14)}\x1b[0m ${left.description ?? ""}`;
|
|
68
|
-
const rightStr = right
|
|
69
|
-
? ` \x1b[36m${padRight(right.name, 14)}\x1b[0m ${right.description ?? ""}`
|
|
70
|
-
: "";
|
|
71
|
-
lines.push(rightStr ? `${leftStr.padEnd(44)}${rightStr}` : leftStr);
|
|
63
|
+
for (const mod of sorted) {
|
|
64
|
+
lines.push(` \x1b[36m${padRight(mod.name, 14)}\x1b[0m ${mod.description ?? ""}`);
|
|
72
65
|
}
|
|
73
|
-
lines.push("");
|
|
74
66
|
}
|
|
75
|
-
lines.push("Type \x1b[1mhelp <command>\x1b[0m for usage details.");
|
|
76
67
|
return { stdout: lines.join("\n"), exitCode: 0 };
|
|
77
68
|
},
|
|
78
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sh.d.ts","sourceRoot":"","sources":["../../src/commands/sh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"sh.d.ts","sourceRoot":"","sources":["../../src/commands/sh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA+KpF,eAAO,MAAM,SAAS,EAAE,WA+BvB,CAAC"}
|
package/dist/commands/sh.js
CHANGED
|
@@ -48,6 +48,7 @@ function parseBlocks(lines) {
|
|
|
48
48
|
}
|
|
49
49
|
i++;
|
|
50
50
|
}
|
|
51
|
+
// biome-ignore lint/suspicious/noThenProperty: expected behavior for if/elif parsing
|
|
51
52
|
blocks.push({ type: "if", cond, then: thenLines, elif: elifBlocks, else_: elseLines });
|
|
52
53
|
}
|
|
53
54
|
else if (line.startsWith("for ")) {
|
|
@@ -212,7 +213,7 @@ export const shCommand = {
|
|
|
212
213
|
category: "shell",
|
|
213
214
|
params: ["-c <script>", "[<file>]"],
|
|
214
215
|
run: async (ctx) => {
|
|
215
|
-
const { args,
|
|
216
|
+
const { args, shell, cwd } = ctx;
|
|
216
217
|
// sh -c "inline script"
|
|
217
218
|
if (ifFlag(args, "-c")) {
|
|
218
219
|
const script = getArg(args, 1) ?? "";
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "1.2.
|
|
7
|
+
"version": "1.2.7",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"standalone-build": "bunx esbuild src/standalone.ts --bundle --platform=node --target=node18 --outfile=standalone.js --tree-shaking=true --minify --sourcemap"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@biomejs/biome": "^2.4.
|
|
36
|
-
"@types/bun": "
|
|
35
|
+
"@biomejs/biome": "^2.4.13",
|
|
36
|
+
"@types/bun": "^1.3.13",
|
|
37
37
|
"@types/node": "^25.6.0",
|
|
38
38
|
"@types/ssh2": "^1.15.5",
|
|
39
39
|
"typescript": "^6.0.3"
|
package/src/commands/env.ts
CHANGED
package/src/commands/help.ts
CHANGED
|
@@ -66,22 +66,13 @@ export function createHelpCommand(_getNames: () => string[]): ShellModule {
|
|
|
66
66
|
if (!mods || mods.length === 0) continue;
|
|
67
67
|
lines.push(`\x1b[33m${CATEGORY_LABELS[cat] ?? cat}\x1b[0m`);
|
|
68
68
|
|
|
69
|
-
// Two-column layout
|
|
70
69
|
const sorted = [...mods].sort((a, b) => a.name.localeCompare(b.name));
|
|
71
|
-
for (
|
|
72
|
-
|
|
73
|
-
const right = sorted[i + 1];
|
|
74
|
-
const leftStr = ` \x1b[36m${padRight(left.name, 14)}\x1b[0m ${left.description ?? ""}`;
|
|
75
|
-
const rightStr = right
|
|
76
|
-
? ` \x1b[36m${padRight(right.name, 14)}\x1b[0m ${right.description ?? ""}`
|
|
77
|
-
: "";
|
|
78
|
-
lines.push(rightStr ? `${leftStr.padEnd(44)}${rightStr}` : leftStr);
|
|
70
|
+
for (const mod of sorted) {
|
|
71
|
+
lines.push(` \x1b[36m${padRight(mod.name, 14)}\x1b[0m ${mod.description ?? ""}`);
|
|
79
72
|
}
|
|
80
|
-
lines.push("");
|
|
81
73
|
}
|
|
82
74
|
|
|
83
|
-
|
|
84
|
-
return { stdout: lines.join("\n"), exitCode: 0 };
|
|
75
|
+
return { stdout: lines.join("\n"), exitCode: 0 };
|
|
85
76
|
},
|
|
86
77
|
};
|
|
87
78
|
}
|
package/src/commands/sh.ts
CHANGED
|
@@ -46,6 +46,7 @@ function parseBlocks(lines: string[]): Block[] {
|
|
|
46
46
|
}
|
|
47
47
|
i++;
|
|
48
48
|
}
|
|
49
|
+
// biome-ignore lint/suspicious/noThenProperty: expected behavior for if/elif parsing
|
|
49
50
|
blocks.push({ type: "if", cond, then: thenLines, elif: elifBlocks, else_: elseLines });
|
|
50
51
|
} else if (line.startsWith("for ")) {
|
|
51
52
|
const m = line.match(/^for\s+(\w+)\s+in\s+(.+?)(?:\s*;\s*do)?$/);
|
|
@@ -179,7 +180,7 @@ export const shCommand: ShellModule = {
|
|
|
179
180
|
category: "shell",
|
|
180
181
|
params: ["-c <script>", "[<file>]"],
|
|
181
182
|
run: async (ctx: CommandContext) => {
|
|
182
|
-
const { args,
|
|
183
|
+
const { args, shell, cwd } = ctx;
|
|
183
184
|
|
|
184
185
|
// sh -c "inline script"
|
|
185
186
|
if (ifFlag(args, "-c")) {
|