From 34eec5c21e63644de4bd2f55e3c195b02c7815d9 Mon Sep 17 00:00:00 2001 From: levivilet <72156503+levivilet@users.noreply.github.com> Date: Sun, 4 Oct 2026 20:10:07 +0000 Subject: [PATCH] fix: register container terminal cleanup across runtime boundaries --- package-lock.json | 182 ++++++++---------- .../src/devcontainerWorkerModule.ts | 2 + packages/e2e/helpers/testContainerTerminal.ts | 2 +- packages/e2e/package.json | 2 +- .../e2e/src/devcontainer.terminal-disposal.ts | 3 - packages/extension/extension.json | 7 +- packages/server/package.json | 4 +- 7 files changed, 91 insertions(+), 111 deletions(-) diff --git a/package-lock.json b/package-lock.json index 674e5b5..5aa18b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2767,9 +2767,9 @@ "license": "MIT" }, "node_modules/@lvce-editor/auth-process": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@lvce-editor/auth-process/-/auth-process-1.17.0.tgz", - "integrity": "sha512-b9PDgPqIuyEh+tq8M+MXaj7gzcpaHBr+hvl+tigdbfW3t5rmfNhGbzOI0lFBAtYUfGrHewbnlFXQY4Giq/GTJQ==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/@lvce-editor/auth-process/-/auth-process-1.18.0.tgz", + "integrity": "sha512-NYEwbqGEGK9OixnI56cB82wogSoa3mswLy6B/NzCiHe/JPo4R7td1RN1jBn/5S/ZYVfSMTeA3m2Co24rlxgaZg==", "license": "MIT", "optional": true, "bin": { @@ -2822,9 +2822,9 @@ "link": true }, "node_modules/@lvce-editor/embeds-process": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@lvce-editor/embeds-process/-/embeds-process-4.22.0.tgz", - "integrity": "sha512-O1J5R/V+CrR1CKuErP63rgoXPJfrIc4oC6O4T+mq2ZFz8PvXzsApov2YD48x4OOwZK5WUKNehLH+IIfskSarbQ==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@lvce-editor/embeds-process/-/embeds-process-4.24.0.tgz", + "integrity": "sha512-LQ7m+dl19FyJLohZkzfsAJRnq+LSgIwKiZUOlWhZDZaCriHuxbcrrtEcs9DvXsZDbGmAf5bOezPZYO00eEkX+A==", "license": "MIT", "optional": true, "bin": { @@ -2966,9 +2966,9 @@ "link": true }, "node_modules/@lvce-editor/file-system-process": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@lvce-editor/file-system-process/-/file-system-process-5.17.0.tgz", - "integrity": "sha512-bJXyvMldAZ0JiSkiCkiwutgAnm+6IPTJ+o4+l6OQ9r6idJy/w1hd+ptkD8vPfnOkaDROxVqscUz1ly7S5ctNGg==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@lvce-editor/file-system-process/-/file-system-process-5.17.1.tgz", + "integrity": "sha512-+1hXwL6hpd6cgibqa+xeqqWMqDd/WWhU86iVXwjeW+fA5KoyoR9GeMxkksbHKDXSt5UdRiTPxF23lwjLrKV6Xg==", "license": "MIT", "optional": true, "dependencies": { @@ -3035,9 +3035,9 @@ } }, "node_modules/@lvce-editor/json-rpc": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/@lvce-editor/json-rpc/-/json-rpc-8.8.2.tgz", - "integrity": "sha512-QjdgW2Fe0AtZx494b0n+TAwOGfmThjCotp0fEAr0MqgEbx+sczVeq9bOhEwyP/pDAGi/3pANSo5uk4zSHiaVsw==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@lvce-editor/json-rpc/-/json-rpc-8.9.0.tgz", + "integrity": "sha512-UJzvHNXCRslYLKtO/D2carrVsvezw82/pFeUzOCKtKk8DKRpjGguEG6oioJgd1genel9EpLgKg0qKtmdxWwj2w==", "license": "MIT" }, "node_modules/@lvce-editor/jsonc-parser": { @@ -3345,9 +3345,9 @@ } }, "node_modules/@lvce-editor/process-explorer": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/@lvce-editor/process-explorer/-/process-explorer-3.27.1.tgz", - "integrity": "sha512-7ocXU2H4+w6+l4l7GTSmlnB4tksWel1ueyy42H7z2L2oLE/y6he3uUz0BrsEWu9o/G0PfB8t3G4iv+vqPnZZng==", + "version": "3.32.1", + "resolved": "https://registry.npmjs.org/@lvce-editor/process-explorer/-/process-explorer-3.32.1.tgz", + "integrity": "sha512-0bt69T5CFbQqhNtK4WVLzvBkVm9QKymGXoqtONdh0z2heg1wiXBg3eyp8bIl2QYdSPVzbKqvLwp/8Ewf8eqsZw==", "license": "MIT", "bin": { "process-explorer": "bin/processExplorer.js" @@ -3360,13 +3360,15 @@ } }, "node_modules/@lvce-editor/pty-host": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/@lvce-editor/pty-host/-/pty-host-8.8.1.tgz", - "integrity": "sha512-0DyRst4YUSvxLeUbvqq6qG1UNCLKu/543SxNkRgSnc2UlNsuC0JhESflGkf8ovLOSaWhGQy5im81HiwnMOnwPw==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/@lvce-editor/pty-host/-/pty-host-8.11.2.tgz", + "integrity": "sha512-xmmDzoasjGDGLtRuj35yR0d8Ru05VxwFimFaZFKfxgC3LvnJ06bBohaBf8uQ1ZgvckX1BmzACIt4+VNeHZxbpg==", "license": "MIT", "optional": true, "dependencies": { - "@lvce-editor/command": "^2.0.0" + "@lvce-editor/command": "^2.0.0", + "@xterm/addon-serialize": "^0.14.0", + "@xterm/headless": "^6.0.0" }, "bin": { "pty-host": "bin/ptyHost.js" @@ -3402,10 +3404,9 @@ } }, "node_modules/@lvce-editor/rpc-registry": { - "version": "9.65.1", - "resolved": "https://registry.npmjs.org/@lvce-editor/rpc-registry/-/rpc-registry-9.65.1.tgz", - "integrity": "sha512-ahlKLGPXHWH2DUbgJdQfv0KFeTNKynW+aJ8i9CDXg1i2/E6A2kxCWwoYl/E6eBmGIt4usIv68lkOYWVCufGAfg==", - "dev": true, + "version": "9.66.0", + "resolved": "https://registry.npmjs.org/@lvce-editor/rpc-registry/-/rpc-registry-9.66.0.tgz", + "integrity": "sha512-aBPAf2SrU0SOO4KWzlyHVDE5Wq0eqlCdXNqnZeJTFUZgot+mtJcgEeCpHJSA5E/kLSu9JXfnXnafTE7S8QQnyg==", "license": "MIT", "dependencies": { "@lvce-editor/assert": "^1.5.1", @@ -3414,9 +3415,9 @@ } }, "node_modules/@lvce-editor/search-process": { - "version": "15.9.0", - "resolved": "https://registry.npmjs.org/@lvce-editor/search-process/-/search-process-15.9.0.tgz", - "integrity": "sha512-etZRgVqqzBnKRg8i5o10lAr1s+ts80ZD2LEspYTttCWb09tKgYlMPiXKPT4Xf1BMUs6y/1m4+uliKZw5o6oNjQ==", + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/@lvce-editor/search-process/-/search-process-15.11.0.tgz", + "integrity": "sha512-ZA41goSDT7r7sl2RK+t6VJmk3L141PbFo3d97IjP2hROJ3Y0ICt8kokL0xqD/v1ajWDxbLb4ID5QiMkcrNRFZA==", "license": "MIT", "optional": true, "dependencies": { @@ -3434,14 +3435,14 @@ } }, "node_modules/@lvce-editor/server": { - "version": "0.115.5", - "resolved": "https://registry.npmjs.org/@lvce-editor/server/-/server-0.115.5.tgz", - "integrity": "sha512-UlwB3r+XM1oWvKQZRJay8AMmvOthNV5g89GJloSadk4eBkbdPF3+RXROvYirqWWYaWdmWPYkIKxT+ukfo6bECg==", + "version": "0.120.5", + "resolved": "https://registry.npmjs.org/@lvce-editor/server/-/server-0.120.5.tgz", + "integrity": "sha512-KEr5qJXywqtVuFLZDs4AptX+olEkLnW/9tppdeVwwcQHeITD6qmiSZQzFJI6R1uxXVidEayqfwYOizBjpSui/Q==", "license": "MIT", "dependencies": { "@lvce-editor/jsonc-parser": "^1.5.2", - "@lvce-editor/shared-process": "0.115.5", - "@lvce-editor/static-server": "0.115.5" + "@lvce-editor/shared-process": "0.120.5", + "@lvce-editor/static-server": "0.120.5" }, "bin": { "server": "bin/server.js" @@ -3451,19 +3452,19 @@ } }, "node_modules/@lvce-editor/shared-process": { - "version": "0.115.5", - "resolved": "https://registry.npmjs.org/@lvce-editor/shared-process/-/shared-process-0.115.5.tgz", - "integrity": "sha512-7eVuP+QqkOJ0theYS4C5OEZiVKwbzqwc/NkP3LOS8UovvJmHjQInzxj10L4msiISA+8yFM/zcpB9K1eQ7Cexzw==", + "version": "0.120.5", + "resolved": "https://registry.npmjs.org/@lvce-editor/shared-process/-/shared-process-0.120.5.tgz", + "integrity": "sha512-qBarYxx0bbxOLr/S5gz9MF7nWLObjgf4BKtevDokZXzDZ8UZcaW2vo4YkcMsCLb0UZGNRAPU1wOfNuApQMkBDg==", "license": "MIT", "dependencies": { "@lvce-editor/assert": "1.9.0", "@lvce-editor/file-watcher-explorer": "0.1.1", - "@lvce-editor/ipc": "16.12.1", - "@lvce-editor/json-rpc": "8.8.0", + "@lvce-editor/ipc": "16.12.2", + "@lvce-editor/json-rpc": "8.9.0", "@lvce-editor/jsonc-parser": "1.5.2", - "@lvce-editor/pretty-error": "2.0.0", - "@lvce-editor/process-explorer": "3.27.1", - "@lvce-editor/rpc-registry": "9.64.0", + "@lvce-editor/pretty-error": "2.0.2", + "@lvce-editor/process-explorer": "3.32.1", + "@lvce-editor/rpc-registry": "9.66.0", "@lvce-editor/verror": "1.7.0", "is-object": "^1.0.2", "xdg-basedir": "^5.1.0" @@ -3472,69 +3473,27 @@ "node": ">=24" }, "optionalDependencies": { - "@lvce-editor/auth-process": "1.17.0", + "@lvce-editor/auth-process": "1.18.0", "@lvce-editor/cookie-import-view": "0.3.2", - "@lvce-editor/embeds-process": "4.22.0", - "@lvce-editor/file-system-process": "5.17.0", + "@lvce-editor/embeds-process": "4.24.0", + "@lvce-editor/file-system-process": "5.17.1", "@lvce-editor/file-watcher-process": "4.14.0", "@lvce-editor/network-process": "5.2.0", "@lvce-editor/preload": "1.5.1", "@lvce-editor/preview-process": "11.0.0", - "@lvce-editor/pty-host": "8.8.1", - "@lvce-editor/search-process": "15.9.0", - "@lvce-editor/typescript-compile-process": "5.10.1", - "open": "^11.0.2", + "@lvce-editor/pty-host": "8.11.2", + "@lvce-editor/search-process": "15.11.0", + "@lvce-editor/typescript-compile-process": "5.10.2", + "open": "^11.0.4", "tail": "^2.2.6", "tmp-promise": "^3.0.3", "trash": "^10.1.1" } }, - "node_modules/@lvce-editor/shared-process/node_modules/@lvce-editor/ipc": { - "version": "16.12.1", - "resolved": "https://registry.npmjs.org/@lvce-editor/ipc/-/ipc-16.12.1.tgz", - "integrity": "sha512-+9PXjTxYYavc91xTCfdmmFme/lzBrz8DLmqg6NFWaXjA+YHbkjsCeNFQ0S2f8Q97aTW6/IziM/+BO9vbA8qqTQ==", - "license": "MIT", - "dependencies": { - "@lvce-editor/assert": "^1.5.1", - "@lvce-editor/verror": "^1.7.0", - "@lvce-editor/web-socket-server": "^2.1.0", - "ws": "^8.21.1" - }, - "engines": { - "node": ">=22" - } - }, - "node_modules/@lvce-editor/shared-process/node_modules/@lvce-editor/json-rpc": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@lvce-editor/json-rpc/-/json-rpc-8.8.0.tgz", - "integrity": "sha512-4HHa33DAwuqsSW66ud9K4hbdlgm3gyQxiuoiwZInTn/M9ctwN7q3aIvyYH+bdNbpgjnmvJ0KnmI8sS+IfzqlEQ==", - "license": "MIT" - }, - "node_modules/@lvce-editor/shared-process/node_modules/@lvce-editor/pretty-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@lvce-editor/pretty-error/-/pretty-error-2.0.0.tgz", - "integrity": "sha512-esSIqbtOxI/KKIdLI30/cLg5Wq3u3QUnw3ShB5RcocMYzzAdBZrbfwPSVDpd+W+INu9CV+qpNF/bGLPllcrcpw==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "lines-and-columns": "^2.0.4" - } - }, - "node_modules/@lvce-editor/shared-process/node_modules/@lvce-editor/rpc-registry": { - "version": "9.64.0", - "resolved": "https://registry.npmjs.org/@lvce-editor/rpc-registry/-/rpc-registry-9.64.0.tgz", - "integrity": "sha512-NpC+3Et883dzjmXpyK3Vhbuy+4ySReOW0LXrIQ26aCQWBp5icVHctxtBfhBdSfE7C7t/CBbpQXBu6nPZXWqknw==", - "license": "MIT", - "dependencies": { - "@lvce-editor/assert": "^1.5.1", - "@lvce-editor/constants": "^5.30.0", - "@lvce-editor/rpc": "^6.4.0" - } - }, "node_modules/@lvce-editor/static-server": { - "version": "0.115.5", - "resolved": "https://registry.npmjs.org/@lvce-editor/static-server/-/static-server-0.115.5.tgz", - "integrity": "sha512-jw2r1tKLlU9olJUNalTeyVsU6OgNObWT+1aW5WeQ8XAHBnnemzmE+FMLCyLpz8eCWTtV8glGddPHKBSkx03TlA==", + "version": "0.120.5", + "resolved": "https://registry.npmjs.org/@lvce-editor/static-server/-/static-server-0.120.5.tgz", + "integrity": "sha512-9JqZPCFaAZFEpYMiF4l/9588btfhissgUhV+BHNth6TfPIDiWH7n2j/t9MGoBqtmqxfTDXenB1fvoaqqHWxDbw==", "license": "MIT", "engines": { "node": ">=24" @@ -3586,9 +3545,9 @@ "license": "MIT" }, "node_modules/@lvce-editor/typescript-compile-process": { - "version": "5.10.1", - "resolved": "https://registry.npmjs.org/@lvce-editor/typescript-compile-process/-/typescript-compile-process-5.10.1.tgz", - "integrity": "sha512-Drqz1w+Z4Pyp6BYC2hNGiMJExtGxy8VlwoO5C1PbWTumrvvnBK/9dTricH2llXlQl8VXGGAXXw1p2GxrUCxtRw==", + "version": "5.10.2", + "resolved": "https://registry.npmjs.org/@lvce-editor/typescript-compile-process/-/typescript-compile-process-5.10.2.tgz", + "integrity": "sha512-9EDx3cPprPgMKvlpg9Mgkhi/BHM45WLSw7Zm+B6qJMYFJeY4HSLQs39txM0n1YQ0mFqRdiAOXmboMyY7SqxVcw==", "license": "MIT", "optional": true, "bin": { @@ -6820,6 +6779,23 @@ "node-addon-api": "7.1.0" } }, + "node_modules/@xterm/addon-serialize": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0.tgz", + "integrity": "sha512-uteyTU1EkrQa2Ux6P/uFl2fzmXI46jy5uoQMKEOM0fKTyiW7cSn0WrFenHm5vO5uEXX/GpwW/FgILvv3r0WbkA==", + "license": "MIT", + "optional": true + }, + "node_modules/@xterm/headless": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@xterm/headless/-/headless-6.0.0.tgz", + "integrity": "sha512-5Yj1QINYCyzrZtf8OFIHi47iQtI+0qYFPHmouEfG8dHNxbZ9Tb9YGSuLcsEwj9Z+OL75GJqPyJbyoFer80a2Hw==", + "license": "MIT", + "optional": true, + "workspaces": [ + "addons/*" + ] + }, "node_modules/@xterm/xterm": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.5.0.tgz", @@ -9448,9 +9424,9 @@ } }, "node_modules/globby/node_modules/ignore": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.11.tgz", - "integrity": "sha512-YChdK5txDjwGUvgR7oCJcLGkwi3LDh8Zx8tS7ndYciLEg/oOCL26VUBSUEtgS7EjiybcBqFxh5j0rAdDX7/bbg==", + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.12.tgz", + "integrity": "sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==", "license": "MIT", "optional": true, "engines": { @@ -9584,9 +9560,9 @@ "license": "MIT" }, "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.3.0.tgz", + "integrity": "sha512-M5t5LlJpS1UHMjvwRQVdFHvPISGeLAxNcrWuJkeGh0KxsqCHZ1O3NXZU/8x7cD0BDcGW8kapxMKTvwlqrNkHkA==", "license": "BSD-2-Clause", "optional": true }, @@ -14984,7 +14960,7 @@ "version": "0.0.0-dev", "license": "MIT", "devDependencies": { - "@lvce-editor/static-server": "0.115.5", + "@lvce-editor/static-server": "0.120.5", "@lvce-editor/test-with-playwright": "22.36.3", "@lvce-editor/test-worker": "17.21.0", "@playwright/test": "1.63.0" @@ -15023,8 +14999,8 @@ "hasInstallScript": true, "license": "MIT", "dependencies": { - "@lvce-editor/server": "0.115.5", - "@lvce-editor/static-server": "0.115.5", + "@lvce-editor/server": "0.120.5", + "@lvce-editor/static-server": "0.120.5", "@lvce-editor/test-worker": "17.21.0" } } diff --git a/packages/devcontainer-worker/src/devcontainerWorkerModule.ts b/packages/devcontainer-worker/src/devcontainerWorkerModule.ts index d95c12b..6c05780 100644 --- a/packages/devcontainer-worker/src/devcontainerWorkerModule.ts +++ b/packages/devcontainer-worker/src/devcontainerWorkerModule.ts @@ -1,6 +1,7 @@ import * as DevContainerCli from '@lvce-editor/devcontainer-node/devcontainer-cli' import * as ContainerFileSystem from './parts/ContainerFileSystem/ContainerFileSystem.ts' import * as ContainerTerminal from './parts/ContainerTerminal/ContainerTerminal.ts' +import * as ContainerTerminalSession from './parts/ContainerTerminalSession/ContainerTerminalSession.ts' import * as DevContainer from './parts/DevContainer/DevContainer.ts' import * as DevContainerCommandType from './parts/DevContainerCommandType/DevContainerCommandType.ts' import * as DevContainerNodeClient from './parts/DevContainerNodeClient/DevContainerNodeClient.ts' @@ -76,6 +77,7 @@ const getTerminalSpawnOptions = ( } export const commandMap = { + 'DevContainer.disposeTerminal': ContainerTerminalSession.dispose, 'DevContainer.getDockerInstallCommand': () => GetDockerInstallCommand.getDockerInstallCommand(process.platform), 'DevContainer.getProgress': Progress.getProgress, diff --git a/packages/e2e/helpers/testContainerTerminal.ts b/packages/e2e/helpers/testContainerTerminal.ts index 3dbaf75..325fe16 100644 --- a/packages/e2e/helpers/testContainerTerminal.ts +++ b/packages/e2e/helpers/testContainerTerminal.ts @@ -89,7 +89,7 @@ export const testContainerTerminal = async ( 'sh', [ '-c', - 'pid=$(cat "/container-workspace/sub folder/terminal-shell-pid"); state=$(awk \'{print $3}\' "/proc/$pid/stat" 2>/dev/null || true); if [ -z "$state" ] || [ "$state" = Z ]; then printf disposed; else printf alive; fi', + 'pid=$(cat "/container-workspace/sub folder/terminal-shell-pid"); for attempt in $(seq 1 50); do state=$(awk \'{print $3}\' "/proc/$pid/stat" 2>/dev/null || true); if [ -z "$state" ] || [ "$state" = Z ]; then printf disposed; exit; fi; sleep 0.1; done; printf alive', ], 'disposed', ) diff --git a/packages/e2e/package.json b/packages/e2e/package.json index d43d519..c6cf52f 100644 --- a/packages/e2e/package.json +++ b/packages/e2e/package.json @@ -12,7 +12,7 @@ "type-check": "tsc" }, "devDependencies": { - "@lvce-editor/static-server": "0.115.5", + "@lvce-editor/static-server": "0.120.5", "@lvce-editor/test-with-playwright": "22.36.3", "@lvce-editor/test-worker": "17.21.0", "@playwright/test": "1.63.0" diff --git a/packages/e2e/src/devcontainer.terminal-disposal.ts b/packages/e2e/src/devcontainer.terminal-disposal.ts index b8d41f2..0bdfa08 100644 --- a/packages/e2e/src/devcontainer.terminal-disposal.ts +++ b/packages/e2e/src/devcontainer.terminal-disposal.ts @@ -1,9 +1,6 @@ import type { Test } from '@lvce-editor/test-worker' import { testContainerTerminal } from '../helpers/testContainerTerminal.ts' -// Requires the renderer's disposeCommand support in the published server. -export const skip = 1 - export const test: Test = async (context) => { await testContainerTerminal( context, diff --git a/packages/extension/extension.json b/packages/extension/extension.json index 6a23060..1319fdf 100644 --- a/packages/extension/extension.json +++ b/packages/extension/extension.json @@ -29,7 +29,8 @@ "onCommand:devcontainer.showLogs", "onFileSystem:devcontainer-logs", "onCommand:devcontainer.installDocker", - "onCommand:devcontainer.getTerminalSpawnOptions" + "onCommand:devcontainer.getTerminalSpawnOptions", + "onCommand:devcontainer.disposeTerminal" ], "commands": [ { @@ -71,6 +72,10 @@ { "id": "devcontainer.getTerminalSpawnOptions", "internal": true + }, + { + "id": "devcontainer.disposeTerminal", + "internal": true } ], "fileSystemProviders": [ diff --git a/packages/server/package.json b/packages/server/package.json index 6b9ee01..58caaea 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -11,8 +11,8 @@ "author": "", "license": "MIT", "dependencies": { - "@lvce-editor/server": "0.115.5", - "@lvce-editor/static-server": "0.115.5", + "@lvce-editor/server": "0.120.5", + "@lvce-editor/static-server": "0.120.5", "@lvce-editor/test-worker": "17.21.0" } }