droid-cli 1.4.0 → 1.4.1
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/dist/utils/template.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export interface TemplateVariables {
|
|
|
14
14
|
*/
|
|
15
15
|
export declare function substituteTemplate(template: string, variables: TemplateVariables): string;
|
|
16
16
|
/**
|
|
17
|
-
* Parses a template string into command and arguments
|
|
17
|
+
* Parses a template string into command and arguments, respecting shell syntax
|
|
18
18
|
* @param template Template string with variables substituted
|
|
19
19
|
* @returns Object with command and args array
|
|
20
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAQzF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAQzF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAoD1F;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAGnH"}
|
package/dist/utils/template.js
CHANGED
|
@@ -22,18 +22,60 @@ function substituteTemplate(template, variables) {
|
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
-
* Parses a template string into command and arguments
|
|
25
|
+
* Parses a template string into command and arguments, respecting shell syntax
|
|
26
26
|
* @param template Template string with variables substituted
|
|
27
27
|
* @returns Object with command and args array
|
|
28
28
|
*/
|
|
29
29
|
function parseTemplateCommand(template) {
|
|
30
|
-
const
|
|
31
|
-
if (
|
|
30
|
+
const trimmed = template.trim();
|
|
31
|
+
if (trimmed.length === 0) {
|
|
32
|
+
throw new Error('Template command cannot be empty');
|
|
33
|
+
}
|
|
34
|
+
const args = [];
|
|
35
|
+
let current = '';
|
|
36
|
+
let inQuotes = false;
|
|
37
|
+
let quoteChar = '';
|
|
38
|
+
let parenDepth = 0;
|
|
39
|
+
for (let i = 0; i < trimmed.length; i++) {
|
|
40
|
+
const char = trimmed[i];
|
|
41
|
+
if (!inQuotes && (char === '"' || char === "'")) {
|
|
42
|
+
inQuotes = true;
|
|
43
|
+
quoteChar = char;
|
|
44
|
+
current += char;
|
|
45
|
+
}
|
|
46
|
+
else if (inQuotes && char === quoteChar) {
|
|
47
|
+
inQuotes = false;
|
|
48
|
+
quoteChar = '';
|
|
49
|
+
current += char;
|
|
50
|
+
}
|
|
51
|
+
else if (!inQuotes && char === '(') {
|
|
52
|
+
parenDepth++;
|
|
53
|
+
current += char;
|
|
54
|
+
}
|
|
55
|
+
else if (!inQuotes && char === ')') {
|
|
56
|
+
parenDepth--;
|
|
57
|
+
current += char;
|
|
58
|
+
}
|
|
59
|
+
else if (!inQuotes && parenDepth === 0 && /\s/.test(char)) {
|
|
60
|
+
if (current.length > 0) {
|
|
61
|
+
args.push(current);
|
|
62
|
+
current = '';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
current += char;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Add the last argument if any
|
|
70
|
+
if (current.length > 0) {
|
|
71
|
+
args.push(current);
|
|
72
|
+
}
|
|
73
|
+
if (args.length === 0) {
|
|
32
74
|
throw new Error('Template command cannot be empty');
|
|
33
75
|
}
|
|
34
76
|
return {
|
|
35
|
-
command:
|
|
36
|
-
args:
|
|
77
|
+
command: args[0],
|
|
78
|
+
args: args.slice(1)
|
|
37
79
|
};
|
|
38
80
|
}
|
|
39
81
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAcH,gDAQC;AAOD,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"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"}
|