@@ -68707,6 +68707,7 @@ var ts;
6870768707 server.ActionInvalidate = "action::invalidate";
6870868708 server.EventBeginInstallTypes = "event::beginInstallTypes";
6870968709 server.EventEndInstallTypes = "event::endInstallTypes";
68710+ server.EventInitializationFailed = "event::initializationFailed";
6871068711 var Arguments;
6871168712 (function (Arguments) {
6871268713 Arguments.GlobalCacheLocation = "--globalTypingsCacheLocation";
@@ -74259,6 +74260,13 @@ var ts;
7425974260 this.seq = 0;
7426074261 this.inGroup = false;
7426174262 this.firstInGroup = true;
74263+ if (this.logFilename) {
74264+ try {
74265+ this.fd = fs.openSync(this.logFilename, "w");
74266+ }
74267+ catch (e) {
74268+ }
74269+ }
7426274270 }
7426374271 Logger.padStringRight = function (str, padding) {
7426474272 return (str + padding).slice(0, padding.length);
@@ -74294,11 +74302,6 @@ var ts;
7429474302 };
7429574303 Logger.prototype.msg = function (s, type) {
7429674304 if (type === void 0) { type = server.Msg.Err; }
74297- if (this.fd < 0) {
74298- if (this.logFilename) {
74299- this.fd = fs.openSync(this.logFilename, "w");
74300- }
74301- }
7430274305 if (this.fd >= 0 || this.traceToConsole) {
7430374306 s = s + "\n";
7430474307 var prefix = Logger.padStringRight(type + " " + this.seq.toString(), " ");
@@ -74408,6 +74411,17 @@ var ts;
7440874411 if (this.logger.hasLevel(server.LogLevel.verbose)) {
7440974412 this.logger.info("Received response: " + JSON.stringify(response));
7441074413 }
74414+ if (response.kind === server.EventInitializationFailed) {
74415+ if (!this.eventSender) {
74416+ return;
74417+ }
74418+ var body = {
74419+ message: response.message
74420+ };
74421+ var eventName = "typesInstallerInitializationFailed";
74422+ this.eventSender.event(body, eventName);
74423+ return;
74424+ }
7441174425 if (response.kind === server.EventBeginInstallTypes) {
7441274426 if (!this.eventSender) {
7441374427 return;
@@ -74483,6 +74497,9 @@ var ts;
7448374497 return IOSession;
7448474498 }(server.Session));
7448574499 function parseLoggingEnvironmentString(logEnvStr) {
74500+ if (!logEnvStr) {
74501+ return {};
74502+ }
7448674503 var logEnv = { logToFile: true };
7448774504 var args = logEnvStr.split(" ");
7448874505 var len = args.length - 1;
@@ -74495,8 +74512,8 @@ var ts;
7449574512 logEnv.file = ts.stripQuotes(value);
7449674513 break;
7449774514 case "-level":
74498- var level = server.LogLevel[ value] ;
74499- logEnv.detailLevel = typeof level === "number" ? level : server.LogLevel.normal;
74515+ var level = getLogLevel( value) ;
74516+ logEnv.detailLevel = level !== undefined ? level : server.LogLevel.normal;
7450074517 break;
7450174518 case "-traceToConsole":
7450274519 logEnv.traceToConsole = value.toLowerCase() === "true";
@@ -74509,27 +74526,28 @@ var ts;
7450974526 }
7451074527 return logEnv;
7451174528 }
74512- function createLoggerFromEnv() {
74513- var fileName = undefined;
74514- var detailLevel = server.LogLevel.normal;
74515- var traceToConsole = false;
74516- var logEnvStr = process.env["TSS_LOG"];
74517- if (logEnvStr) {
74518- var logEnv = parseLoggingEnvironmentString(logEnvStr);
74519- if (logEnv.logToFile) {
74520- if (logEnv.file) {
74521- fileName = logEnv.file;
74529+ function getLogLevel(level) {
74530+ if (level) {
74531+ var l = level.toLowerCase();
74532+ for (var name in server.LogLevel) {
74533+ if (isNaN(+name) && l === name.toLowerCase()) {
74534+ return server.LogLevel[name];
7452274535 }
74523- else {
74524- fileName = __dirname + "/.log" + process.pid.toString();
74525- }
74526- }
74527- if (logEnv.detailLevel) {
74528- detailLevel = logEnv.detailLevel;
7452974536 }
74530- traceToConsole = logEnv.traceToConsole;
7453174537 }
74532- return new Logger(fileName, traceToConsole, detailLevel);
74538+ return undefined;
74539+ }
74540+ function createLogger() {
74541+ var cmdLineLogFileName = server.findArgument("--logFile");
74542+ var cmdLineVerbosity = getLogLevel(server.findArgument("--logVerbosity"));
74543+ var envLogOptions = parseLoggingEnvironmentString(process.env["TSS_LOG"]);
74544+ var logFileName = cmdLineLogFileName
74545+ ? ts.stripQuotes(cmdLineLogFileName)
74546+ : envLogOptions.logToFile
74547+ ? envLogOptions.file || (__dirname + "/.log" + process.pid.toString())
74548+ : undefined;
74549+ var logVerbosity = cmdLineVerbosity || envLogOptions.detailLevel;
74550+ return new Logger(logFileName, envLogOptions.traceToConsole, logVerbosity);
7453374551 }
7453474552 function createPollingWatchedFileSet(interval, chunkSize) {
7453574553 if (interval === void 0) { interval = 2500; }
@@ -74598,7 +74616,6 @@ var ts;
7459874616 };
7459974617 }
7460074618 var pollingWatchedFileSet = createPollingWatchedFileSet();
74601- var logger = createLoggerFromEnv();
7460274619 var pending = [];
7460374620 var canWrite = true;
7460474621 function writeMessage(buf) {
@@ -74637,6 +74654,7 @@ var ts;
7463774654 function isUNCPath(s) {
7463874655 return s.length > 2 && s.charCodeAt(0) === 47 && s.charCodeAt(1) === 47;
7463974656 }
74657+ var logger = createLogger();
7464074658 var sys = ts.sys;
7464174659 var useWatchGuard = process.platform === "win32" && ts.getNodeMajorVersion() >= 4;
7464274660 if (useWatchGuard) {
0 commit comments