Skip to content

Commit 83cbd06

Browse files
Merge pull request #150 from augustocdias/fix_resolve_args
Fix resolveArgs bugs
2 parents 629fbfd + 1c1765d commit 83cbd06

5 files changed

Lines changed: 26 additions & 19 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
# Change Log
22

3-
## [1.18.0] 2025-05-13
3+
## [1.18.2] 2025-05-15
4+
5+
- Fix task arguments handling to prevent incorrect values
6+
- Fix `stdinResolveVars` using wrong task argument
7+
8+
## [1.18.1] 2025-05-13
49

510
- Support stdinResolveVars (#145)
611

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"displayName": "Tasks Shell Input",
44
"description": "Use shell commands as input for your tasks",
55
"icon": "icon.png",
6-
"version": "1.18.1",
6+
"version": "1.18.2",
77
"publisher": "augustocdias",
88
"repository": {
99
"url": "https://github.com/augustocdias/vscode-shell-command"

src/lib/CommandHandler.test.ts

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -442,19 +442,21 @@ describe("Errors", async () => {
442442

443443
describe("Argument parsing", () => {
444444
test("Test defaults and that all boolean properties use parseBoolean", () => {
445-
expect(CommandHandler.resolveArgs({ extraTestThing: 42 }))
446-
.toStrictEqual({
447-
allowCustomValues: false,
448-
rememberPrevious: false,
449-
useFirstResult: false,
450-
useSingleResult: false,
451-
multiselect: false,
452-
warnOnStderr: true,
453-
multiselectSeparator: " ",
454-
stdio: "stdout",
455-
extraTestThing: 42,
456-
stdinResolveVars: true,
457-
});
445+
expect(CommandHandler.resolveArgs({
446+
extraTestThing: 42,
447+
allowCustomValues: "false",
448+
})).toStrictEqual({
449+
allowCustomValues: false,
450+
rememberPrevious: false,
451+
useFirstResult: false,
452+
useSingleResult: false,
453+
multiselect: false,
454+
warnOnStderr: true,
455+
multiselectSeparator: " ",
456+
stdio: "stdout",
457+
extraTestThing: 42,
458+
stdinResolveVars: true,
459+
});
458460
});
459461

460462
test("parseBoolean", () => {

src/lib/CommandHandler.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,16 +62,16 @@ export class CommandHandler {
6262

6363
static resolveArgs(args: { [key: string]: unknown }): ShellCommandOptions {
6464
return {
65+
...args,
6566
useFirstResult: parseBoolean(args.useFirstResult, false),
6667
useSingleResult: parseBoolean(args.useSingleResult, false),
6768
rememberPrevious: parseBoolean(args.rememberPrevious, false),
6869
allowCustomValues: parseBoolean(args.allowCustomValues, false),
6970
warnOnStderr: parseBoolean(args.warnOnStderr, true),
7071
multiselect: parseBoolean(args.multiselect, false),
71-
stdinResolveVars: parseBoolean(args.multiselect, true),
72+
stdinResolveVars: parseBoolean(args.stdinResolveVars, true),
7273
multiselectSeparator: args.multiselectSeparator ?? " ",
7374
stdio: ["stdout", "stderr", "both"].includes(args.stdio as string) ? args.stdio : "stdout",
74-
...args,
7575
} as ShellCommandOptions;
7676
}
7777

0 commit comments

Comments
 (0)