Skip to content

Commit d89553f

Browse files
committed
Update LKG
1 parent 7ea8d9f commit d89553f

File tree

6 files changed

+88
-32
lines changed

6 files changed

+88
-32
lines changed

lib/cancellationToken.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ function createCancellationToken(args) {
4949
return {
5050
isCancellationRequested: function () { return perRequestPipeName_1 !== undefined && pipeExists(perRequestPipeName_1); },
5151
setRequest: function (requestId) {
52-
currentRequestId_1 = currentRequestId_1;
52+
currentRequestId_1 = requestId;
5353
perRequestPipeName_1 = namePrefix_1 + requestId;
5454
},
5555
resetRequest: function (requestId) {

lib/protocol.d.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1666,6 +1666,14 @@ declare namespace ts.server.protocol {
16661666
telemetryEventName: string;
16671667
payload: any;
16681668
}
1669+
type TypesInstallerInitializationFailedEventName = "typesInstallerInitializationFailed";
1670+
interface TypesInstallerInitializationFailedEvent extends Event {
1671+
event: TypesInstallerInitializationFailedEventName;
1672+
body: TypesInstallerInitializationFailedEventBody;
1673+
}
1674+
interface TypesInstallerInitializationFailedEventBody {
1675+
message: string;
1676+
}
16691677
type TypingsInstalledTelemetryEventName = "typingsInstalled";
16701678
interface TypingsInstalledTelemetryEventBody extends TelemetryEventBody {
16711679
telemetryEventName: TypingsInstalledTelemetryEventName;

lib/tsserver.js

Lines changed: 44 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -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) {

lib/tsserverlibrary.d.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3253,8 +3253,13 @@ declare namespace ts.server {
32533253
type ActionInvalidate = "action::invalidate";
32543254
type EventBeginInstallTypes = "event::beginInstallTypes";
32553255
type EventEndInstallTypes = "event::endInstallTypes";
3256+
type EventInitializationFailed = "event::initializationFailed";
32563257
interface TypingInstallerResponse {
3257-
readonly kind: ActionSet | ActionInvalidate | EventBeginInstallTypes | EventEndInstallTypes;
3258+
readonly kind: ActionSet | ActionInvalidate | EventBeginInstallTypes | EventEndInstallTypes | EventInitializationFailed;
3259+
}
3260+
interface InitializationFailedResponse extends TypingInstallerResponse {
3261+
readonly kind: EventInitializationFailed;
3262+
readonly message: string;
32583263
}
32593264
interface ProjectResponse extends TypingInstallerResponse {
32603265
readonly projectName: string;
@@ -3288,6 +3293,7 @@ declare namespace ts.server {
32883293
const ActionInvalidate: ActionInvalidate;
32893294
const EventBeginInstallTypes: EventBeginInstallTypes;
32903295
const EventEndInstallTypes: EventEndInstallTypes;
3296+
const EventInitializationFailed: EventInitializationFailed;
32913297
namespace Arguments {
32923298
const GlobalCacheLocation = "--globalTypingsCacheLocation";
32933299
const LogFile = "--logFile";
@@ -4025,6 +4031,14 @@ declare namespace ts.server.protocol {
40254031
telemetryEventName: string;
40264032
payload: any;
40274033
}
4034+
type TypesInstallerInitializationFailedEventName = "typesInstallerInitializationFailed";
4035+
interface TypesInstallerInitializationFailedEvent extends Event {
4036+
event: TypesInstallerInitializationFailedEventName;
4037+
body: TypesInstallerInitializationFailedEventBody;
4038+
}
4039+
interface TypesInstallerInitializationFailedEventBody {
4040+
message: string;
4041+
}
40284042
type TypingsInstalledTelemetryEventName = "typingsInstalled";
40294043
interface TypingsInstalledTelemetryEventBody extends TelemetryEventBody {
40304044
telemetryEventName: TypingsInstalledTelemetryEventName;

lib/tsserverlibrary.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37492,8 +37492,8 @@ var ts;
3749237492
error(declaration, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements);
3749337493
}
3749437494
}
37495-
var exports_1 = getExportsOfModule(moduleSymbol);
37496-
exports_1 && exports_1.forEach(function (_a, id) {
37495+
var exports = getExportsOfModule(moduleSymbol);
37496+
exports && exports.forEach(function (_a, id) {
3749737497
var declarations = _a.declarations, flags = _a.flags;
3749837498
if (id === "__export") {
3749937499
return;
@@ -68013,6 +68013,7 @@ var ts;
6801368013
server.ActionInvalidate = "action::invalidate";
6801468014
server.EventBeginInstallTypes = "event::beginInstallTypes";
6801568015
server.EventEndInstallTypes = "event::endInstallTypes";
68016+
server.EventInitializationFailed = "event::initializationFailed";
6801668017
var Arguments;
6801768018
(function (Arguments) {
6801868019
Arguments.GlobalCacheLocation = "--globalTypingsCacheLocation";

lib/typingsInstaller.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6221,6 +6221,7 @@ var ts;
62216221
server.ActionInvalidate = "action::invalidate";
62226222
server.EventBeginInstallTypes = "event::beginInstallTypes";
62236223
server.EventEndInstallTypes = "event::endInstallTypes";
6224+
server.EventInitializationFailed = "event::initializationFailed";
62246225
var Arguments;
62256226
(function (Arguments) {
62266227
Arguments.GlobalCacheLocation = "--globalTypingsCacheLocation";
@@ -7381,12 +7382,18 @@ var ts;
73817382
var FileLog = (function () {
73827383
function FileLog(logFile) {
73837384
this.logFile = logFile;
7385+
this.logEnabled = true;
73847386
}
73857387
FileLog.prototype.isEnabled = function () {
7386-
return this.logFile !== undefined;
7388+
return this.logEnabled && this.logFile !== undefined;
73877389
};
73887390
FileLog.prototype.writeLine = function (text) {
7389-
fs.appendFileSync(this.logFile, text + ts.sys.newLine);
7391+
try {
7392+
fs.appendFileSync(this.logFile, text + ts.sys.newLine);
7393+
}
7394+
catch (e) {
7395+
this.logEnabled = false;
7396+
}
73907397
};
73917398
return FileLog;
73927399
}());
@@ -7440,13 +7447,21 @@ var ts;
74407447
if (_this.log.isEnabled()) {
74417448
_this.log.writeLine("Error updating " + TypesRegistryPackageName + " package: " + e.message);
74427449
}
7450+
_this.delayedInitializationError = {
7451+
kind: "event::initializationFailed",
7452+
message: e.message
7453+
};
74437454
}
74447455
_this.typesRegistry = loadTypesRegistryFile(getTypesRegistryFileLocation(globalTypingsCacheLocation), _this.installTypingHost, _this.log);
74457456
return _this;
74467457
}
74477458
NodeTypingsInstaller.prototype.listen = function () {
74487459
var _this = this;
74497460
process.on("message", function (req) {
7461+
if (_this.delayedInitializationError) {
7462+
_this.sendResponse(_this.delayedInitializationError);
7463+
_this.delayedInitializationError = undefined;
7464+
}
74507465
switch (req.kind) {
74517466
case "discover":
74527467
_this.install(req);

0 commit comments

Comments
 (0)