cli: implement 'server of server' for a local web server (#191014)

Closes https://github.com/microsoft/vscode/issues/168492

This implements @aeschli's 'server server' concept in a new
`code serve-web` command.

Command line args are similar to the standalone web server. The first
time a user hits that page, the latest version of the VS Code web server
will be downloaded and run. Thanks to Martin's previous PRs, all
resources the page requests are prefixed with `/<quality-<commit>`.

The latest release version is cached, but when the page is loaded again
and there's a new release, a the new server version will be downloaded
and started up.

Behind the scenes the servers all listen on named pipes/sockets and the
CLI acts as a proxy server to those sockets. Servers without connections
for an hour will be shut down automatically.
This commit is contained in:
Connor Peet
2023-08-22 17:29:51 -07:00
committed by GitHub
parent f7ceb0697b
commit 1fe8359ed0
17 changed files with 753 additions and 89 deletions

View File

@@ -6,7 +6,7 @@
// Placeholders with the same ids are connected.
// Example:
"MSFT Copyright Header": {
"scope": "javascript,typescript,css",
"scope": "javascript,typescript,css,rust",
"prefix": [
"header",
"stub",