Skip to content

Commit 8148759

Browse files
committed
Clean up types, interfaces.
1 parent 54bde0a commit 8148759

File tree

4 files changed

+16
-31
lines changed

4 files changed

+16
-31
lines changed

src/vs/server/@types/code-server-lib/index.d.ts

+11-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,21 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { Server } from 'http';
76
import type { NativeParsedArgs } from '../../../platform/environment/common/argv';
87
import type { NLSConfiguration, InternalNLSConfiguration } from '../../../base/node/languagePacks';
8+
import type { Server as NetServer } from 'http';
99

1010
declare global {
1111
namespace CodeServerLib {
12+
13+
export interface IServerProcessMainStartupOptions {
14+
listenWhenReady?: boolean;
15+
}
16+
export interface IServerProcessMain {
17+
startup(startupOptions: IServerProcessMainStartupOptions): Promise<NetServer>;
18+
dispose(): void;
19+
}
20+
1221
export interface StartPath {
1322
url: string;
1423
workspace: boolean;
@@ -27,7 +36,7 @@ declare global {
2736
* @deprecated This primarily exists to bridge the gap between code-server and lib/vscode
2837
*/
2938

30-
export type CreateVSServer = (serverConfiguration: ServerConfiguration) => Promise<Server>;
39+
export type CreateVSServer = (serverConfiguration: ServerConfiguration) => Promise<IServerProcessMain>;
3140

3241

3342
/**

src/vs/server/entry.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,5 @@ export const main = async () => {
4848
* It should eventually be phased out and folded into VS Code's existing CLI flow.
4949
*/
5050
export const createVSServer: CodeServerLib.CreateVSServer = async serverConfig => {
51-
const codeServer = new ServerProcessMain(serverConfig);
52-
53-
return codeServer.startup({ listenWhenReady: false });
51+
return new ServerProcessMain(serverConfig);
5452
};

src/vs/server/main.ts

+4-11
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,6 @@ import { REMOTE_FILE_SYSTEM_CHANNEL_NAME } from 'vs/workbench/services/remote/co
8989
import { IUriIdentityService } from 'vs/workbench/services/uriIdentity/common/uriIdentity';
9090
import { UriIdentityService } from 'vs/workbench/services/uriIdentity/common/uriIdentityService';
9191

92-
interface IServerProcessMainStartupOptions {
93-
listenWhenReady?: boolean;
94-
}
95-
96-
interface IServerProcessMain {
97-
startup(startupOptions: IServerProcessMainStartupOptions): Promise<NetServer>;
98-
}
99-
10092
interface ServicesResult {
10193
instantiationService: IInstantiationService;
10294
logService: ILogService;
@@ -106,7 +98,7 @@ interface ServicesResult {
10698
/**
10799
* Handles client connections to a editor instance via IPC.
108100
*/
109-
export class ServerProcessMain extends Disposable implements IServerProcessMain {
101+
export class ServerProcessMain extends Disposable implements CodeServerLib.IServerProcessMain {
110102
private logPrefix = '[Code Server]';
111103
netServer = createNetServer();
112104

@@ -122,9 +114,10 @@ export class ServerProcessMain extends Disposable implements IServerProcessMain
122114

123115
private registerListeners(): void {
124116
process.once('exit', () => this.dispose());
117+
process.once('disconnect', () => this.dispose());
125118
}
126119

127-
public async startup(startupOptions: IServerProcessMainStartupOptions = { listenWhenReady: true }): Promise<NetServer> {
120+
public async startup(startupOptions: CodeServerLib.IServerProcessMainStartupOptions = { listenWhenReady: true }): Promise<NetServer> {
128121
// Services
129122
const {
130123
instantiationService,
@@ -160,7 +153,7 @@ export class ServerProcessMain extends Disposable implements IServerProcessMain
160153
// References:
161154
// ../../electron-browser/sharedProcess/sharedProcessMain.ts#L148
162155
// ../../../code/electron-main/app.ts
163-
public async createServices(startupOptions: IServerProcessMainStartupOptions): Promise<ServicesResult> {
156+
public async createServices(startupOptions: CodeServerLib.IServerProcessMainStartupOptions): Promise<ServicesResult> {
164157
const services = new ServiceCollection();
165158

166159
// Product

src/vs/server/services/net/common/http.ts

-15
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,6 @@ import { UriComponents } from 'vs/base/common/uri';
1212
import { ParsedRequest } from 'vs/server/services/net/abstractIncomingRequestService';
1313
import * as Handlebars from 'handlebars';
1414
import { IWorkbenchConfigurationSerialized } from 'vs/platform/workspaces/common/workbench';
15-
import { dirname } from 'vs/base/common/path';
16-
import { FileAccess } from 'vs/base/common/network';
17-
18-
19-
// TODO: Infer from environment service.
20-
export const APP_ROOT = dirname(FileAccess.asFileUri('', require).fsPath);
21-
export const WORKBENCH_PATH = path.join(APP_ROOT, 'vs', 'code', 'browser', 'workbench');
22-
export const SERVICE_WORKER_FILE_NAME = 'service-worker.js';
23-
24-
export const AssetPaths = {
25-
StaticBase: '/static',
26-
ProxyUri: '/proxy/{port}',
27-
Webview: path.join(APP_ROOT, 'vs', 'workbench', 'contrib', 'webview', 'browser', 'pre'),
28-
ServiceWorker: path.join(APP_ROOT, 'vs', 'code', 'browser', 'workbench', SERVICE_WORKER_FILE_NAME),
29-
};
3015

3116
/** Matching the given keys in `PollingURLCallbackProvider.QUERY_KEYS` */
3217
export const wellKnownKeys = [

0 commit comments

Comments
 (0)