fix(run): switch node-pty to @lydell/node-pty for the plugin's --ignore-scripts install path

node-pty ships prebuilt binaries for darwin/win32 only — on Linux it
needs a native build via its install script. The plugin's
--ignore-scripts install (scripts/plugin-bootstrap.js, deliberately
skipped to avoid requiring a build toolchain) silently left node-pty
unusable: server/lib/pty-attach.js's require() threw
"Cannot find module './prebuilds/linux-x64//pty.node'" the moment a
terminal was attached, leaving TerminalView permanently blank with no
visible error.

@lydell/node-pty is an API-compatible fork that ships each platform's
binary as a regular optionalDependency instead of a postinstall build
step, so a plain --ignore-scripts install resolves a working native
binding on Linux with no compiler needed. Verified by installing with
the exact `npm install --omit=dev --ignore-scripts` invocation the
plugin bootstrap uses and confirming require() succeeds.
This commit is contained in:
2026-08-13 08:54:42 +07:00
parent bcd1259ed2
commit 774ee48f19
3 changed files with 105 additions and 21 deletions
+1 -1
View File
@@ -89,12 +89,12 @@
"docker:down": "docker compose down"
},
"dependencies": {
"@lydell/node-pty": "^1.2.0-beta.15",
"adm-zip": "^0.5.16",
"cors": "^2.8.5",
"cross-spawn": "^7.0.6",
"express": "^4.21.2",
"multer": "^2.0.0",
"node-pty": "^1.1.0",
"redoc": "^2.5.3",
"swagger-ui-express": "^5.0.1",
"tar": "^7.4.3",