diff --git a/src/server/server.ts b/src/server/server.ts index c1f7b86680383..dcf1e99936de9 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; @@ -505,9 +482,7 @@ namespace ts.server { 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 +496,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,10 +511,10 @@ namespace ts.server { byteLength: Buffer.byteLength, hrtime: process.hrtime, logger, - canUseEvents, - globalPlugins: options.globalPlugins, - pluginProbeLocations: options.pluginProbeLocations, - allowLocalPluginLoads: options.allowLocalPluginLoads + canUseEvents: eventPort !== undefined, + globalPlugins, + pluginProbeLocations, + allowLocalPluginLoads, }); this.eventPort = eventPort; @@ -952,31 +929,12 @@ namespace ts.server { const disableAutomaticTypingAcquisition = hasArgument("--disableAutomaticTypingAcquisition"); 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"); });