pinokiod 3.19.68 → 3.19.70
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/kernel/index.js +17 -4
- package/package.json +1 -1
package/kernel/index.js
CHANGED
|
@@ -603,15 +603,28 @@ class Kernel {
|
|
|
603
603
|
})
|
|
604
604
|
}
|
|
605
605
|
}
|
|
606
|
-
which(name) {
|
|
606
|
+
which(name, pattern) {
|
|
607
607
|
if (this.platform === "win32") {
|
|
608
608
|
try {
|
|
609
609
|
const result = execSync(`where ${name}`, { env: this.envs, encoding: "utf-8" })
|
|
610
610
|
const lines = result.trim().split("\r\n")
|
|
611
|
-
if (
|
|
612
|
-
|
|
611
|
+
if (pattern) {
|
|
612
|
+
let match = null
|
|
613
|
+
for(let line of lines) {
|
|
614
|
+
console.log("testing", { line, pattern })
|
|
615
|
+
if (pattern.test(line)) {
|
|
616
|
+
match = line
|
|
617
|
+
console.log("matched", { line })
|
|
618
|
+
break
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
return match
|
|
613
622
|
} else {
|
|
614
|
-
|
|
623
|
+
if (lines.length > 0) {
|
|
624
|
+
return lines[0]
|
|
625
|
+
} else {
|
|
626
|
+
return null
|
|
627
|
+
}
|
|
615
628
|
}
|
|
616
629
|
} catch (e) {
|
|
617
630
|
return null
|