Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7b1eda3

Browse files
committed
fix: support finding ssh process by port on macos sequoia
1 parent d6b798e commit 7b1eda3

File tree

3 files changed

+71
-8
lines changed

3 files changed

+71
-8
lines changed

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@
314314
"jsonc-parser": "^3.3.1",
315315
"memfs": "^4.9.3",
316316
"node-forge": "^1.3.1",
317+
"pid-port": "^1.0.2",
317318
"pretty-bytes": "^6.0.0",
318319
"proxy-agent": "^6.4.0",
319320
"semver": "^7.6.2",

src/remote.ts

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { isAxiosError } from "axios"
22
import { Api } from "coder/site/src/api/api"
33
import { Workspace } from "coder/site/src/api/typesGenerated"
4-
import find from "find-process"
4+
import { portToPid } from 'pid-port';
55
import * as fs from "fs/promises"
66
import * as jsonc from "jsonc-parser"
77
import * as os from "os"
@@ -799,12 +799,8 @@ export class Remote {
799799
if (!port) {
800800
return
801801
}
802-
const processes = await find("port", port)
803-
if (processes.length < 1) {
804-
return
805-
}
806-
const process = processes[0]
807-
return process.pid
802+
const pid = await portToPid(port)
803+
return pid
808804
}
809805
const start = Date.now()
810806
const loop = async (): Promise<number | undefined> => {

yarn.lock

+67-1
Original file line numberDiff line numberDiff line change
@@ -2539,6 +2539,21 @@ exec@^0.2.1:
25392539
resolved "https://registry.yarnpkg.com/exec/-/exec-0.2.1.tgz#2661f0bfc5532918629117cb9f80c7564af2c51f"
25402540
integrity sha512-lE5ZlJgRYh+rmwidatL2AqRA/U9IBoCpKlLriBmnfUIrV/Rj4oLjb63qZ57iBCHWi5j9IjLt5wOWkFYPiTfYAg==
25412541

2542+
execa@^8.0.1:
2543+
version "8.0.1"
2544+
resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c"
2545+
integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==
2546+
dependencies:
2547+
cross-spawn "^7.0.3"
2548+
get-stream "^8.0.1"
2549+
human-signals "^5.0.0"
2550+
is-stream "^3.0.0"
2551+
merge-stream "^2.0.0"
2552+
npm-run-path "^5.1.0"
2553+
onetime "^6.0.0"
2554+
signal-exit "^4.1.0"
2555+
strip-final-newline "^3.0.0"
2556+
25422557
expand-template@^2.0.3:
25432558
version "2.0.3"
25442559
resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
@@ -2881,6 +2896,11 @@ get-package-type@^0.1.0:
28812896
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
28822897
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
28832898

2899+
get-stream@^8.0.1:
2900+
version "8.0.1"
2901+
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2"
2902+
integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==
2903+
28842904
get-symbol-description@^1.0.0:
28852905
version "1.0.0"
28862906
resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
@@ -3153,6 +3173,11 @@ https-proxy-agent@^7.0.2, https-proxy-agent@^7.0.3, https-proxy-agent@^7.0.4:
31533173
agent-base "^7.0.2"
31543174
debug "4"
31553175

3176+
human-signals@^5.0.0:
3177+
version "5.0.0"
3178+
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28"
3179+
integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==
3180+
31563181
hyperdyperid@^1.2.0:
31573182
version "1.2.0"
31583183
resolved "https://registry.yarnpkg.com/hyperdyperid/-/hyperdyperid-1.2.0.tgz#59668d323ada92228d2a869d3e474d5a33b69e6b"
@@ -3477,6 +3502,11 @@ is-stream@^2.0.0:
34773502
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
34783503
integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
34793504

3505+
is-stream@^3.0.0:
3506+
version "3.0.0"
3507+
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
3508+
integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
3509+
34803510
is-string@^1.0.5, is-string@^1.0.7:
34813511
version "1.0.7"
34823512
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
@@ -3988,6 +4018,11 @@ mimic-fn@^2.1.0:
39884018
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
39894019
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
39904020

4021+
mimic-fn@^4.0.0:
4022+
version "4.0.0"
4023+
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
4024+
integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
4025+
39914026
mimic-response@^3.1.0:
39924027
version "3.1.0"
39934028
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
@@ -4130,6 +4165,13 @@ node-releases@^2.0.18:
41304165
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f"
41314166
integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==
41324167

4168+
npm-run-path@^5.1.0:
4169+
version "5.3.0"
4170+
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f"
4171+
integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==
4172+
dependencies:
4173+
path-key "^4.0.0"
4174+
41334175
nth-check@^2.0.1:
41344176
version "2.1.1"
41354177
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
@@ -4247,6 +4289,13 @@ onetime@^5.1.0:
42474289
dependencies:
42484290
mimic-fn "^2.1.0"
42494291

4292+
onetime@^6.0.0:
4293+
version "6.0.0"
4294+
resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4"
4295+
integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==
4296+
dependencies:
4297+
mimic-fn "^4.0.0"
4298+
42504299
optionator@^0.8.3:
42514300
version "0.8.3"
42524301
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
@@ -4441,6 +4490,11 @@ path-key@^3.1.0:
44414490
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
44424491
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
44434492

4493+
path-key@^4.0.0:
4494+
version "4.0.0"
4495+
resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18"
4496+
integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==
4497+
44444498
path-parse@^1.0.7:
44454499
version "1.0.7"
44464500
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
@@ -4506,6 +4560,13 @@ picomatch@^2.3.1:
45064560
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
45074561
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
45084562

4563+
pid-port@^1.0.2:
4564+
version "1.0.2"
4565+
resolved "https://registry.yarnpkg.com/pid-port/-/pid-port-1.0.2.tgz#23e4dd2780b122edba3c8ff97473472225a105e5"
4566+
integrity sha512-Khqp07zX8IJpmIg56bHrLxS3M0iSL4cq6wnMq8YE7r/hSw3Kn4QxYS6QJg8Bs22Z7CSVj7eSsxFuigYVIFWmjg==
4567+
dependencies:
4568+
execa "^8.0.1"
4569+
45094570
pkg-dir@^4.1.0, pkg-dir@^4.2.0:
45104571
version "4.2.0"
45114572
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
@@ -5612,7 +5673,7 @@ signal-exit@^3.0.2:
56125673
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
56135674
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
56145675

5615-
signal-exit@^4.0.1:
5676+
signal-exit@^4.0.1, signal-exit@^4.1.0:
56165677
version "4.1.0"
56175678
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
56185679
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
@@ -5912,6 +5973,11 @@ strip-bom@^4.0.0:
59125973
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
59135974
integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
59145975

5976+
strip-final-newline@^3.0.0:
5977+
version "3.0.0"
5978+
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd"
5979+
integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==
5980+
59155981
strip-json-comments@^3.0.1, strip-json-comments@^3.1.1:
59165982
version "3.1.1"
59175983
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"

0 commit comments

Comments
 (0)