Skip to content

Commit a34c772

Browse files
author
Murat
committed
fix(shelltask): apply variables to commands
1 parent cffaa63 commit a34c772

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

src/tasks/shellTask.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { getErrMessage } from '../utils/getErrMessage';
1818
import { getProjectPath } from '../utils/getProjectPath';
1919
import { parseArgs } from '../utils/parseArgs';
2020
import { setState } from '../utils/setState';
21-
import { variables } from '../variables';
21+
import { getText, transformTextInObject, variables } from '../variables';
2222

2323
export async function shellTask(args: {
2424
configPath: string;
@@ -42,15 +42,15 @@ export async function shellTask(args: {
4242
try {
4343
let command: string, args: string[], cwd: string;
4444
if (action.args) {
45-
command = action.command;
46-
args = action.args;
45+
command = getText(action.command);
46+
args = transformTextInObject(action.args);
4747
} else {
48-
const cmdWithArgs = parseArgs(action.command);
48+
const cmdWithArgs = parseArgs(getText(action.command));
4949
command = cmdWithArgs[0];
5050
args = cmdWithArgs.slice(1);
5151
}
5252
if (action.cwd) {
53-
const cwdPath = path.join(getProjectPath(), action.cwd);
53+
const cwdPath = path.join(getProjectPath(), getText(action.cwd));
5454
// security check
5555
if (!cwdPath.startsWith(getProjectPath())) {
5656
throw new Error('invalid cwd path');

src/utils/satisfies.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export function satisfies(left: TAny, right: TAny): boolean {
88
if (Array.isArray(right)) return anySatisfiesArray(left, right);
99
else if (typeof right == 'object' && right != null)
1010
return anySatisfiesObject(left, right);
11-
return anySatisfiesPrimitive(left, right);
11+
return anySatisfiesPrimitive(left, right as TPrimitive);
1212
}
1313

1414
function anySatisfiesArray(left: TAny, right: TArray): boolean {
@@ -29,6 +29,7 @@ function arraySatisfiesPrimitive(
2929
): boolean {
3030
return left.some((leftChild: TAny) => deepEquals(leftChild, right));
3131
}
32+
3233
function arraySatisfiesArray(
3334
left: TArray,
3435
right: TArray | TPrimitive
@@ -54,7 +55,7 @@ function anySatisfiesObject(left: TAny, right: TObject): boolean {
5455
if (Array.isArray(left)) return arraySatisfiesObject(left, right);
5556
else if (typeof left == 'object' && left != null)
5657
return objectSatisfiesObject(left, right);
57-
return primitiveSatisfiesObject(left, right);
58+
return primitiveSatisfiesObject(left as TPrimitive, right);
5859
}
5960

6061
function objectSatisfiesObject(left: TObject, right: TObject): boolean {
@@ -72,7 +73,7 @@ function anySatisfiesPrimitive(left: TAny, right: TPrimitive): boolean {
7273
// return objectSatisfiesPrimitive(left, right);
7374
return false;
7475
}
75-
return primitiveSatisfiesPrimitive(left, right);
76+
return primitiveSatisfiesPrimitive(left as TPrimitive, right);
7677
}
7778

7879
function primitiveSatisfiesPrimitive(
@@ -214,7 +215,7 @@ const nonArrayOperands: Record<
214215
},
215216
$regex(left: TObjectOrPrimitive, right: TAny, operandParent: TObject) {
216217
if (typeof right != 'string' || typeof left != 'string') return false;
217-
let options = operandParent.$options;
218+
let options = operandParent.$options as string | undefined;
218219
if (typeof options != 'string') options = undefined;
219220
return new RegExp(right, options).test(left);
220221
},

0 commit comments

Comments
 (0)