From 0f3e9bbc8c54074008c5b5e5de631c26a767a539 Mon Sep 17 00:00:00 2001 From: Andrew Casey Date: Wed, 14 Mar 2018 18:25:50 -0700 Subject: [PATCH] Delete IoSessionOptions Many of the options were unused because the values were being accessed directly from the enclosing scope. --- src/server/server.ts | 66 ++++++++++---------------------------------- 1 file changed, 14 insertions(+), 52 deletions(-) diff --git a/src/server/server.ts b/src/server/server.ts index 4c73b002c1896..cc2a0fa911752 100644 --- a/src/server/server.ts +++ b/src/server/server.ts @@ -2,29 +2,6 @@ /// namespace ts.server { - interface IoSessionOptions { - host: ServerHost; - cancellationToken: ServerCancellationToken; - canUseEvents: boolean; - /** - * If defined, specifies the socket used to send events to the client. - * Otherwise, events are sent through the host. - */ - eventPort?: number; - useSingleInferredProject: boolean; - useInferredProjectPerProjectRoot: boolean; - disableAutomaticTypingAcquisition: boolean; - globalTypingsCacheLocation: string; - logger: Logger; - typingSafeListLocation: string; - typesMapLocation: string | undefined; - npmLocation: string | undefined; - telemetryEnabled: boolean; - globalPlugins: ReadonlyArray; - pluginProbeLocations: ReadonlyArray; - allowLocalPluginLoads: boolean; - } - const childProcess: { fork(modulePath: string, args: string[], options?: { execArgv: string[], env?: MapLike }): NodeChildProcess; execFileSync(file: string, args: string[], options: { stdio: "ignore", env: MapLike }): string | Buffer; @@ -500,14 +477,16 @@ namespace ts.server { } class IOSession extends Session { - private eventPort: number; + /** + * If defined, specifies the socket used to send events to the client. + * Otherwise, events are sent through the host. + */ + private eventPort: number | undefined; private eventSocket: NodeSocket | undefined; private socketEventQueue: { body: any, eventName: string }[] | undefined; private constructed: boolean | undefined; - constructor(options: IoSessionOptions) { - const { host, eventPort, globalTypingsCacheLocation, typingSafeListLocation, typesMapLocation, npmLocation, canUseEvents } = options; - + constructor() { const event: Event | undefined = (body: object, eventName: string) => { if (this.constructed) { this.event(body, eventName); @@ -521,9 +500,11 @@ namespace ts.server { } }; + const host = sys; + const typingsInstaller = disableAutomaticTypingAcquisition ? undefined - : new NodeTypingsInstaller(telemetryEnabled, logger, host, globalTypingsCacheLocation, typingSafeListLocation, typesMapLocation, npmLocation, event); + : new NodeTypingsInstaller(telemetryEnabled, logger, host, getGlobalTypingsCacheLocation(), typingSafeListLocation, typesMapLocation, npmLocation, event); super({ host, @@ -534,11 +515,11 @@ namespace ts.server { byteLength: Buffer.byteLength, hrtime: process.hrtime, logger, - canUseEvents, + canUseEvents: eventPort !== undefined, suppressProjectEvents, - globalPlugins: options.globalPlugins, - pluginProbeLocations: options.pluginProbeLocations, - allowLocalPluginLoads: options.allowLocalPluginLoads + globalPlugins, + pluginProbeLocations, + allowLocalPluginLoads }); this.eventPort = eventPort; @@ -954,31 +935,12 @@ namespace ts.server { const suppressProjectEvents = hasArgument("--suppressProjectEvents"); const telemetryEnabled = hasArgument(Arguments.EnableTelemetry); - const options: IoSessionOptions = { - host: sys, - cancellationToken, - eventPort, - canUseEvents: true, - useSingleInferredProject, - useInferredProjectPerProjectRoot, - disableAutomaticTypingAcquisition, - globalTypingsCacheLocation: getGlobalTypingsCacheLocation(), - typingSafeListLocation, - typesMapLocation, - npmLocation, - telemetryEnabled, - logger, - globalPlugins, - pluginProbeLocations, - allowLocalPluginLoads - }; - logger.info(`Starting TS Server`); logger.info(`Version: ${version}`); logger.info(`Arguments: ${process.argv.join(" ")}`); logger.info(`Platform: ${os.platform()} NodeVersion: ${nodeVersion} CaseSensitive: ${sys.useCaseSensitiveFileNames}`); - const ioSession = new IOSession(options); + const ioSession = new IOSession(); process.on("uncaughtException", err => { ioSession.logError(err, "unknown"); });